Merge remote-tracking branch 'origin/master' into haskell-updates

This commit is contained in:
sternenseemann 2022-03-26 09:59:28 +01:00
commit 372d0a707e
396 changed files with 3361 additions and 1935 deletions

View File

@ -22,7 +22,7 @@ jobs:
if: steps.ismerge.outputs.ismerge != 'true'
- name: Warn if the commit was a direct push
if: steps.ismerge.outputs.ismerge != 'true'
uses: peter-evans/commit-comment@v1
uses: peter-evans/commit-comment@v2
with:
body: |
@${{ github.actor }}, you pushed a commit directly to master/release branch

View File

@ -540,10 +540,11 @@ If you do need to do create this sort of patch file, one way to do so is with gi
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
- `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
- `extraPrefix`: Prefix pathnames by this string.
- `excludes`: Exclude files matching this pattern.
- `includes`: Include only files matching this pattern.
- `excludes`: Exclude files matching these patterns (applies after the above arguments).
- `includes`: Include only files matching these patterns (applies after the above arguments).
- `revert`: Revert the patch.
Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.

View File

@ -122,7 +122,7 @@ Reviewing process:
- [CODEOWNERS](https://help.github.com/articles/about-codeowners/) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
- Ensure that the module tests, if any, are succeeding.
- Ensure that the introduced options are correct.
- Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated).
- Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
- Description, default and example should be provided.
- Ensure that option changes are backward compatible.
- `mkRenamedOptionModuleWith` provides a way to make option changes backward compatible.
@ -157,7 +157,7 @@ Reviewing process:
- Ensure that the module tests, if any, are succeeding.
- Ensure that the introduced options are correct.
- Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated).
- Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
- Description, default and example should be provided.
- Ensure that module `meta` field is present
- Maintainers should be declared in `meta.maintainers`.

View File

@ -609,17 +609,9 @@ rec {
throw "The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
else
let
/* Add the modules of the current option to the list of modules
already collected. The options attribute except either a list of
submodules or a submodule. For each submodule, we add the file of the
current option declaration as the file use for the submodule. If the
submodule defines any filename, then we ignore the enclosing option file. */
options' = toList opt.options.options;
getSubModules = opt.options.type.getSubModules or null;
submodules =
if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
else if opt.options ? options then map (coerceOption opt._file) options' ++ res.options
else res.options;
in opt.options // res //
{ declarations = res.declarations ++ [opt._file];
@ -802,27 +794,13 @@ rec {
compare = a: b: (a.priority or 1000) < (b.priority or 1000);
in sort compare defs';
# This calls substSubModules, whose entire purpose is only to ensure that
# option declarations in submodules have accurate position information.
# TODO: Merge this into mergeOptionDecls
fixupOptionType = loc: opt:
let
options = opt.options or
(throw "Option `${showOption loc}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
# Hack for backward compatibility: convert options of type
# optionSet to options of type submodule. FIXME: remove
# eventually.
f = tp:
if tp.name == "option set" || tp.name == "submodule" then
throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}."
else if (tp.functor.wrapped.name or null) == "optionSet" then
if tp.name == "attrsOf" then types.attrsOf (types.submodule options)
else if tp.name == "listOf" then types.listOf (types.submodule options)
else if tp.name == "nullOr" then types.nullOr (types.submodule options)
else tp
else tp;
in
if opt.type.getSubModules or null == null
then opt // { type = f (opt.type or types.unspecified); }
else opt // { type = opt.type.substSubModules opt.options; options = []; };
if opt.type.getSubModules or null == null
then opt // { type = opt.type or types.unspecified; }
else opt // { type = opt.type.substSubModules opt.options; options = []; };
/* Properties. */

View File

@ -79,8 +79,6 @@ rec {
visible ? null,
# Whether the option can be set only once
readOnly ? null,
# Deprecated, used by types.optionSet.
options ? null
} @ attrs:
attrs // { _type = "option"; };

View File

@ -749,14 +749,6 @@ rec {
nestedTypes.finalType = finalType;
};
# Obsolete alternative to configOf. It takes its option
# declarations from the options attribute of containing option
# declaration.
optionSet = mkOptionType {
name = "optionSet";
description = "option set";
deprecationMessage = "Use `types.submodule' instead";
};
# Augment the given type with an additional type check function.
addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };

View File

@ -2824,6 +2824,12 @@
githubId = 49904992;
name = "Dawid Sowa";
};
dbeckwith = {
email = "djbsnx@gmail.com";
github = "dbeckwith";
githubId = 1279939;
name = "Daniel Beckwith";
};
dbirks = {
email = "david@birks.dev";
github = "dbirks";

View File

@ -57,7 +57,7 @@ def get_date_lists(
except ValueError:
continue
if my_date is None or my_date > cutoffdate:
if my_date is None or my_date > cutoffdate or "preserve, reason:" in line.lower():
continue
if "=" not in line:

View File

@ -158,6 +158,12 @@ The following methods are available on machine objects:
e.g., `send_chars("foobar\n")` will type the string `foobar`
followed by the Enter key.
`send_console`
: Send keys to the kernel console. This allows interaction with the systemd
emergency mode, for example. Takes a string that is sent, e.g.,
`send_console("\n\nsystemctl default\n")`.
`execute`
: Execute a shell command, returning a list `(status, stdout)`.
@ -272,6 +278,13 @@ The following methods are available on machine objects:
Killing the interactive session with `Ctrl-d` or `Ctrl-c` also ends
the guest session.
`console_interact`
: Allows you to directly interact with QEMU's stdin. This should
only be used during test development, not in production tests.
Output from QEMU is only read line-wise. `Ctrl-c` kills QEMU and
`Ctrl-d` closes console and returns to the test runner.
To test user units declared by `systemd.user.services` the optional
`user` argument can be used:

View File

@ -261,6 +261,19 @@ start_all()
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>send_console</literal>
</term>
<listitem>
<para>
Send keys to the kernel console. This allows interaction
with the systemd emergency mode, for example. Takes a string
that is sent, e.g.,
<literal>send_console(&quot;\n\nsystemctl default\n&quot;)</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>execute</literal>
@ -502,6 +515,21 @@ machine.systemctl(&quot;list-jobs --no-pager&quot;, &quot;any-user&quot;) # spaw
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>console_interact</literal>
</term>
<listitem>
<para>
Allows you to directly interact with QEMUs stdin. This
should only be used during test development, not in
production tests. Output from QEMU is only read line-wise.
<literal>Ctrl-c</literal> kills QEMU and
<literal>Ctrl-d</literal> closes console and returns to the
test runner.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
To test user units declared by

View File

@ -25,6 +25,16 @@
<literal>services.nginx.virtualHosts.*.enableACME</literal>).
</para>
</listitem>
<listitem>
<para>
GNOME has been upgraded to 42. Please take a look at their
<link xlink:href="https://release.gnome.org/42/">Release
Notes</link> for details. Notably, it replaces gedit with
GNOME Text Editor, GNOME Terminal with GNOME Console (formerly
Kings Cross), and GNOME Screenshot with a tool built into the
Shell.
</para>
</listitem>
<listitem>
<para>
PHP 8.1 is now available
@ -678,6 +688,16 @@
6.x</link> and renamed to <literal>gnome-secrets</literal>.
</para>
</listitem>
<listitem>
<para>
<literal>services.gnome.experimental-features.realtime-scheduling</literal>
option has been removed, as GNOME Shell now
<link xlink:href="https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060">uses
rtkit</link>. Use
<literal>security.rtkit.enable = true;</literal> instead. As
before, you will need to have it enabled using GSettings.
</para>
</listitem>
<listitem>
<para>
If you previously used
@ -1668,6 +1688,12 @@
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
The <literal>programs.nncp</literal> options were added for
generating host-global NNCP configuration.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -11,6 +11,8 @@ In addition to numerous new and upgraded packages, this release has the followin
the option to use DNS-01 validation when using `enableACME` on
web server virtual hosts (e.g. `services.nginx.virtualHosts.*.enableACME`).
- GNOME has been upgraded to 42. Please take a look at their [Release Notes](https://release.gnome.org/42/) for details. Notably, it replaces gedit with GNOME Text Editor, GNOME Terminal with GNOME Console (formerly Kings Cross), and GNOME Screenshot with a tool built into the Shell.
- PHP 8.1 is now available
- Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).
@ -277,6 +279,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `gnome-passwordsafe` package updated to [version 6.x](https://gitlab.gnome.org/World/secrets/-/tags/6.0) and renamed to `gnome-secrets`.
- `services.gnome.experimental-features.realtime-scheduling` option has been removed, as GNOME Shell now [uses rtkit](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060). Use `security.rtkit.enable = true;` instead. As before, you will need to have it enabled using GSettings.
- If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`.
- Ntopng (`services.ntopng`) is updated to 5.2.1 and uses a separate Redis instance if `system.stateVersion` is at least `22.05`. Existing setups shouldn't be affected.
@ -589,4 +593,6 @@ In addition to numerous new and upgraded packages, this release has the followin
- Testing has been enabled for `aarch64-linux` in addition to `x86_64-linux`.
- The `spark3` package is now usable on `aarch64-darwin` as a result of [#158613](https://github.com/NixOS/nixpkgs/pull/158613) and [#158992](https://github.com/NixOS/nixpkgs/pull/158992).
- The `programs.nncp` options were added for generating host-global NNCP configuration.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View File

@ -23,8 +23,9 @@ in rec {
inherit (unit) text;
}
''
mkdir -p $out
echo -n "$text" > $out/${shellEscape name}
name=${shellEscape name}
mkdir -p "$out/$(dirname "$name")"
echo -n "$text" > "$out/$name"
''
else
pkgs.runCommand "unit-${mkPathSafeName name}-disabled"
@ -32,8 +33,9 @@ in rec {
allowSubstitutes = false;
}
''
mkdir -p $out
ln -s /dev/null $out/${shellEscape name}
name=${shellEscape name}
mkdir -p "$out/$(dirname "$name")"
ln -s /dev/null "$out/$name"
'';
boolValues = [true false "yes" "no"];

View File

@ -198,7 +198,7 @@ class StartCommand:
) -> subprocess.Popen:
return subprocess.Popen(
self.cmd(monitor_socket_path, shell_socket_path),
stdin=subprocess.DEVNULL,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
shell=True,
@ -558,6 +558,28 @@ class Machine:
pass_fds=[self.shell.fileno()],
)
def console_interact(self) -> None:
"""Allows you to interact with QEMU's stdin
The shell can be exited with Ctrl+D. Note that Ctrl+C is not allowed to be used.
QEMU's stdout is read line-wise.
Should only be used during test development, not in the production test."""
self.log("Terminal is ready (there is no prompt):")
assert self.process
assert self.process.stdin
while True:
try:
char = sys.stdin.buffer.read(1)
except KeyboardInterrupt:
break
if char == b"": # ctrl+d
self.log("Closing connection to the console")
break
self.send_console(char.decode())
def succeed(self, *commands: str, timeout: Optional[int] = None) -> str:
"""Execute each command and check that it succeeds."""
output = ""
@ -834,6 +856,12 @@ class Machine:
self.send_monitor_command("sendkey {}".format(key))
time.sleep(0.01)
def send_console(self, chars: str) -> None:
assert self.process
assert self.process.stdin
self.process.stdin.write(chars.encode())
self.process.stdin.flush()
def start(self) -> None:
if self.booted:
return

View File

@ -91,29 +91,9 @@ let
SERIAL 0 115200
TIMEOUT ${builtins.toString syslinuxTimeout}
UI vesamenu.c32
MENU TITLE NixOS
MENU BACKGROUND /isolinux/background.png
MENU RESOLUTION 800 600
MENU CLEAR
MENU ROWS 6
MENU CMDLINEROW -4
MENU TIMEOUTROW -3
MENU TABMSGROW -2
MENU HELPMSGROW -1
MENU HELPMSGENDROW -1
MENU MARGIN 0
# FG:AARRGGBB BG:AARRGGBB shadow
MENU COLOR BORDER 30;44 #00000000 #00000000 none
MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none
MENU COLOR TABMSG 31;40 #80000000 #00000000 none
MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none
MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none
MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none
MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none
MENU COLOR TITLE 1;36;44 #00000000 #00000000 none
MENU COLOR UNSEL 37;44 #FF000000 #00000000 none
MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std
${config.isoImage.syslinuxTheme}
DEFAULT boot
@ -601,6 +581,37 @@ in
'';
};
isoImage.syslinuxTheme = mkOption {
default = ''
MENU TITLE NixOS
MENU RESOLUTION 800 600
MENU CLEAR
MENU ROWS 6
MENU CMDLINEROW -4
MENU TIMEOUTROW -3
MENU TABMSGROW -2
MENU HELPMSGROW -1
MENU HELPMSGENDROW -1
MENU MARGIN 0
# FG:AARRGGBB BG:AARRGGBB shadow
MENU COLOR BORDER 30;44 #00000000 #00000000 none
MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none
MENU COLOR TABMSG 31;40 #80000000 #00000000 none
MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none
MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none
MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none
MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none
MENU COLOR TITLE 1;36;44 #00000000 #00000000 none
MENU COLOR UNSEL 37;44 #FF000000 #00000000 none
MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std
'';
type = types.str;
description = ''
The syslinux theme used for BIOS boot.
'';
};
isoImage.appendToMenuLabel = mkOption {
default = " Installer";
example = " Live System";

View File

@ -118,6 +118,7 @@
./misc/version.nix
./misc/wordlist.nix
./misc/nixops-autoluks.nix
./programs/_1password-gui.nix
./programs/adb.nix
./programs/appgate-sdp.nix
./programs/atop.nix
@ -184,6 +185,7 @@
./programs/nix-ld.nix
./programs/neovim.nix
./programs/nm-applet.nix
./programs/nncp.nix
./programs/npm.nix
./programs/noisetorch.nix
./programs/oblogout.nix

View File

@ -0,0 +1,69 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.programs._1password-gui;
in {
options = {
programs._1password-gui = {
enable = mkEnableOption "The 1Password Desktop application with browser integration";
groupId = mkOption {
type = types.int;
example = literalExpression "5000";
description = ''
The GroupID to assign to the onepassword group, which is needed for browser integration. The group ID must be 1000 or greater.
'';
};
polkitPolicyOwners = mkOption {
type = types.listOf types.str;
default = [];
example = literalExpression "[\"user1\" \"user2\" \"user3\"]";
description = ''
A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms. By default, no users will have such access.
'';
};
package = mkOption {
type = types.package;
default = pkgs._1password-gui;
defaultText = literalExpression "pkgs._1password-gui";
example = literalExpression "pkgs._1password-gui";
description = ''
The 1Password derivation to use. This can be used to upgrade from the stable release that we keep in nixpkgs to the betas.
'';
};
};
};
config = let
package = cfg.package.override {
polkitPolicyOwners = cfg.polkitPolicyOwners;
};
in mkIf cfg.enable {
environment.systemPackages = [ package ];
users.groups.onepassword.gid = cfg.groupId;
security.wrappers = {
"1Password-BrowserSupport" =
{ source = "${cfg.package}/share/1password/1Password-BrowserSupport";
owner = "root";
group = "onepassword";
setuid = false;
setgid = true;
};
"1Password-KeyringHelper" =
{ source = "${cfg.package}/share/1password/1Password-KeyringHelper";
owner = "root";
group = "onepassword";
setuid = true;
setgid = true;
};
};
};
}

View File

@ -0,0 +1,101 @@
{ config, lib, pkgs, ... }:
with lib;
let
nncpCfgFile = "/run/nncp.hjson";
programCfg = config.programs.nncp;
settingsFormat = pkgs.formats.json { };
jsonCfgFile = settingsFormat.generate "nncp.json" programCfg.settings;
pkg = programCfg.package;
in {
options.programs.nncp = {
enable =
mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
group = mkOption {
type = types.str;
default = "uucp";
description = ''
The group under which NNCP files shall be owned.
Any member of this group may access the secret keys
of this NNCP node.
'';
};
package = mkOption {
type = types.package;
default = pkgs.nncp;
defaultText = literalExpression "pkgs.nncp";
description = "The NNCP package to use system-wide.";
};
secrets = mkOption {
type = with types; listOf str;
example = [ "/run/keys/nncp.hjson" ];
description = ''
A list of paths to NNCP configuration files that should not be
in the Nix store. These files are layered on top of the values at
<xref linkend="opt-programs.nncp.settings"/>.
'';
};
settings = mkOption {
type = settingsFormat.type;
description = ''
NNCP configuration, see
<link xlink:href="http://www.nncpgo.org/Configuration.html"/>.
At runtime these settings will be overlayed by the contents of
<xref linkend="opt-programs.nncp.secrets"/> into the file
<literal>${nncpCfgFile}</literal>. Node keypairs go in
<literal>secrets</literal>, do not specify them in
<literal>settings</literal> as they will be leaked into
<literal>/nix/store</literal>!
'';
default = { };
};
};
config = mkIf programCfg.enable {
environment = {
systemPackages = [ pkg ];
etc."nncp.hjson".source = nncpCfgFile;
};
programs.nncp.settings = {
spool = mkDefault "/var/spool/nncp";
log = mkDefault "/var/spool/nncp/log";
};
systemd.tmpfiles.rules = [
"d ${programCfg.settings.spool} 0770 root ${programCfg.group}"
"f ${programCfg.settings.log} 0770 root ${programCfg.group}"
];
systemd.services.nncp-config = {
path = [ pkg ];
description = "Generate NNCP configuration";
wantedBy = [ "basic.target" ];
serviceConfig.Type = "oneshot";
script = ''
umask u=rw
nncpCfgDir=$(mktemp --directory nncp.XXX)
for f in ${jsonCfgFile} ${toString config.programs.nncp.secrets}; do
tmpdir=$(mktemp --directory nncp.XXX)
nncp-cfgdir -cfg $f -dump $tmpdir
find $tmpdir -size 1c -delete
cp -a $tmpdir/* $nncpCfgDir/
rm -rf $tmpdir
done
nncp-cfgdir -load $nncpCfgDir > ${nncpCfgFile}
rm -rf $nncpCfgDir
chgrp ${programCfg.group} ${nncpCfgFile}
chmod g+r ${nncpCfgFile}
'';
};
};
meta.maintainers = with lib.maintainers; [ ehmry ];
}

View File

@ -111,6 +111,13 @@ in
description = "Whether to run squid web proxy.";
};
package = mkOption {
default = pkgs.squid;
defaultText = literalExpression "pkgs.squid";
type = types.package;
description = "Squid package to use.";
};
proxyAddress = mkOption {
type = types.nullOr types.str;
default = null;
@ -157,17 +164,21 @@ in
users.groups.squid = {};
systemd.services.squid = {
description = "Squid caching web proxy";
description = "Squid caching proxy";
documentation = [ "man:squid(8)" ];
after = [ "network.target" "nss-lookup.target" ];
wantedBy = [ "multi-user.target"];
preStart = ''
mkdir -p "/var/log/squid"
chown squid:squid "/var/log/squid"
${cfg.package}/bin/squid --foreground -z -f ${squidConfig}
'';
serviceConfig = {
Type="forking";
PIDFile="/run/squid.pid";
ExecStart = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}";
ExecStart = "${cfg.package}/bin/squid --foreground -YCs -f ${squidConfig}";
ExecReload="kill -HUP $MAINPID";
KillMode="mixed";
NotifyAccess="all";
};
};

View File

@ -129,6 +129,14 @@ in
'';
};
plugins = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [];
description = ''
Keycloak plugin jar, ear files or derivations with them
'';
};
database = {
type = mkOption {
type = enum [ "mysql" "postgresql" ];
@ -787,6 +795,14 @@ in
umask u=rwx,g=,o=
install_plugin() {
if [ -d "$1" ]; then
find "$1" -type f \( -iname \*.ear -o -iname \*.jar \) -exec install -m 0500 -o keycloak -g keycloak "{}" "/run/keycloak/deployments/" \;
else
install -m 0500 -o keycloak -g keycloak "$1" "/run/keycloak/deployments/"
fi
}
install -m 0600 ${cfg.package}/standalone/configuration/*.properties /run/keycloak/configuration
install -T -m 0600 ${keycloakConfig} /run/keycloak/configuration/standalone.xml
@ -794,7 +810,9 @@ in
export JAVA_OPTS=-Djboss.server.config.user.dir=/run/keycloak/configuration
add-user-keycloak.sh -u admin -p '${cfg.initialAdminPassword}'
'' + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
''
+ lib.optionalString (cfg.plugins != []) (lib.concatStringsSep "\n" (map (pl: "install_plugin ${lib.escapeShellArg pl}") cfg.plugins)) + "\n"
+ optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
pushd /run/keycloak/ssl/
cat "$CREDENTIALS_DIRECTORY/ssl_cert" <(echo) \
"$CREDENTIALS_DIRECTORY/ssl_key" <(echo) \

View File

@ -132,6 +132,10 @@ in
[ "environment" "gnome3" "excludePackages" ]
[ "environment" "gnome" "excludePackages" ]
)
(mkRemovedOptionModule
[ "services" "gnome" "experimental-features" "realtime-scheduling" ]
"Set `security.rtkit.enable = true;` to make realtime scheduling possible. (Still needs to be enabled using GSettings.)"
)
];
options = {
@ -142,38 +146,6 @@ in
core-utilities.enable = mkEnableOption "GNOME core utilities";
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
games.enable = mkEnableOption "GNOME games";
experimental-features = {
realtime-scheduling = mkOption {
type = types.bool;
default = false;
description = ''
Makes mutter (which propagates to gnome-shell) request a low priority real-time
scheduling which is only available on the wayland session.
To enable this experimental feature it requires a restart of the compositor.
Note that enabling this option only enables the <emphasis>capability</emphasis>
for realtime-scheduling to be used. It doesn't automatically set the gsetting
so that mutter actually uses realtime-scheduling. This would require adding <literal>
rt-scheduler</literal> to <literal>/org/gnome/mutter/experimental-features</literal>
with dconf-editor. You cannot use extraGSettingsOverrides because that will only
change the default value of the setting.
Please be aware of these known issues with the feature in nixos:
<itemizedlist>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/90201">NixOS/nixpkgs#90201</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/86730">NixOS/nixpkgs#86730</link>
</para>
</listitem>
</itemizedlist>
'';
};
};
};
services.xserver.desktopManager.gnome = {
@ -480,29 +452,6 @@ in
];
})
# Enable soft realtime scheduling, only supported on wayland
(mkIf serviceCfg.experimental-features.realtime-scheduling {
security.wrappers.".gnome-shell-wrapped" = {
source = "${pkgs.gnome.gnome-shell}/bin/.gnome-shell-wrapped";
owner = "root";
group = "root";
capabilities = "cap_sys_nice=ep";
};
systemd.user.services.gnome-shell-wayland = let
gnomeShellRT = with pkgs.gnome; pkgs.runCommand "gnome-shell-rt" {} ''
mkdir -p $out/bin/
cp ${gnome-shell}/bin/gnome-shell $out/bin
sed -i "s@${gnome-shell}/bin/@${config.security.wrapperDir}/@" $out/bin/gnome-shell
'';
in {
# Note we need to clear ExecStart before overriding it
serviceConfig.ExecStart = ["" "${gnomeShellRT}/bin/gnome-shell"];
# Do not use the default environment, it provides a broken PATH
environment = mkForce {};
};
})
# Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
(mkIf serviceCfg.core-utilities.enable {
environment.systemPackages =
@ -513,18 +462,18 @@ in
cheese
eog
epiphany
gedit
pkgs.gnome-text-editor
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
pkgs.gnome-console
gnome-contacts
gnome-font-viewer
gnome-logs
gnome-maps
gnome-music
pkgs.gnome-photos
gnome-screenshot
gnome-system-monitor
gnome-weather
nautilus
@ -547,7 +496,6 @@ in
programs.file-roller.enable = notExcluded pkgs.gnome.file-roller;
programs.geary.enable = notExcluded pkgs.gnome.geary;
programs.gnome-disks.enable = notExcluded pkgs.gnome.gnome-disk-utility;
programs.gnome-terminal.enable = notExcluded pkgs.gnome.gnome-terminal;
programs.seahorse.enable = notExcluded pkgs.gnome.seahorse;
services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi;

View File

@ -220,9 +220,7 @@ in
] config.environment.pantheon.excludePackages);
programs.evince.enable = mkDefault true;
programs.evince.package = pkgs.pantheon.evince;
programs.file-roller.enable = mkDefault true;
programs.file-roller.package = pkgs.pantheon.file-roller;
# Settings from elementary-default-settings
environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
@ -304,7 +302,6 @@ in
environment.systemPackages = with pkgs.pantheon; [
contractor
file-roller-contract
gnome-bluetooth-contract
];
environment.pathsToLink = [

View File

@ -141,7 +141,7 @@ in
GDM_X_SERVER_EXTRA_ARGS = toString
(filter (arg: arg != "-terminate") cfg.xserverArgs);
# GDM is needed for gnome-login.session
XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share";
XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share:${pkgs.gnome.gnome-control-center}/share";
} // optionalAttrs (xSessionWrapper != null) {
# Make GDM use this wrapper before running the session, which runs the
# configured setupCommands. This relies on a patched GDM which supports

View File

@ -56,8 +56,6 @@ in
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ getent iptables iproute kmod nftables util-linux which ];
unitConfig = {
ConditionPathExists = "/var/lib/waydroid/lxc/waydroid";
};
@ -68,6 +66,10 @@ in
ExecStopPost = "${pkgs.waydroid}/bin/waydroid session stop";
};
};
systemd.tmpfiles.rules = [
"d /var/lib/misc 0755 root root -" # for dnsmasq.leases
];
};
}

View File

@ -519,7 +519,7 @@ in
systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
systemd-nspawn = handleTest ./systemd-nspawn.nix {};
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
systemd-unit-path = handleTest ./systemd-unit-path.nix {};
systemd-misc = handleTest ./systemd-misc.nix {};
taskserver = handleTest ./taskserver.nix {};
teeworlds = handleTest ./teeworlds.nix {};
telegraf = handleTest ./telegraf.nix {};

View File

@ -3,4 +3,10 @@
makeInstalledTest {
tested = pkgs.gjs;
withX11 = true;
testConfig = {
environment.systemPackages = [
pkgs.gjs
];
};
}

View File

@ -16,8 +16,7 @@ let
};
nodes = {
keycloak = { ... }: {
keycloak = { config, ... }: {
security.pki.certificateFiles = [
certs.ca.cert
];
@ -36,6 +35,10 @@ let
username = "bogus";
passwordFile = pkgs.writeText "dbPassword" "wzf6vOCbPp6cqTH";
};
plugins = with config.services.keycloak.package.plugins; [
keycloak-discord
keycloak-metrics-spi
];
};
environment.systemPackages = with pkgs; [
@ -102,8 +105,21 @@ let
### Realm Setup ###
# Get an admin interface access token
keycloak.succeed("""
curl -sSf -d 'client_id=admin-cli' \
-d 'username=admin' \
-d 'password=${initialAdminPassword}' \
-d 'grant_type=password' \
'${frontendUrl}/realms/master/protocol/openid-connect/token' \
| jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
""")
# Register the metrics SPI
keycloak.succeed(
"curl -sSf -d 'client_id=admin-cli' -d 'username=admin' -d 'password=${initialAdminPassword}' -d 'grant_type=password' '${frontendUrl}/realms/master/protocol/openid-connect/token' | jq -r '\"Authorization: bearer \" + .access_token' >admin_auth_header"
"${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt",
"KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' ${pkgs.keycloak}/bin/kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password '${initialAdminPassword}'",
"KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' ${pkgs.keycloak}/bin/kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'",
"curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"
)
# Publish the realm, including a test OIDC client and user

View File

@ -29,10 +29,23 @@ let
};
in
{
name = "systemd-unit-path";
name = "systemd-misc";
machine = { pkgs, lib, ... }: {
boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ];
users.users.limited = {
isNormalUser = true;
uid = 1000;
};
systemd.units."user-1000.slice.d/limits.conf" = {
text = ''
[Slice]
TasksAccounting=yes
TasksMax=100
'';
};
};
testScript = ''
@ -43,5 +56,7 @@ in
)
machine.succeed("systemctl start example.service")
machine.succeed("systemctl status example.service | grep 'Active: active'")
machine.succeed("systemctl show --property TasksMax --value user-1000.slice | grep 100")
'';
})

View File

@ -5,6 +5,7 @@
, ninja
, pkg-config
, gnome
, gnome-desktop
, glib
, gtk3
, wayland
@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gtk3
gnome.gnome-desktop
gnome-desktop
wayland
wayland-protocols
libxml2

View File

@ -3,7 +3,6 @@
}:
let
version = "1.3.3";
airwave-src = fetchFromGitHub {
@ -38,7 +37,8 @@ let
in
multiStdenv.mkDerivation {
name = "airwave-${version}";
pname = "airwave";
inherit version;
src = airwave-src;

View File

@ -1,12 +1,11 @@
{ lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }:
stdenv.mkDerivation rec {
name = packageName + "-" + version ;
packageName = "aj-snapshot" ;
pname = "aj-snapshot" ;
version = "0.9.9";
src = fetchurl {
url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
url = "mirror://sourceforge/aj-snapshot/aj-snapshot-${version}.tar.bz2";
sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
};

View File

@ -12,7 +12,7 @@
}:
stdenv.mkDerivation rec {
name = "ams";
pname = "ams";
version = "unstable-2019-04-27";
src = fetchgit {

View File

@ -2,7 +2,7 @@
pulseaudio }:
bitwig-studio1.overrideAttrs (oldAttrs: rec {
name = "bitwig-studio-${version}";
pname = "bitwig-studio";
version = "2.5";
src = fetchurl {

View File

@ -22,7 +22,7 @@
}:
stdenv.mkDerivation rec {
name = "cardinal-${version}";
pname = "cardinal";
version = "22.02";
src = fetchurl {

View File

@ -4,11 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "cmt";
pname = "cmt";
version = "1.17";
src = fetchurl {
url = "http://www.ladspa.org/download/${name}_${version}.tgz";
url = "http://www.ladspa.org/download/cmt_${version}.tgz";
sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
};

View File

@ -112,6 +112,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl2;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = [ maintainers.abbradar ];
repositories.git = "https://github.com/Alexey-Yakovenko/deadbeef";
};
}

View File

@ -4,7 +4,7 @@
stdenv.mkDerivation rec {
version = "0.95.0";
name = "jamin-${version}";
pname = "jamin";
src = fetchurl {
url = "mirror://sourceforge/jamin/jamin-${version}.tar.gz";

View File

@ -1,10 +1,13 @@
{ lib, stdenv, fetchurl, alsa-lib, libX11, libXi, libXtst, xorgproto }:
{ lib, stdenv, fetchFromGitHub, alsa-lib, libX11, libXi, libXtst, xorgproto }:
stdenv.mkDerivation rec {
name = "mid2key-r1";
pname = "mid2key";
version = "1";
src = fetchurl {
url = "http://mid2key.googlecode.com/files/${name}.tar.gz";
src = fetchFromGitHub {
owner = "dnschneid";
repo = "mid2key";
rev = "v${version}";
sha256 = "0j2vsjvdgx51nd1qmaa18mcy0yw9pwrhbv2mdwnf913bwsk4y904";
};

View File

@ -1,8 +1,7 @@
{ stdenv, fetchurl, lib, libX11, libXext, alsa-lib, freetype, brand, type, version, homepage, url, sha256, ... }:
stdenv.mkDerivation rec {
inherit type;
baseName = "${type}-Edit";
name = "${lib.toLower baseName}-${version}";
pname = "${lib.toLower type}-edit";
inherit version;
src = fetchurl {
inherit url;
@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp ${baseName} $out/bin
cp ${pname} $out/bin
'';
preFixup = let
# we prepare our library path in the let clause to avoid it become part of the input of mkDerivation
@ -30,7 +29,7 @@ stdenv.mkDerivation rec {
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
$out/bin/${baseName}
$out/bin/${pname}
'';
meta = with lib; {

View File

@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl2;
platforms = platforms.darwin;
maintainers = [];
repositories.git = "https://github.com/musescore/MuseScore";
};
}

View File

@ -51,6 +51,5 @@ mkDerivation rec {
license = licenses.gpl2;
maintainers = with maintainers; [ vandenoever turion doronbehar ];
platforms = platforms.linux;
repositories.git = "https://github.com/musescore/MuseScore";
};
}

View File

@ -10,13 +10,13 @@
}:
stdenv.mkDerivation rec {
name = "qmidiarp";
pname = "qmidiarp";
version = "0.6.5";
src = fetchgit {
url = "https://git.code.sf.net/p/qmidiarp/code";
sha256 = "1g2143gzfbihqr2zi3k2v1yn1x3mwfbb2khmcd4m4cq3hcwhhlx9";
rev = "qmidiarp-0.6.5";
rev = "qmidiarp-${version}";
};
nativeBuildInputs = [

View File

@ -58,6 +58,5 @@ mkDerivation rec {
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
repositories.svn = "https://svn.code.sf.net/p/qmmp-dev/code";
};
}

View File

@ -1,7 +1,6 @@
{ lib, stdenv, fetchFromGitHub, lv2, pkg-config, libGLU, libGL, cairo, pango, libjack2 }:
let
name = "sisco.lv2-${version}";
version = "0.7.0";
robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89";
@ -22,7 +21,8 @@ let
};
in
stdenv.mkDerivation rec {
inherit name;
pname = "sisco.lv2";
inherit version;
srcs = [ src robtkSrc ];
sourceRoot = src.name;

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "snd";
version = "22.1";
version = "22.2";
src = fetchurl {
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
sha256 = "sha256-jrH0XRvPj9ySd8FSrOKf6qP5T1YSKrYBNHl6fz5dhkI=";
sha256 = "sha256-MZ8Vm/d+0r7YsXdySKcH5rqXBh4iFLyUe44LBOD58E0=";
};
nativeBuildInputs = [ pkg-config ];

View File

@ -45,7 +45,7 @@ let runtimeDeps = []
in
mkDerivation rec {
name = "soundkonverter";
pname = "soundkonverter";
version = "3.0.1";
src = fetchFromGitHub {
owner = "dfaust";

View File

@ -0,0 +1,33 @@
{ stdenv
, lib
, fetchzip
, SDL
, pkg-config
, libSM
}:
stdenv.mkDerivation rec {
pname = "synaesthesia";
version = "2.4";
src = fetchzip {
url = "https://logarithmic.net/pfh-files/synaesthesia/synaesthesia-${version}.tar.gz";
sha256 = "0nzsdxbah0shm2vlziaaw3ilzlizd3d35rridkpg40nfxmq84qnx";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
SDL
libSM
];
meta = {
homepage = "https://logarithmic.net/pfh/synaesthesia";
description = "Program for representing sounds visually";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.infinisil ];
};
}

View File

@ -6,7 +6,7 @@
with lib;
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
pname = "bitcoin" + optionalString (!withGui) "d" + "-unlimited";
version = "1.9.2.0";
src = fetchFromGitHub {

View File

@ -6,7 +6,7 @@
with lib;
stdenv.mkDerivation rec {
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
pname = "dogecoin" + optionalString (!withGui) "d";
version = "1.14.5";
src = fetchFromGitHub {

View File

@ -11,8 +11,7 @@
with lib;
mkDerivation rec {
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
pname = "litecoin" + optionalString (!withGui) "d";
version = "0.18.1";
src = fetchFromGitHub {

View File

@ -3,8 +3,8 @@
with lib;
stdenv.mkDerivation rec {
pname = "namecoin" + optionalString (!withGui) "d";
version = "nc22.0";
name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
src = fetchFromGitHub {
owner = "namecoin";

View File

@ -38,13 +38,13 @@ let
in
stdenv.mkDerivation rec {
pname = "cudatext";
version = "1.158.2";
version = "1.159.0";
src = fetchFromGitHub {
owner = "Alexey-T";
repo = "CudaText";
rev = version;
sha256 = "sha256-YrRG+LaG39q/6Ry3cXo9XUwtvokkBl96XuQfE22QxZI=";
sha256 = "sha256-DRVJLzAdhw+ke+B2KFlkgLXgU4+Mq3LQ0PRYg52Aq/o=";
};
postPatch = ''

View File

@ -16,8 +16,8 @@
},
"ATSynEdit": {
"owner": "Alexey-T",
"rev": "2022.03.17",
"sha256": "sha256-aJZGHodydkqfe2BJLKWUzIX6vbdiGKs4z5ZqtteM6NU="
"rev": "2022.03.23",
"sha256": "sha256-D/pQ4TSWUaL97Nau3bGi7rc8MxnvuoDcD7HDNEDwmsk="
},
"ATSynEdit_Cmp": {
"owner": "Alexey-T",
@ -26,13 +26,13 @@
},
"EControl": {
"owner": "Alexey-T",
"rev": "2022.03.17",
"sha256": "sha256-sWRKRhUYf07TIrVWRqtpsYPZu0dPm0EhSIqoDLmkG0Y="
"rev": "2022.03.23",
"sha256": "sha256-QXq75VoAnYqAhe3Fvsz1szZyBz4dHEpYJZqTSCR80v8="
},
"ATSynEdit_Ex": {
"owner": "Alexey-T",
"rev": "2022.03.17",
"sha256": "sha256-FndLHJuCOyFr0IGUL4zFRjkEvTyNF3tHUO/Wx5IaV2Y="
"rev": "2022.03.23",
"sha256": "sha256-m1rkWvRC1i1nLPIhiG6g8LGU96vTuGGqLFrSzw9A9x0="
},
"Python-for-Lazarus": {
"owner": "Alexey-T",

View File

@ -18,6 +18,7 @@
, json-glib
, jsonrpc-glib
, libdazzle
, libhandy
, libpeas
, libportal-gtk3
, libxml2
@ -40,21 +41,20 @@
stdenv.mkDerivation rec {
pname = "gnome-builder";
version = "41.3";
version = "42.0";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
sha256 = "Uu/SltaLL/GCNBwEgdz9cGVMQIvbZ5/Ot225cDwiQo8=";
};
patches = [
# Fix build with latest libportal
# https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
# Fix appstream validation
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/d7151679e0c925d27216256dc32fe67fb298d059.patch";
sha256 = "vdNJawkqSBaFGRZvxzvjOryQpBL4jcN7tr1t3ihD7LA=";
})
];
@ -87,6 +87,7 @@ stdenv.mkDerivation rec {
json-glib
jsonrpc-glib
libdazzle
libhandy
libxml2
ostree
pcre
@ -103,10 +104,6 @@ stdenv.mkDerivation rec {
xvfb-run
];
prePatch = ''
patchShebangs build-aux/meson/post_install.py
'';
mesonFlags = [
"-Ddocs=true"
@ -122,6 +119,10 @@ stdenv.mkDerivation rec {
# understand why. Somebody should look into fixing this.
doCheck = true;
postPatch = ''
patchShebangs build-aux/meson/post_install.py
'';
checkPhase = ''
export NO_AT_BRIDGE=1
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \

View File

@ -5,7 +5,7 @@
}:
{ meta
, name
, pname
, product
, productShort ? product
, src
@ -17,7 +17,7 @@ let
loname = lib.toLower productShort;
in
stdenvNoCC.mkDerivation {
inherit meta src version;
inherit pname meta src version;
desktopName = product;
installPhase = ''
runHook preInstall
@ -32,6 +32,5 @@ in
runHook postInstall
'';
nativeBuildInputs = [ undmg ];
pname = lib.concatStringsSep "-" (lib.init (lib.splitString "-" name));
sourceRoot = ".";
}

View File

@ -24,9 +24,9 @@ let
# Sorted alphabetically
buildClion = { name, version, src, license, description, wmClass, ... }:
buildClion = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "CLion";
meta = with lib; {
homepage = "https://www.jetbrains.com/clion/";
@ -62,9 +62,9 @@ let
'';
});
buildDataGrip = { name, version, src, license, description, wmClass, ... }:
buildDataGrip = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "DataGrip";
meta = with lib; {
homepage = "https://www.jetbrains.com/datagrip/";
@ -78,9 +78,9 @@ let
};
});
buildGoland = { name, version, src, license, description, wmClass, ... }:
buildGoland = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "Goland";
meta = with lib; {
homepage = "https://www.jetbrains.com/go/";
@ -106,9 +106,9 @@ let
'';
});
buildIdea = { name, version, src, license, description, wmClass, product, ... }:
buildIdea = { pname, version, src, license, description, wmClass, product, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk product;
inherit pname version src wmClass jdk product;
productShort = "IDEA";
extraLdPath = [ zlib ];
extraWrapperArgs = [
@ -129,9 +129,9 @@ let
};
});
buildMps = { name, version, src, license, description, wmClass, product, ... }:
buildMps = { pname, version, src, license, description, wmClass, product, ... }:
(mkJetBrainsProduct rec {
inherit name version src wmClass jdk product;
inherit pname version src wmClass jdk product;
productShort = "MPS";
meta = with lib; {
homepage = "https://www.jetbrains.com/mps/";
@ -146,9 +146,9 @@ let
};
});
buildPhpStorm = { name, version, src, license, description, wmClass, ... }:
buildPhpStorm = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "PhpStorm";
meta = with lib; {
homepage = "https://www.jetbrains.com/phpstorm/";
@ -162,9 +162,9 @@ let
};
});
buildPycharm = { name, version, src, license, description, wmClass, product, ... }:
buildPycharm = { pname, version, src, license, description, wmClass, product, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk product;
inherit pname version src wmClass jdk product;
productShort = "PyCharm";
meta = with lib; {
homepage = "https://www.jetbrains.com/pycharm/";
@ -186,9 +186,9 @@ let
};
});
buildRider = { name, version, src, license, description, wmClass, ... }:
buildRider = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "Rider";
meta = with lib; {
homepage = "https://www.jetbrains.com/rider/";
@ -211,9 +211,9 @@ let
'');
});
buildRubyMine = { name, version, src, license, description, wmClass, ... }:
buildRubyMine = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "RubyMine";
meta = with lib; {
homepage = "https://www.jetbrains.com/ruby/";
@ -223,9 +223,9 @@ let
};
});
buildWebStorm = { name, version, src, license, description, wmClass, ... }:
buildWebStorm = { pname, version, src, license, description, wmClass, ... }:
(mkJetBrainsProduct {
inherit name version src wmClass jdk;
inherit pname version src wmClass jdk;
product = "WebStorm";
meta = with lib; {
homepage = "https://www.jetbrains.com/webstorm/";
@ -251,7 +251,7 @@ in
# Sorted alphabetically
clion = buildClion rec {
name = "clion-${version}";
pname = "clion";
version = products.clion.version;
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = lib.licenses.unfree;
@ -264,7 +264,7 @@ in
};
datagrip = buildDataGrip rec {
name = "datagrip-${version}";
pname = "datagrip";
version = products.datagrip.version;
description = "Your Swiss Army Knife for Databases and SQL";
license = lib.licenses.unfree;
@ -277,7 +277,7 @@ in
};
goland = buildGoland rec {
name = "goland-${version}";
pname = "goland";
version = products.goland.version;
description = "Up and Coming Go IDE";
license = lib.licenses.unfree;
@ -290,7 +290,7 @@ in
};
idea-community = buildIdea rec {
name = "idea-community-${version}";
pname = "idea-community";
product = "IntelliJ IDEA CE";
version = products.idea-community.version;
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
@ -304,7 +304,7 @@ in
};
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
pname = "idea-ultimate";
product = "IntelliJ IDEA";
version = products.idea-ultimate.version;
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
@ -318,7 +318,7 @@ in
};
mps = buildMps rec {
name = "mps-${version}";
pname = "mps";
product = "MPS ${products.mps.version-major-minor}";
version = products.mps.version;
description = "Create your own domain-specific language";
@ -332,7 +332,7 @@ in
};
phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}";
pname = "phpstorm";
version = products.phpstorm.version;
description = "Professional IDE for Web and PHP developers";
license = lib.licenses.unfree;
@ -345,7 +345,7 @@ in
};
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
pname = "pycharm-community";
product = "PyCharm CE";
version = products.pycharm-community.version;
description = "PyCharm Community Edition";
@ -359,7 +359,7 @@ in
};
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
pname = "pycharm-professional";
product = "PyCharm";
version = products.pycharm-professional.version;
description = "PyCharm Professional Edition";
@ -373,7 +373,7 @@ in
};
rider = buildRider rec {
name = "rider-${version}";
pname = "rider";
version = products.rider.version;
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
license = lib.licenses.unfree;
@ -386,7 +386,7 @@ in
};
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
pname = "ruby-mine";
version = products.ruby-mine.version;
description = "The Most Intelligent Ruby and Rails IDE";
license = lib.licenses.unfree;
@ -399,7 +399,7 @@ in
};
webstorm = buildWebStorm rec {
name = "webstorm-${version}";
pname = "webstorm";
version = products.webstorm.version;
description = "Professional IDE for Web and JavaScript development";
license = lib.licenses.unfree;

View File

@ -3,30 +3,29 @@
, vmopts ? null
}:
{ name, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
{ pname, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
with lib;
let loName = toLower productShort;
hiName = toUpper productShort;
mainProgram = concatStringsSep "-" (init (splitString "-" name));
vmoptsName = loName
+ lib.optionalString stdenv.hostPlatform.is64bit "64"
+ ".vmoptions";
in
with stdenv; lib.makeOverridable mkDerivation (rec {
inherit name src;
meta = args.meta // { inherit mainProgram; };
inherit pname version src;
meta = args.meta // { mainProgram = pname; };
desktopItem = makeDesktopItem {
name = mainProgram;
exec = mainProgram;
name = pname;
exec = pname;
comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
desktopName = product;
genericName = meta.description;
categories = [ "Development" ];
icon = mainProgram;
icon = pname;
startupWMClass = wmClass;
};
@ -62,16 +61,16 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
cp -a . $out/$name
ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
mv bin/fsnotifier* $out/libexec/${name}/.
mkdir -p $out/{bin,$pname,share/pixmaps,libexec/${pname}}
cp -a . $out/$pname
ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png
mv bin/fsnotifier* $out/libexec/${pname}/.
jdk=${jdk.home}
item=${desktopItem}
makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${mainProgram}" \
--prefix PATH : "$out/libexec/${name}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
makeWrapper "$out/$pname/bin/${loName}.sh" "$out/bin/${pname}" \
--prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
# Some internals want libstdc++.so.6
stdenv.cc.cc.lib libsecret e2fsprogs

View File

@ -32,7 +32,8 @@ rec {
'';
sizedLogo = size: stdenv.mkDerivation {
name = ''octave-logo-${octave.version}-${size}x${size}.png'';
pname = "octave-logo-${size}x${size}.png";
inherit (octave) version;
src = octave.src;

View File

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, callPackage }:
buildGoModule rec {
pname = "micro";
@ -24,6 +24,8 @@ buildGoModule rec {
install -Dt $out/share/applications assets/packaging/micro.desktop
'';
passthru.tests.expect = callPackage ./test-with-expect.nix {};
meta = with lib; {
homepage = "https://micro-editor.github.io";
description = "Modern and intuitive terminal-based text editor";

View File

@ -0,0 +1,30 @@
{ micro, expect, runCommand, writeScript, runtimeShell }:
let expect-script = writeScript "expect-script" ''
#!${expect}/bin/expect -f
spawn micro file.txt
expect "file.txt"
send "Hello world!"
expect "Hello world!"
# Send ctrl-q (exit)
send "\021"
expect "Save changes to file.txt before closing?"
send "y"
expect eof
''; in
runCommand "micro-test-expect"
{
nativeBuildInputs = [ micro expect ];
passthru = { inherit expect-script; };
} ''
# Micro really wants a writable $HOME for its config directory.
export HOME=$(pwd)
expect -f ${expect-script}
grep "Hello world!" file.txt
touch $out
''

View File

@ -2,7 +2,7 @@
qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml, qtquick1, libGLU }:
stdenv.mkDerivation rec {
name = "qxmledit-${version}" ;
pname = "qxmledit" ;
version = "0.9.15" ;
src = fetchFromGitHub ( lib.importJSON ./qxmledit.json ) ;
nativeBuildInputs = [ qmake ] ;

View File

@ -1,5 +1,5 @@
{ stdenv, lib, pkgArches, callPackage, makeSetupHook,
name, version, src, mingwGccs, monos, geckos, platforms,
pname, version, src, mingwGccs, monos, geckos, platforms,
bison, flex, fontforge, makeWrapper, pkg-config,
autoconf, hexdump, perl, nixosTests,
supportFlags,
@ -13,7 +13,7 @@ with import ./util.nix { inherit lib; };
let
patches' = patches;
prevName = name;
prevName = pname;
prevPlatforms = platforms;
prevConfigFlags = configureFlags;
setupHookDarwin = makeSetupHook {
@ -42,9 +42,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
'';
}) // rec {
inherit src;
inherit version src;
name = if supportFlags.waylandSupport then "${prevName}-wayland" else prevName;
pname = prevName + lib.optionalString supportFlags.waylandSupport "wayland";
# Fixes "Compiler cannot create executables" building wineWow with mingwSupport
strictDeps = true;

View File

@ -9,7 +9,7 @@ let
vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix { inherit moltenvk; };
in with src; {
wine32 = pkgsi686Linux.callPackage ./base.nix {
name = "wine-${version}";
pname = "wine";
inherit src version supportFlags patches moltenvk;
pkgArches = [ pkgsi686Linux ];
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d_i686 ];
@ -19,7 +19,7 @@ in with src; {
platforms = [ "i686-linux" "x86_64-linux" ];
};
wine64 = callPackage ./base.nix {
name = "wine64-${version}";
pname = "wine64";
inherit src version supportFlags patches moltenvk;
pkgArches = [ pkgs ];
vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d ];
@ -30,7 +30,7 @@ in with src; {
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
wineWow = callPackage ./base.nix {
name = "wine-wow-${version}";
pname = "wine-wow";
inherit src version supportFlags patches moltenvk;
stdenv = stdenv_32bit;
pkgArches = [ pkgs pkgsi686Linux ];

View File

@ -5,7 +5,7 @@
}:
stdenv.mkDerivation rec {
name = "grass";
pname = "grass";
version = "7.8.6";
src = with lib; fetchFromGitHub {

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "16.5.1";
version = "17.2.1";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
sha256 = "a8ebf2560820d2d05677b9b16fc863f555dde8235b3e34acd7916eee3544eaa9";
sha256 = "28019774a18f6e74c0d126346ae3551b5eb9c73aae13fe87f6d49120c183697a";
};
nativeBuildInputs = [

View File

@ -36,13 +36,13 @@
stdenv.mkDerivation rec {
pname = "gnome-photos";
version = "40.0";
version = "42.0";
outputs = [ "out" "installedTests" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0";
sha256 = "JcsoFCUZnex7BF8T8y+PlgNMsMuLlNlvnf+vT1vmhVE=";
};
patches = [

View File

@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "A simple and fast image viewer for X";
homepage = "http://lxde.sourceforge.net/gpicview/";
repositories.git = "git://lxde.git.sourceforge.net/gitroot/lxde/gpicview";
license = licenses.gpl2;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.unix;

View File

@ -33,11 +33,11 @@
stdenv.mkDerivation rec {
pname = "gthumb";
version = "3.12.0";
version = "3.12.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-Pe/8AwOE5ktXNhxDfHm0ga4Uie9EyHroVugbsQ2OOD8=";
sha256 = "sha256-ZDBmOgAHBpbGgeXru4AQc/1GpG1oEsKeL5pPgRr6Gfw=";
};
nativeBuildInputs = [

View File

@ -5,6 +5,7 @@
, cairo
, cmake
, fetchurl
, fetchpatch
, gettext
, ghostscript
, glib
@ -71,6 +72,13 @@ stdenv.mkDerivation rec {
# e.g., those from the "Effects" menu.
python3 = "${python3Env}/bin/python";
})
# Fix build with poppler 22.03
# https://gitlab.com/inkscape/inkscape/-/merge_requests/4187
(fetchpatch {
url = "https://gitlab.com/inkscape/inkscape/-/commit/a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75.patch";
sha256 = "UZb8ZTtfA5667uo5ZlVQ5vPowiSgd4ItAJ9U1BOsRQg=";
})
];
postPatch = ''

View File

@ -9,8 +9,8 @@
applytransforms = callPackage ./extensions/applytransforms { };
hexmap = stdenv.mkDerivation {
name = "hexmap";
version = "2020-06-06";
pname = "hexmap";
version = "unstable-2020-06-06";
src = fetchFromGitHub {
owner = "lifelike";

View File

@ -4,14 +4,12 @@
}:
stdenv.mkDerivation rec {
p_name = "mtPaint";
ver_maj = "3.50";
ver_min = "01";
name = "${p_name}-${ver_maj}.${ver_min}";
pname = "mtPaint";
version = "3.50.01";
src = fetchFromGitHub {
owner = "wjaguar";
repo = p_name;
repo = "mtPaint";
rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
};

View File

@ -66,7 +66,6 @@ mkDerivation rec {
description = "Qt-based image viewer";
maintainers = with lib.maintainers; [ mindavi ];
license = licenses.gpl3Plus;
repositories.git = "https://github.com/nomacs/nomacs.git";
inherit (qtbase.meta) platforms;
};
}

View File

@ -1,4 +1,4 @@
{ mkDerivation, lib, extra-cmake-modules
{ mkDerivation, fetchpatch, lib, extra-cmake-modules
, qtdeclarative, ki18n, kmime, kpkpass
, poppler, kcontacts, kcalendarcore
, shared-mime-info
@ -10,6 +10,15 @@ mkDerivation {
license = with lib.licenses; [ lgpl21 ];
maintainers = [ lib.maintainers.bkchr ];
};
patches = [
# Fix build with poppler 22.03
(fetchpatch {
url = "https://github.com/KDE/kitinerary/commit/e21d1ffc5fa81a636245f49c97fe7cda63abbb1d.patch";
sha256 = "1/zgq9QIOCPplqplDqgpoqzuYFf/m1Ixxawe50t2F04=";
})
];
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info # for update-mime-database

View File

@ -101,6 +101,7 @@ in stdenv.mkDerivation rec {
mkdir -p $out/share/polkit-1/actions
substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
'') + ''
# Icons
cp -a resources/icons $out/share

View File

@ -1,5 +1,7 @@
{ lib, stdenv
{ stdenv
, lib
, fetchurl
, fetchpatch
, atk
, cairo
, desktop-file-utils
@ -32,6 +34,16 @@ stdenv.mkDerivation rec {
sha256 = "lMpDQOxlGljP66APR49aPbTZnfrGakbQ2ZcFvmiPMFo=";
};
patches = [
# Fix build with meson 0.61
# data/meson.build:2:5: ERROR: Function does not take positional arguments.
# Patch taken from https://gitlab.gnome.org/GNOME/almanah/-/merge_requests/13
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/almanah/-/commit/8c42a67695621d1e30cec933a04e633e6030bbaf.patch";
sha256 = "qyqFgYSu4emFDG/Mjwz1bZb3v3/4gwQSKmGCoPPNYCQ=";
})
];
nativeBuildInputs = [
desktop-file-utils
gettext

View File

@ -16,9 +16,10 @@
, maven
, webkitgtk
, glib-networking
, javaPackages
}:
stdenv.mkDerivation rec {
javaPackages.mavenfod rec {
pname = "dbeaver";
version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
@ -29,6 +30,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
};
mvnSha256 = "7Sm1hAoi5xc4MLONOD8ySLLkpao0qmlMRRva/8zR210=";
mvnParameters = "-P desktop,all-platforms";
fetchedMavenDeps = stdenv.mkDerivation {
name = "dbeaver-${version}-maven-deps";
inherit src;
@ -37,7 +42,7 @@ stdenv.mkDerivation rec {
maven
];
buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 -P desktop,all-platforms";
buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}";
# keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
installPhase = ''
@ -88,14 +93,6 @@ stdenv.mkDerivation rec {
})
];
buildPhase = ''
runHook preBuild
mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 -P desktop,all-platforms
runHook postBuild
'';
installPhase =
let
productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub
, autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
, gnome, gnupg, gtk3, udisks
, gnome-desktop, gnupg, gtk3, udisks
}:
stdenv.mkDerivation rec {
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
autoconf autoconf-archive automake glib intltool libtool pkg-config
];
buildInputs = [ gnome.gnome-desktop gtk3 udisks ];
buildInputs = [ gnome-desktop gtk3 udisks ];
preConfigure = ''
./autogen.sh

View File

@ -7,7 +7,7 @@
let
qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome.gnome-desktop gnome.libgnome-keyring webkitgtk ];
gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome-desktop gnome.libgnome-keyring webkitgtk ];
xorgDeps = pkgs: with pkgs.xorg; [
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite

View File

@ -82,7 +82,6 @@ in stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://mupdf.com";
repositories.git = "git://git.ghostscript.com/mupdf.git";
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ vrthra fpletz ];

View File

@ -111,7 +111,6 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://mupdf.com";
repositories.git = "git://git.ghostscript.com/mupdf.git";
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ vrthra fpletz ];

View File

@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
It uses a layered approach to connect all of the parts.
'';
homepage = "https://networkupstools.org/";
repositories.git = "https://github.com/networkupstools/nut.git";
platforms = platforms.linux;
maintainers = [ maintainers.pierron ];
license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];

View File

@ -34,6 +34,47 @@ let
(mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
(mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
# black uses hash, not sha256 identifier. Newer black version requires newer click version
(
self: super: {
black = super.black.overridePythonAttrs (oldAttrs: rec {
version = "21.12b0";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
};
doCheck = false;
});
}
)
# tests need network
(
self: super: {
curio = super.curio.overridePythonAttrs (oldAttrs: rec {
disabledTests = [
"test_timeout"
"test_ssl_outgoing"
];
});
}
)
# tests need network
(
self: super: {
trio = super.trio.overridePythonAttrs (oldAttrs: rec {
disabledTests = [
"test_local_address_real"
];
disabledTestPaths = [
"trio/tests/test_exports.py"
"trio/tests/test_socket.py"
];
});
}
)
# Requires flask<2, cannot mkOverride because tests need to be disabled
(
self: super: {
@ -400,7 +441,7 @@ let
homepage = "https://octoprint.org/";
description = "The snappy web interface for your 3D printer";
license = licenses.agpl3Only;
maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
maintainers = with maintainers; [ abbradar gebner WhittlesJr gador ];
};
};
}

View File

@ -34,13 +34,13 @@
buildPythonApplication rec {
pname = "orca";
version = "41.2";
version = "42.0";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
sha256 = "LCUXmrQbJgsY8f+Jm+uv5olDi0nf/SEd78l2olCT9zo=";
};
patches = [

View File

@ -9,6 +9,7 @@
, wrapGAppsHook
, libinput
, gnome
, gnome-desktop
, glib
, gtk3
, wayland
@ -68,7 +69,7 @@ in stdenv.mkDerivation rec {
libinput
glib
gtk3
gnome.gnome-desktop
gnome-desktop
# For keybindings settings schemas
gnome.mutter
wayland

View File

@ -5,19 +5,19 @@
rustPlatform.buildRustPackage rec {
pname = "taskwarrior-tui";
version = "0.21.0";
version = "0.21.1";
src = fetchFromGitHub {
owner = "kdheepak";
repo = "taskwarrior-tui";
rev = "v${version}";
sha256 = "sha256-HHYObAeJtryZWRV3T+FXRz0TgBIfw/kVL9jwaQmZcEA=";
sha256 = "sha256-fgoK7Y+3h2VFfP8yiR8JM8Xf7UJbkX9PO1RoJRoYLW4=";
};
# Because there's a test that requires terminal access
doCheck = false;
cargoSha256 = "sha256-oRREvqQLigpfpnTJgVZjAwAvmUs9YSZm+D5xyFYvdb4=";
cargoSha256 = "sha256-3rDvla1mCcQclALbomUTvE3aLzsMeIjcIbEv4KfCKZE=";
meta = with lib; {
description = "A terminal user interface for taskwarrior ";

View File

@ -114,7 +114,7 @@ let
};
base = rec {
name = "${packageName}-unwrapped-${version}";
pname = "${packageName}-unwrapped";
inherit (upstream-info) version;
inherit packageName buildType buildPath;

View File

@ -157,8 +157,8 @@ let
else browser;
in stdenv.mkDerivation {
name = lib.optionalString ungoogled "ungoogled-"
+ "chromium${suffix}-${version}";
pname = lib.optionalString ungoogled "ungoogled-"
+ "chromium${suffix}";
inherit version;
nativeBuildInputs = [

View File

@ -1,11 +1,11 @@
{
"packageVersion": "98.0-1",
"packageVersion": "98.0.2-1",
"source": {
"rev": "98.0-1",
"sha256": "1z42a42d6z0gyc5i0pamcqq5bak6pgg1ldvlrjdyjnpvda74s0fn"
"rev": "98.0.2-1",
"sha256": "033l6mjmhfhf7b8p652s7ziw8zz725082hhzzvr3ahi498wshkx6"
},
"firefox": {
"version": "98.0",
"sha512": "5b9186dd2a5dee5f2d2a2ce156fc06e2073cf71a70891a294cf3358218592f19ec3413d33b68d6f38e3cc5f940213e590a188e2b6efc39f416e90a55f89bfd9b"
"version": "98.0.2",
"sha512": "b567b53fcdc08491063d535545f558ea56ec5be02ca540661de116986245b79f509e0103cea5661faf9f4b3d30b67758ebdb4b30401e260ee27cbb300203f36e"
}
}

View File

@ -27,7 +27,7 @@
}:
let
version = "8.0.1";
version = "8.1.1";
ptFiles = stdenv.mkDerivation {
name = "PacketTracer8Drv";
@ -36,7 +36,7 @@ let
dontUnpack = true;
src = requireFile {
name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
sha256 = "77a25351b016faed7c78959819c16c7013caa89c6b1872cb888cd96edd259140";
sha256 = "08c53171aa0257a64ae7de1540f242214033cfa4f879fbc9fed5cc0d32232abf";
url = "https://www.netacad.com";
};
@ -72,6 +72,7 @@ let
libXrandr
libXrender
libXScrnSaver
libXtst
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil

View File

@ -2,20 +2,20 @@
buildGoModule rec {
pname = "argocd";
version = "2.3.1";
version = "2.3.2";
tag = "v${version}";
# Update commit to match the tag above
# TODO make updadeScript
commit = "b65c1699fa2a2daa031483a3890e6911eac69068";
commit = "ecc2af9dcaa12975e654cde8cbbeaffbb315f75c";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = tag;
sha256 = "sha256-YijhJz7m5wy8kR9V6IHSNYjiWh7H2ph6il9nMsrePOE=";
sha256 = "sha256-n+C4l4U3cDU+fgCnGWOYLdyjknw7n/xPEtC1i8AaU4o=";
};
vendorSha256 = "sha256-uA9sOMuVHKRRhSGoLyoKcUYU6NxtprVUITvVC+tot1g=";
vendorSha256 = "sha256-Km+1o6yuuxJs+DNTQ/XVTUFurD5gM5ohwDc7MwJuu5s=";
# Set target as ./cmd per release-cli
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L222

View File

@ -34,6 +34,5 @@ stdenv.mkDerivation rec {
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ mbode ];
repositories.git = "git://git.apache.org/flink.git";
};
}

View File

@ -20,7 +20,6 @@ buildGoPackage rec {
license = licenses.gpl3;
maintainers = with maintainers; [ mbode tazjin ];
platforms = platforms.unix;
repositories.git = "git://github.com/tazjin/kontemplate.git";
longDescription = ''
Kontemplate is a simple CLI tool that can take sets of

View File

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.17.1";
version = "0.18.0";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
sha256 = "sha256-fWev5KgJEuL2pDm17kxdqRKo7t3+dDt5UD5iTHneJSY=";
sha256 = "sha256-gkfy/tKzh6EO+nyjuiU3InSErKvGcJp/X7oqYk0Msr0=";
};
vendorSha256 = "sha256-7L5xA/2uQnu10QGZn49K3oJf4HBEvt8q/sOR6BRXlo0=";
vendorSha256 = "sha256-hjhZYNpqt9yFNrDVpFlguESUAAqU+AhpUQTCvyMadPk=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

View File

@ -32,6 +32,5 @@ buildGoModule rec {
changelog = "https://github.com/derailed/popeye/releases/tag/v${version}";
license = licenses.asl20;
maintainers = [ maintainers.bryanasdev000 ];
platforms = platforms.linux;
};
}

View File

@ -63,7 +63,6 @@ let
license = lib.licenses.asl20;
platforms = lib.platforms.all;
maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ];
repositories.git = "git://git.apache.org/spark.git";
};
};
in

View File

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec {
pname = "flexget";
version = "3.3.3";
version = "3.3.4";
# Fetch from GitHub in order to use `requirements.in`
src = fetchFromGitHub {
owner = "flexget";
repo = "flexget";
rev = "v${version}";
hash = "sha256-a76x4Klad3lct2M9RxSroUYKmEX7lPqDN+dFvfjavo8=";
hash = "sha256-/nuY8+/RMM7ASke+NXb95yu+FeQHawCdgqVsBrk/KZ8=";
};
postPatch = ''

View File

@ -11,7 +11,7 @@
, evolution-data-server
, feedbackd
, glibmm
, gnome
, gnome-desktop
, gspell
, gtk3
, json-glib
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
evolution-data-server
feedbackd
glibmm
gnome.gnome-desktop
gnome-desktop
gspell
gtk3
json-glib

View File

@ -88,7 +88,6 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
'';
license = licenses.gpl3;
maintainers = with maintainers; [ ttuegel ];
repositories.git = "https://github.com/quassel/quassel.git";
inherit (qtbase.meta) platforms;
};
}

View File

@ -33,7 +33,6 @@ python3Packages.buildPythonApplication rec {
GMail account.
'';
homepage = "https://lieer.gaute.vetsj.com/";
repositories.git = "https://github.com/gauteh/lieer.git";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ flokli kaiha ];
};

View File

@ -9,13 +9,7 @@
, withManpage ? false
}:
with python3.pkgs;
let
notmuch2 = callPackage ./notmuch.nix {
inherit notmuch;
};
in
buildPythonApplication rec {
with python3.pkgs; buildPythonApplication rec {
pname = "alot";
version = "0.10";

Some files were not shown because too many files have changed in this diff Show More