From c1e3414044cc623e68bb26fe94bf504b46b0ac26 Mon Sep 17 00:00:00 2001 From: Jeff Slight Date: Tue, 30 Jul 2019 12:33:11 -0700 Subject: nixos/sd-image-aarch64: update deprecated option --- nixos/modules/installer/cd-dvd/sd-image-aarch64.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index a9241870fa7..e91b2cd36cf 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -39,7 +39,7 @@ in kernel=u-boot-rpi3.bin # Boot in 64-bit mode. - arm_control=0x200 + arm_64bit=1 # U-Boot used to need this to work, regardless of whether UART is actually used or not. # TODO: check when/if this can be removed. -- cgit 1.4.1 From 48810b2cfaf39f9278d759ac2a69a84981acb070 Mon Sep 17 00:00:00 2001 From: Chuck Date: Fri, 21 Feb 2020 17:49:56 -0800 Subject: nixos/nixos-enter: Create /tmp /tmp is normally created by the systemd-tmpfiles-setup systemd service at startup. Fixes #39140 --- nixos/modules/installer/tools/nixos-enter.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-enter.sh b/nixos/modules/installer/tools/nixos-enter.sh index 1fdd4627a90..d3006e9fe17 100644 --- a/nixos/modules/installer/tools/nixos-enter.sh +++ b/nixos/modules/installer/tools/nixos-enter.sh @@ -69,6 +69,9 @@ mount --rbind /sys "$mountPoint/sys" # Run the activation script. Set $LOCALE_ARCHIVE to supress some Perl locale warnings. LOCALE_ARCHIVE="$system/sw/lib/locale/locale-archive" chroot "$mountPoint" "$system/activate" 1>&2 || true + + # Create /tmp + chroot "$mountPoint" systemd-tmpfiles --create --remove --exclude-prefix=/dev 1>&2 || true ) exec chroot "$mountPoint" "${command[@]}" -- cgit 1.4.1 From 170e1afd84672502880acd4b3b8e2bd579d6c4e2 Mon Sep 17 00:00:00 2001 From: Richard Marko Date: Thu, 27 Aug 2020 12:56:22 +0200 Subject: nixos/sdImage: add postBuildCommands This allows to perform `dd if= of=$img` after the image is built which is handy to add e.g. uBoot SPL to the built image. Instructions for some ARM boards sometimes contain this step that needs to be performed manually, with this patch it can be part of the nix file used to built the image. --- nixos/modules/installer/cd-dvd/sd-image.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index ddad1116c94..231c7bf0a6c 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -108,6 +108,15 @@ in ''; }; + postBuildCommands = mkOption { + example = literalExample "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''"; + default = ""; + description = '' + Shell commands to run after the image is built. + Can be used for boards requiring to dd u-boot SPL before actual partitions. + ''; + }; + compressImage = mkOption { type = types.bool; default = true; @@ -197,6 +206,9 @@ in # Verify the FAT partition before copying it. fsck.vfat -vn firmware_part.img dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS + + ${config.sdImage.postBuildCommands} + if test -n "$compressImage"; then zstd -T$NIX_BUILD_CORES --rm $img fi -- cgit 1.4.1 From be193a20572a72a15ffb569aba8eb56fe881c842 Mon Sep 17 00:00:00 2001 From: V Date: Sat, 29 Aug 2020 09:54:02 +0200 Subject: nixos-rebuild: make 'edit' work with directories $NIXOS_CONFIG can be set to a directory, in which case the file used is $NIXOS_CONFIG/default.nix. This updates 'nixos-rebuild edit' to handle that case correctly. --- nixos/modules/installer/tools/nixos-rebuild.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 437199bae1d..e79cc5e24fb 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -288,6 +288,9 @@ fi if [ "$action" = edit ]; then if [[ -z $flake ]]; then NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)} + if [[ -d $NIXOS_CONFIG ]]; then + NIXOS_CONFIG=$NIXOS_CONFIG/default.nix + fi exec "${EDITOR:-nano}" "$NIXOS_CONFIG" else exec nix edit "${lockFlags[@]}" -- "$flake#$flakeAttr" -- cgit 1.4.1 From e08bcdbec3265f701c175ae5ac9d813e10cad292 Mon Sep 17 00:00:00 2001 From: V Date: Sat, 29 Aug 2020 09:54:14 +0200 Subject: nixos-rebuild: don't quote $EDITOR $EDITOR is allowed to contain flags, so it is important to allow the shell to split this normally. For example, Sublime Text needs to be passed --wait, since otherwise it will daemonise. --- nixos/modules/installer/tools/nixos-rebuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index e79cc5e24fb..ed9c2509b6b 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -291,7 +291,7 @@ if [ "$action" = edit ]; then if [[ -d $NIXOS_CONFIG ]]; then NIXOS_CONFIG=$NIXOS_CONFIG/default.nix fi - exec "${EDITOR:-nano}" "$NIXOS_CONFIG" + exec ${EDITOR:-nano} "$NIXOS_CONFIG" else exec nix edit "${lockFlags[@]}" -- "$flake#$flakeAttr" fi -- cgit 1.4.1 From 20d491a317d9956ddca80913f07d04bd234ea432 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 23 Aug 2020 01:28:45 +0200 Subject: treewide: completely remove types.loaOf --- lib/modules.nix | 1 - lib/types.nix | 117 ++------------------- nixos/doc/manual/development/option-types.xml | 11 -- nixos/doc/manual/release-notes/rl-2009.xml | 12 +++ nixos/modules/config/users-groups.nix | 4 +- .../installer/cd-dvd/sd-image-raspberrypi4.nix | 2 +- .../installer/tools/nixos-option/nixos-option.cc | 2 +- nixos/modules/programs/ssh.nix | 2 +- nixos/modules/programs/tsm-client.nix | 4 +- nixos/modules/security/pam.nix | 2 +- nixos/modules/services/backup/znapzend.nix | 4 +- nixos/modules/services/desktops/geoclue2.nix | 2 +- .../hardware/sane_extra_backends/brscan4.nix | 2 +- .../services/networking/hylafax/options.nix | 4 +- nixos/modules/services/networking/nylon.nix | 2 +- nixos/modules/services/networking/prosody.nix | 2 +- nixos/modules/services/networking/ssh/sshd.nix | 2 +- nixos/modules/services/security/tor.nix | 2 +- nixos/modules/system/boot/luksroot.nix | 2 +- nixos/modules/system/boot/stage-1.nix | 2 +- nixos/modules/system/etc/etc.nix | 2 +- nixos/modules/tasks/encrypted-devices.nix | 2 +- nixos/modules/tasks/filesystems.nix | 4 +- nixos/modules/tasks/network-interfaces.nix | 4 +- nixos/modules/virtualisation/nixos-containers.nix | 2 +- nixos/modules/virtualisation/railcar.nix | 4 +- 26 files changed, 52 insertions(+), 147 deletions(-) (limited to 'nixos/modules/installer') diff --git a/lib/modules.nix b/lib/modules.nix index 2ec34699809..decb96ffe11 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -613,7 +613,6 @@ rec { 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 optionSetIn "attrsOf" then types.attrsOf (types.submodule options) - else if optionSetIn "loaOf" then types.loaOf (types.submodule options) else if optionSetIn "listOf" then types.listOf (types.submodule options) else if optionSetIn "nullOr" then types.nullOr (types.submodule options) else tp; diff --git a/lib/types.nix b/lib/types.nix index 1845b6ae339..17e7a939fe3 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -252,8 +252,8 @@ rec { merge = mergeEqualOption; }; - # drop this in the future: - list = builtins.trace "`types.list` is deprecated; use `types.listOf` instead" types.listOf; + # TODO: drop this in the future: + list = builtins.trace "`types.list` has been removed; please use `types.listOf` instead" types.listOf; listOf = elemType: mkOptionType rec { name = "listOf"; @@ -326,110 +326,15 @@ rec { functor = (defaultFunctor name) // { wrapped = elemType; }; }; - # List or attribute set of ... - loaOf = elemType: - let - convertAllLists = loc: defs: - let - padWidth = stringLength (toString (length defs)); - unnamedPrefix = i: "unnamed-" + fixedWidthNumber padWidth i + "."; - in - imap1 (i: convertIfList loc (unnamedPrefix i)) defs; - convertIfList = loc: unnamedPrefix: def: - if isList def.value then - let - padWidth = stringLength (toString (length def.value)); - unnamed = i: unnamedPrefix + fixedWidthNumber padWidth i; - anyString = placeholder "name"; - nameAttrs = [ - { path = [ "environment" "etc" ]; - name = "target"; - } - { path = [ "containers" anyString "bindMounts" ]; - name = "mountPoint"; - } - { path = [ "programs" "ssh" "knownHosts" ]; - # hostNames is actually a list so we would need to handle it only when singleton - name = "hostNames"; - } - { path = [ "fileSystems" ]; - name = "mountPoint"; - } - { path = [ "boot" "specialFileSystems" ]; - name = "mountPoint"; - } - { path = [ "services" "znapzend" "zetup" ]; - name = "dataset"; - } - { path = [ "services" "znapzend" "zetup" anyString "destinations" ]; - name = "label"; - } - { path = [ "services" "geoclue2" "appConfig" ]; - name = "desktopID"; - } - ]; - matched = let - equals = a: b: b == anyString || a == b; - fallback = { name = "name"; }; - in findFirst ({ path, ... }: all (v: v == true) (zipListsWith equals loc path)) fallback nameAttrs; - nameAttr = matched.name; - nameValueOld = value: - if isList value then - if length value > 0 then - "[ " + concatMapStringsSep " " escapeNixString value + " ]" - else - "[ ]" - else - escapeNixString value; - nameValueNew = value: unnamed: - if isList value then - if length value > 0 then - head value - else - unnamed - else - value; - res = - { inherit (def) file; - value = listToAttrs ( - imap1 (elemIdx: elem: - { name = nameValueNew (elem.${nameAttr} or (unnamed elemIdx)) (unnamed elemIdx); - value = elem; - }) def.value); - }; - option = concatStringsSep "." loc; - sample = take 3 def.value; - more = lib.optionalString (length def.value > 3) "... "; - list = concatMapStrings (x: ''{ ${nameAttr} = ${nameValueOld (x.${nameAttr} or "unnamed")}; ...} '') sample; - set = concatMapStrings (x: ''${nameValueNew (x.${nameAttr} or "unnamed") "unnamed"} = {...}; '') sample; - msg = '' - In file ${def.file} - a list is being assigned to the option config.${option}. - This will soon be an error as type loaOf is deprecated. - See https://github.com/NixOS/nixpkgs/pull/63103 for more information. - Do - ${option} = - { ${set}${more}} - instead of - ${option} = - [ ${list}${more}] - ''; - in - lib.warn msg res - else - def; - attrOnly = attrsOf elemType; - in mkOptionType rec { - name = "loaOf"; - description = "list or attribute set of ${elemType.description}s"; - check = x: isList x || isAttrs x; - merge = loc: defs: attrOnly.merge loc (convertAllLists loc defs); - emptyValue = { value = {}; }; - getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); - getSubModules = elemType.getSubModules; - substSubModules = m: loaOf (elemType.substSubModules m); - functor = (defaultFunctor name) // { wrapped = elemType; }; - }; + # TODO: drop this in the future: + loaOf = + let msg = + '' + `types.loaOf` has been removed and mixing lists with attribute values + is no longer possible; please use `types.attrsOf` instead. + See https://github.com/NixOS/nixpkgs/issues/1800 for the motivation. + ''; + in builtins.trace msg types.attrsOf; # Value of given type but with no merging (i.e. `uniq list`s are not concatenated). uniq = elemType: mkOptionType rec { diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml index 957349ad181..5a6dae6e991 100644 --- a/nixos/doc/manual/development/option-types.xml +++ b/nixos/doc/manual/development/option-types.xml @@ -385,17 +385,6 @@ - - - types.loaOf t - - - - An attribute set or a list of t type. Multiple - definitions are merged according to the value. - - - types.nullOr t diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 83bc2f82bbf..bf96fb21a41 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -743,6 +743,18 @@ CREATE ROLE postgres LOGIN SUPERUSER; See the PR that changed this for more info. + + + For NixOS configuration options, the type loaOf, after + its initial deprecation in release 20.03, has been removed. In NixOS and + Nixpkgs options using this type have been converted to attrsOf. + + + For more information on this change have look at these links: + issue #1800, + PR #63103. + + diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 56b7af98b61..0ab303d0ae4 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -463,7 +463,7 @@ in { users.users = mkOption { default = {}; - type = with types; loaOf (submodule userOpts); + type = with types; attrsOf (submodule userOpts); example = { alice = { uid = 1234; @@ -487,7 +487,7 @@ in { { students.gid = 1001; hackers = { }; }; - type = with types; loaOf (submodule groupOpts); + type = with types; attrsOf (submodule groupOpts); description = '' Additional groups to be created automatically by the system. ''; diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix index 79c835dc390..87545e84203 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -27,7 +27,7 @@ }; fileSystems."/boot/firmware" = { - # This effectively "renames" the loaOf entry set in sd-image.nix + # This effectively "renames" the attrsOf entry set in sd-image.nix mountPoint = "/boot"; neededForBoot = true; }; diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc index 1a7b07a74f8..f779d82edbd 100644 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ b/nixos/modules/installer/tools/nixos-option/nixos-option.cc @@ -224,7 +224,7 @@ bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType) bool isAggregateOptionType(Context & ctx, Value & v) { - return optionTypeIs(ctx, v, "attrsOf") || optionTypeIs(ctx, v, "listOf") || optionTypeIs(ctx, v, "loaOf"); + return optionTypeIs(ctx, v, "attrsOf") || optionTypeIs(ctx, v, "listOf"); } MakeError(OptionPathError, EvalError); diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index a983ffa4b89..40af4d0ff5a 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -131,7 +131,7 @@ in knownHosts = mkOption { default = {}; - type = types.loaOf (types.submodule ({ name, ... }: { + type = types.attrsOf (types.submodule ({ name, ... }: { options = { certAuthority = mkOption { type = types.bool; diff --git a/nixos/modules/programs/tsm-client.nix b/nixos/modules/programs/tsm-client.nix index eb6f1247528..7ac4086d5f0 100644 --- a/nixos/modules/programs/tsm-client.nix +++ b/nixos/modules/programs/tsm-client.nix @@ -7,7 +7,7 @@ let inherit (lib.modules) mkDefault mkIf; inherit (lib.options) literalExample mkEnableOption mkOption; inherit (lib.strings) concatStringsSep optionalString toLower; - inherit (lib.types) addCheck attrsOf lines loaOf nullOr package path port str strMatching submodule; + inherit (lib.types) addCheck attrsOf lines nullOr package path port str strMatching submodule; # Checks if given list of strings contains unique # elements when compared without considering case. @@ -178,7 +178,7 @@ let client system-options file "dsm.sys" ''; servers = mkOption { - type = loaOf (submodule [ serverOptions ]); + type = attrsOf (submodule [ serverOptions ]); default = {}; example.mainTsmServer = { server = "tsmserver.company.com"; diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 565c15dec24..ce74805ef41 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -544,7 +544,7 @@ in security.pam.services = mkOption { default = []; - type = with types; loaOf (submodule pamOpts); + type = with types; attrsOf (submodule pamOpts); description = '' This option defines the PAM services. A service typically diff --git a/nixos/modules/services/backup/znapzend.nix b/nixos/modules/services/backup/znapzend.nix index 8098617d11f..0ca71b413ce 100644 --- a/nixos/modules/services/backup/znapzend.nix +++ b/nixos/modules/services/backup/znapzend.nix @@ -220,7 +220,7 @@ let }; destinations = mkOption { - type = loaOf (destType config); + type = attrsOf (destType config); description = "Additional destinations."; default = {}; example = literalExample '' @@ -328,7 +328,7 @@ in }; zetup = mkOption { - type = loaOf srcType; + type = attrsOf srcType; description = "Znapzend configuration."; default = {}; example = literalExample '' diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix index 542b2ead410..6702bd395a0 100644 --- a/nixos/modules/services/desktops/geoclue2.nix +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -160,7 +160,7 @@ in }; appConfig = mkOption { - type = types.loaOf appConfigModule; + type = types.attrsOf appConfigModule; default = {}; example = literalExample '' "com.github.app" = { diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix index 6f49a1ab6d4..a6afa01dd81 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix @@ -81,7 +81,7 @@ in { office1 = { model = "MFC-7860DW"; ip = "192.168.1.2"; }; office2 = { model = "MFC-7860DW"; nodename = "BRW0080927AFBCE"; }; }; - type = with types; loaOf (submodule netDeviceOpts); + type = with types; attrsOf (submodule netDeviceOpts); description = '' The list of network devices that will be registered against the brscan4 sane backend. diff --git a/nixos/modules/services/networking/hylafax/options.nix b/nixos/modules/services/networking/hylafax/options.nix index 4ac6d3fa843..9e28d09dffc 100644 --- a/nixos/modules/services/networking/hylafax/options.nix +++ b/nixos/modules/services/networking/hylafax/options.nix @@ -3,7 +3,7 @@ let inherit (lib.options) literalExample mkEnableOption mkOption; - inherit (lib.types) bool enum int lines loaOf nullOr path str submodule; + inherit (lib.types) bool enum int lines attrsOf nullOr path str submodule; inherit (lib.modules) mkDefault mkIf mkMerge; commonDescr = '' @@ -248,7 +248,7 @@ in }; modems = mkOption { - type = loaOf (submodule [ modemConfigOptions ]); + type = attrsOf (submodule [ modemConfigOptions ]); default = {}; example.ttyS1 = { type = "cirrus"; diff --git a/nixos/modules/services/networking/nylon.nix b/nixos/modules/services/networking/nylon.nix index 7c171281a92..bfc358cb12f 100644 --- a/nixos/modules/services/networking/nylon.nix +++ b/nixos/modules/services/networking/nylon.nix @@ -140,7 +140,7 @@ in services.nylon = mkOption { default = {}; description = "Collection of named nylon instances"; - type = with types; loaOf (submodule nylonOpts); + type = with types; attrsOf (submodule nylonOpts); internal = true; }; diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix index e53d7093be8..a6c1cb0f479 100644 --- a/nixos/modules/services/networking/prosody.nix +++ b/nixos/modules/services/networking/prosody.nix @@ -655,7 +655,7 @@ in description = "Define the virtual hosts"; - type = with types; loaOf (submodule vHostOpts); + type = with types; attrsOf (submodule vHostOpts); example = { myhost = { diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index 17f31e3a488..6b27cbc56bd 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -361,7 +361,7 @@ in }; users.users = mkOption { - type = with types; loaOf (submodule userOptions); + type = with types; attrsOf (submodule userOptions); }; }; diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix index b33e905c67d..885b23ac694 100644 --- a/nixos/modules/services/security/tor.nix +++ b/nixos/modules/services/security/tor.nix @@ -597,7 +597,7 @@ in ]; } ''; - type = types.loaOf (types.submodule ({name, ...}: { + type = types.attrsOf (types.submodule ({name, ...}: { options = { name = mkOption { diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix index 166f89c7066..a4cbb03a8e3 100644 --- a/nixos/modules/system/boot/luksroot.nix +++ b/nixos/modules/system/boot/luksroot.nix @@ -516,7 +516,7 @@ in /dev/mapper/name. ''; - type = with types; loaOf (submodule ( + type = with types; attrsOf (submodule ( { name, ... }: { options = { name = mkOption { diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index a04660fb56e..97eb1d286a3 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -555,7 +555,7 @@ in }; fileSystems = mkOption { - type = with lib.types; loaOf (submodule { + type = with lib.types; attrsOf (submodule { options.neededForBoot = mkOption { default = false; type = types.bool; diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index 1f4d54a1ae2..7478e3e8071 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -46,7 +46,7 @@ in Set of files that have to be linked in /etc. ''; - type = with types; loaOf (submodule ( + type = with types; attrsOf (submodule ( { name, config, ... }: { options = { diff --git a/nixos/modules/tasks/encrypted-devices.nix b/nixos/modules/tasks/encrypted-devices.nix index 9c3f2d8fccb..dd337de9869 100644 --- a/nixos/modules/tasks/encrypted-devices.nix +++ b/nixos/modules/tasks/encrypted-devices.nix @@ -54,7 +54,7 @@ in options = { fileSystems = mkOption { - type = with lib.types; loaOf (submodule encryptedFSOptions); + type = with lib.types; attrsOf (submodule encryptedFSOptions); }; swapDevices = mkOption { type = with lib.types; listOf (submodule encryptedFSOptions); diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 0ade74b957a..3ea67dac714 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -159,7 +159,7 @@ in "/bigdisk".label = "bigdisk"; } ''; - type = types.loaOf (types.submodule [coreFileSystemOpts fileSystemOpts]); + type = types.attrsOf (types.submodule [coreFileSystemOpts fileSystemOpts]); description = '' The file systems to be mounted. It must include an entry for the root directory (mountPoint = "/"). Each @@ -193,7 +193,7 @@ in boot.specialFileSystems = mkOption { default = {}; - type = types.loaOf (types.submodule coreFileSystemOpts); + type = types.attrsOf (types.submodule coreFileSystemOpts); internal = true; description = '' Special filesystems that are mounted very early during boot. diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 565868724ad..2e533fb604e 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -519,7 +519,7 @@ in is true, then every interface not listed here will be configured using DHCP. ''; - type = with types; loaOf (submodule interfaceOpts); + type = with types; attrsOf (submodule interfaceOpts); }; networking.vswitches = mkOption { @@ -544,7 +544,7 @@ in interfaces = mkOption { example = [ "eth0" "eth1" ]; description = "The physical network interfaces connected by the vSwitch."; - type = with types; loaOf (submodule vswitchInterfaceOpts); + type = with types; attrsOf (submodule vswitchInterfaceOpts); }; controllers = mkOption { diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index b0fa03917c8..8fbb4efd201 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -627,7 +627,7 @@ in }; bindMounts = mkOption { - type = with types; loaOf (submodule bindMountOpts); + type = with types; attrsOf (submodule bindMountOpts); default = {}; example = literalExample '' { "/home" = { hostPath = "/home/alice"; diff --git a/nixos/modules/virtualisation/railcar.nix b/nixos/modules/virtualisation/railcar.nix index 3f188fc68e5..10464f62898 100644 --- a/nixos/modules/virtualisation/railcar.nix +++ b/nixos/modules/virtualisation/railcar.nix @@ -41,7 +41,7 @@ let description = "Source for the in-container mount"; }; options = mkOption { - type = loaOf (str); + type = attrsOf (str); default = [ "bind" ]; description = '' Mount options of the filesystem to be used. @@ -61,7 +61,7 @@ in containers = mkOption { default = {}; description = "Declarative container configuration"; - type = with types; loaOf (submodule ({ name, config, ... }: { + type = with types; attrsOf (submodule ({ name, config, ... }: { options = { cmd = mkOption { type = types.lines; -- cgit 1.4.1 From c6a3a0f4f59bc6b2cc24aa1f4d6572906c95e9b9 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Fri, 4 Sep 2020 06:53:00 +0200 Subject: nixos-rebuild: do not depend on nix.conf to activate flakes --- nixos/doc/manual/man-nixos-rebuild.xml | 2 +- nixos/modules/installer/tools/nixos-rebuild.sh | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index f70f08a0f8a..7dab5c69dfb 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -521,7 +521,7 @@ - flake-uri[name] + flake-uri#name diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 354274478a3..a139387479b 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -17,6 +17,7 @@ showSyntax() { origArgs=("$@") extraBuildFlags=() lockFlags=() +flakeFlags=() action= buildNix=1 fast= @@ -99,6 +100,7 @@ while [ "$#" -gt 0 ]; do ;; --flake) flake="$1" + flakeFlags=(--experimental-features 'nix-command flakes') shift 1 ;; --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) @@ -281,7 +283,7 @@ fi # Resolve the flake. if [[ -n $flake ]]; then - flake=$(nix flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) + flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) fi # Find configuration.nix and open editor instead of building. @@ -290,7 +292,7 @@ if [ "$action" = edit ]; then NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)} exec "${EDITOR:-nano}" "$NIXOS_CONFIG" else - exec nix edit "${lockFlags[@]}" -- "$flake#$flakeAttr" + exec nix "${flakeFlags[@]}" edit "${lockFlags[@]}" -- "$flake#$flakeAttr" fi exit 1 fi @@ -416,7 +418,7 @@ if [ -z "$rollback" ]; then pathToConfig="$(nixBuild '' --no-out-link -A system "${extraBuildFlags[@]}")" else outLink=$tmpDir/result - nix build "$flake#$flakeAttr.config.system.build.toplevel" \ + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \ "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink pathToConfig="$(readlink -f $outLink)" fi @@ -426,7 +428,7 @@ if [ -z "$rollback" ]; then if [[ -z $flake ]]; then pathToConfig="$(nixBuild '' -A system -k "${extraBuildFlags[@]}")" else - nix build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}" + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}" pathToConfig="$(readlink -f ./result)" fi elif [ "$action" = build-vm ]; then -- cgit 1.4.1 From b03c5061789ab686535bf63725e8278e0c478da7 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Tue, 11 Aug 2020 18:15:28 +0200 Subject: nixos-install: add support for flakes --- nixos/doc/manual/man-nixos-install.xml | 16 ++++++ nixos/modules/installer/tools/nixos-install.sh | 73 ++++++++++++++++++++------ nixos/modules/installer/tools/tools.nix | 2 +- 3 files changed, 75 insertions(+), 16 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index 84849282e9a..b205e230968 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -45,6 +45,10 @@ path + + flake-uri + + @@ -199,6 +203,18 @@ + + + flake-uri#name + + + + Build the NixOS system from the specified flake. + The flake must contain an output named + nixosConfigurations.name. + + + diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 0b62bca8367..504c4f873e5 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -10,6 +10,7 @@ umask 0022 # Parse the command line for the -I flag extraBuildFlags=() +flakeFlags=() mountPoint=/mnt channelPath= @@ -34,6 +35,23 @@ while [ "$#" -gt 0 ]; do --system|--closure) system="$1"; shift 1 ;; + --flake) + flake="$1" + flakeFlags=(--experimental-features 'nix-command flakes') + shift 1 + ;; + --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) + lockFlags+=("$i") + ;; + --update-input) + j="$1"; shift 1 + lockFlags+=("$i" "$j") + ;; + --override-input) + j="$1"; shift 1 + k="$1"; shift 1 + lockFlags+=("$i" "$j" "$k") + ;; --channel) channelPath="$1"; shift 1 ;; @@ -92,14 +110,32 @@ if [[ ${NIXOS_CONFIG:0:1} != / ]]; then exit 1 fi -if [[ ! -e $NIXOS_CONFIG && -z $system ]]; then +if [[ -n $flake ]]; then + if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then + flake="${BASH_REMATCH[1]}" + flakeAttr="${BASH_REMATCH[2]}" + fi + if [[ -z "$flakeAttr" ]]; then + echo "Please specify the name of the NixOS configuration to be installed, as a URI fragment in the flake-uri." + echo "For example, to use the output nixosConfigurations.foo from the flake.nix, append \"#foo\" to the flake-uri." + exit 1 + fi + flakeAttr="nixosConfigurations.\"$flakeAttr\"" +fi + +# Resolve the flake. +if [[ -n $flake ]]; then + flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) +fi + +if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then echo "configuration file $NIXOS_CONFIG doesn't exist" exit 1 fi # A place to drop temporary stuff. -tmpdir="$(mktemp -d -p $mountPoint)" -trap "rm -rf $tmpdir" EXIT +tmpdir="$(mktemp -d -p "$mountPoint")" +trap 'rm -rf $tmpdir' EXIT # store temporary files on target filesystem by default export TMPDIR=${TMPDIR:-$tmpdir} @@ -108,12 +144,19 @@ sub="auto?trusted=1" # Build the system configuration in the target filesystem. if [[ -z $system ]]; then - echo "building the configuration in $NIXOS_CONFIG..." outLink="$tmpdir/system" - nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \ - --extra-substituters "$sub" \ - '' -A system -I "nixos-config=$NIXOS_CONFIG" ${verbosity[@]} - system=$(readlink -f $outLink) + if [[ -z $flake ]]; then + echo "building the configuration in $NIXOS_CONFIG..." + nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \ + --extra-substituters "$sub" \ + '' -A system -I "nixos-config=$NIXOS_CONFIG" "${verbosity[@]}" + else + echo "building the flake in $flake..." + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \ + --extra-substituters "$sub" "${verbosity[@]}" \ + "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link "$outLink" + fi + system=$(readlink -f "$outLink") fi # Set the system profile to point to the configuration. TODO: combine @@ -121,7 +164,7 @@ fi # a progress bar. nix-env --store "$mountPoint" "${extraBuildFlags[@]}" \ --extra-substituters "$sub" \ - -p $mountPoint/nix/var/nix/profiles/system --set "$system" ${verbosity[@]} + -p "$mountPoint"/nix/var/nix/profiles/system --set "$system" "${verbosity[@]}" # Copy the NixOS/Nixpkgs sources to the target as the initial contents # of the NixOS channel. @@ -131,12 +174,12 @@ if [[ -z $noChannelCopy ]]; then fi if [[ -n $channelPath ]]; then echo "copying channel..." - mkdir -p $mountPoint/nix/var/nix/profiles/per-user/root + mkdir -p "$mountPoint"/nix/var/nix/profiles/per-user/root nix-env --store "$mountPoint" "${extraBuildFlags[@]}" --extra-substituters "$sub" \ - -p $mountPoint/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \ - ${verbosity[@]} - install -m 0700 -d $mountPoint/root/.nix-defexpr - ln -sfn /nix/var/nix/profiles/per-user/root/channels $mountPoint/root/.nix-defexpr/channels + -p "$mountPoint"/nix/var/nix/profiles/per-user/root/channels --set "$channelPath" --quiet \ + "${verbosity[@]}" + install -m 0700 -d "$mountPoint"/root/.nix-defexpr + ln -sfn /nix/var/nix/profiles/per-user/root/channels "$mountPoint"/root/.nix-defexpr/channels fi fi @@ -150,7 +193,7 @@ touch "$mountPoint/etc/NIXOS" if [[ -z $noBootLoader ]]; then echo "installing the boot loader..." # Grub needs an mtab. - ln -sfn /proc/mounts $mountPoint/etc/mtab + ln -sfn /proc/mounts "$mountPoint"/etc/mtab NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root "$mountPoint" -- /run/current-system/bin/switch-to-configuration boot fi diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 11128621424..e584d7f5758 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -20,7 +20,7 @@ let name = "nixos-install"; src = ./nixos-install.sh; nix = config.nix.package.out; - path = makeBinPath [ nixos-enter ]; + path = makeBinPath [ pkgs.nixUnstable nixos-enter ]; }; nixos-rebuild = -- cgit 1.4.1 From a39ad857267091e3f75016f09589405a6a41e658 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Fri, 11 Sep 2020 13:03:03 -0400 Subject: nixos/tools/nixos-install: add jq to path --- nixos/modules/installer/tools/tools.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 26fc8fb402e..1da3a5b27eb 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -22,7 +22,11 @@ let src = ./nixos-install.sh; inherit (pkgs) runtimeShell; nix = config.nix.package.out; - path = makeBinPath [ pkgs.nixUnstable nixos-enter ]; + path = makeBinPath [ + pkgs.nixUnstable + pkgs.jq + nixos-enter + ]; }; nixos-rebuild = -- cgit 1.4.1 From e26b348689f64832dee634dea20f4bbf76340aed Mon Sep 17 00:00:00 2001 From: Cole Helbling Date: Thu, 10 Sep 2020 23:12:58 -0700 Subject: nixos-rebuild: add flake support for build-vm This relies on users using `nixpkgs.lib.nixosSystem` to define their system; otherwise, the `vm` and `vmWithBootLoader` attributes will not exist. --- flake.nix | 26 +++++++++++++++++++++++--- nixos/modules/installer/tools/nixos-rebuild.sh | 10 ++++++---- 2 files changed, 29 insertions(+), 7 deletions(-) (limited to 'nixos/modules/installer') diff --git a/flake.nix b/flake.nix index e7c04417ac8..8440c460b16 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,6 @@ outputs = { self }: let - jobs = import ./pkgs/top-level/release.nix { nixpkgs = self; }; @@ -28,10 +27,31 @@ lib = lib.extend (final: prev: { nixosSystem = { modules, ... } @ args: import ./nixos/lib/eval-config.nix (args // { - modules = modules ++ - [ { system.nixos.versionSuffix = + modules = + let + vmConfig = (import ./nixos/lib/eval-config.nix + (args // { + modules = modules ++ [ ./nixos/modules/virtualisation/qemu-vm.nix ]; + })).config; + + vmWithBootLoaderConfig = (import ./nixos/lib/eval-config.nix + (args // { + modules = modules ++ [ + ./nixos/modules/virtualisation/qemu-vm.nix + { virtualisation.useBootLoader = true; } + ]; + })).config; + in + modules ++ [ + { + system.nixos.versionSuffix = ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified)}.${self.shortRev or "dirty"}"; system.nixos.revision = final.mkIf (self ? rev) self.rev; + + system.build = { + vm = vmConfig.system.build.vm; + vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm; + }; } ]; }); diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index ad40fd2811d..909e8b229c8 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -438,15 +438,17 @@ if [ -z "$rollback" ]; then if [[ -z $flake ]]; then pathToConfig="$(nixBuild '' -A vm -k "${extraBuildFlags[@]}")" else - echo "$0: 'build-vm' is not supported with '--flake'" >&2 - exit 1 + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vm" \ + "${extraBuildFlags[@]}" "${lockFlags[@]}" + pathToConfig="$(readlink -f ./result)" fi elif [ "$action" = build-vm-with-bootloader ]; then if [[ -z $flake ]]; then pathToConfig="$(nixBuild '' -A vmWithBootLoader -k "${extraBuildFlags[@]}")" else - echo "$0: 'build-vm-with-bootloader' is not supported with '--flake'" >&2 - exit 1 + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vmWithBootLoader" \ + "${extraBuildFlags[@]}" "${lockFlags[@]}" + pathToConfig="$(readlink -f ./result)" fi else showSyntax -- cgit 1.4.1 From 74c2ed9e35243b18d70b4a4e91094971e2b59541 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Mon, 21 Sep 2020 09:33:19 +1000 Subject: nixos/tools/nixos-install: remove trailing whitespace --- nixos/modules/installer/tools/tools.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 1da3a5b27eb..e1e1b47aafc 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -22,10 +22,10 @@ let src = ./nixos-install.sh; inherit (pkgs) runtimeShell; nix = config.nix.package.out; - path = makeBinPath [ - pkgs.nixUnstable + path = makeBinPath [ + pkgs.nixUnstable pkgs.jq - nixos-enter + nixos-enter ]; }; -- cgit 1.4.1 From d9a93852d4edbf875e71598416cd3e04654faba0 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Fri, 25 Sep 2020 11:22:11 -0400 Subject: nixos-rebuild: support --upgrade-all and document --upgrade (#83327) --- nixos/doc/manual/man-nixos-rebuild.xml | 34 +++++++++++++++++++++----- nixos/modules/installer/tools/nixos-rebuild.sh | 24 +++++++++++++----- 2 files changed, 46 insertions(+), 12 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/man-nixos-rebuild.xml b/nixos/doc/manual/man-nixos-rebuild.xml index 7dab5c69dfb..1fd3a1c5664 100644 --- a/nixos/doc/manual/man-nixos-rebuild.xml +++ b/nixos/doc/manual/man-nixos-rebuild.xml @@ -52,10 +52,18 @@ - - - - + + + + + + + + + + + + @@ -334,9 +342,23 @@ + + + - - Fetch the latest version of NixOS from the NixOS channel. + + Update the root user's channel named nixos + before rebuilding the system. + + + In addition to the nixos channel, the root + user's channels which have a file named + .update-on-nixos-rebuild in their base + directory will also be updated. + + + Passing updates all of the root + user's channels. diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 909e8b229c8..08813d17ff9 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -23,6 +23,7 @@ buildNix=1 fast= rollback= upgrade= +upgrade_all= repair= profile=/nix/var/nix/profiles/system buildHost= @@ -55,6 +56,10 @@ while [ "$#" -gt 0 ]; do --upgrade) upgrade=1 ;; + --upgrade-all) + upgrade=1 + upgrade_all=1 + ;; --repair) repair=1 extraBuildFlags+=("$i") @@ -223,15 +228,22 @@ if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then fi -# If ‘--upgrade’ is given, run ‘nix-channel --update nixos’. +# If ‘--upgrade’ or `--upgrade-all` is given, +# run ‘nix-channel --update nixos’. if [[ -n $upgrade && -z $_NIXOS_REBUILD_REEXEC && -z $flake ]]; then - nix-channel --update nixos + # If --upgrade-all is passed, or there are other channels that + # contain a file called ".update-on-nixos-rebuild", update them as + # well. Also upgrade the nixos channel. - # If there are other channels that contain a file called - # ".update-on-nixos-rebuild", update them as well. for channelpath in /nix/var/nix/profiles/per-user/root/channels/*; do - if [ -e "$channelpath/.update-on-nixos-rebuild" ]; then - nix-channel --update "$(basename "$channelpath")" + channel_name=$(basename "$channelpath") + + if [[ "$channel_name" == "nixos" ]]; then + nix-channel --update "$channel_name" + elif [ -e "$channelpath/.update-on-nixos-rebuild" ]; then + nix-channel --update "$channel_name" + elif [[ -n $upgrade_all ]] ; then + nix-channel --update "$channel_name" fi done fi -- cgit 1.4.1 From 1343164249a4caaf6f7c982f6e768539b33ddb0c Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Mon, 28 Sep 2020 06:15:45 -0400 Subject: nixos-rebuild: add impure --- nixos/modules/installer/tools/nixos-rebuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh index 08813d17ff9..e452e24d263 100644 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ b/nixos/modules/installer/tools/nixos-rebuild.sh @@ -68,7 +68,7 @@ while [ "$#" -gt 0 ]; do j="$1"; shift 1 extraBuildFlags+=("$i" "$j") ;; - --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net) + --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--impure) extraBuildFlags+=("$i") ;; --option) -- cgit 1.4.1 From b551f0609769de0a30785f93012d1185beb1604a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 3 Oct 2020 10:48:39 +0200 Subject: nixos-generate-config: Add missing newline --- nixos/modules/installer/tools/nixos-generate-config.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index c8303a6eb60..54b84521bdf 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -628,7 +628,7 @@ EOF write_file($fn, < Date: Sat, 3 Oct 2020 10:03:55 -0700 Subject: nixos-install: use mountpoint as store Otherwise, it's possible building a flake may cause the live CD to run out of memory. --- nixos/modules/installer/tools/nixos-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index a180d1bc4c1..90555f14580 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -153,7 +153,7 @@ if [[ -z $system ]]; then else echo "building the flake in $flake..." nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \ - --extra-substituters "$sub" "${verbosity[@]}" \ + --store "$mountPoint" --extra-substituters "$sub" "${verbosity[@]}" \ "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link "$outLink" fi system=$(readlink -f "$outLink") -- cgit 1.4.1 From 544059b01f30d7d00939b27b82bb5bd4a974d45a Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Mon, 5 Oct 2020 11:46:50 +0200 Subject: nixos/installer: drop the extra nixUnstable in nixos-install The only nix version available in the installer should be the version configure in the module system. If someone needs `nixUnstable` in their `nixos-install` they should probably set the module option and not just add it to the closure. --- nixos/modules/installer/tools/tools.nix | 1 - 1 file changed, 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index e1e1b47aafc..666a1eff0e6 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -23,7 +23,6 @@ let inherit (pkgs) runtimeShell; nix = config.nix.package.out; path = makeBinPath [ - pkgs.nixUnstable pkgs.jq nixos-enter ]; -- cgit 1.4.1 From bb61cce82abc6f692548d6831960e455766c898c Mon Sep 17 00:00:00 2001 From: Dominik Xaver Hörl Date: Sat, 10 Oct 2020 10:05:15 +0200 Subject: nixos-install: pass through impure flag --- nixos/doc/manual/man-nixos-install.xml | 6 ++++++ nixos/modules/installer/tools/nixos-install.sh | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index b205e230968..12d01597199 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -49,6 +49,12 @@ flake-uri + + + + + + diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 90555f14580..9279f11b4f3 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -64,7 +64,7 @@ while [ "$#" -gt 0 ]; do --no-bootloader) noBootLoader=1 ;; - --show-trace) + --show-trace|--impure) extraBuildFlags+=("$i") ;; --help) -- cgit 1.4.1 From 12825bc21f153333bab67cd1df794c418fc62907 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 10 Oct 2020 22:16:27 -0400 Subject: nixos/tools: don't mention pinentryFlavor We don't need to actually set this as it find a good default automatically. This could confuse the user into thinking they need to set it themselves. --- nixos/modules/installer/tools/tools.nix | 1 - 1 file changed, 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 666a1eff0e6..dd7d586780d 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -140,7 +140,6 @@ in # programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; - # pinentryFlavor = "gnome3"; # }; # List services that you want to enable: -- cgit 1.4.1 From 9f1a43cefa1f6711a4f5aa6bc2f093178420c19c Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 10 Oct 2020 22:17:15 -0400 Subject: nixos/tools: comment about libinput --- nixos/modules/installer/tools/tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index dd7d586780d..0ac9d216fa4 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -165,7 +165,7 @@ in # services.xserver.layout = "us"; # services.xserver.xkbOptions = "eurosign:e"; - # Enable touchpad support. + # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; # Enable the KDE Desktop Environment. -- cgit 1.4.1 From 3b20eb47f1ec6f6b02943a95be964fac80db136a Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 10 Oct 2020 22:17:43 -0400 Subject: nixos/tools: don't call Plasma KDE --- nixos/modules/installer/tools/tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 0ac9d216fa4..999306137ee 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -168,7 +168,7 @@ in # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; - # Enable the KDE Desktop Environment. + # Enable the Plasma 5 Desktop Environment. # services.xserver.displayManager.sddm.enable = true; # services.xserver.desktopManager.plasma5.enable = true; -- cgit 1.4.1 From 2d6a694842423d147ea9beb5612359748c76e35c Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 10 Oct 2020 22:19:19 -0400 Subject: nixos/tools: add firefox to systemPackages example This is in the graphical iso's. --- nixos/modules/installer/tools/tools.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 999306137ee..5c6e79be5d6 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -132,6 +132,7 @@ in # \$ nix search wget # environment.systemPackages = with pkgs; [ # wget vim + # firefox # ]; # Some programs need SUID wrappers, can be configured further or are -- cgit 1.4.1 From 99d511124620cad08e1bac2c0ca29ea3222d7f5d Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 10 Oct 2020 22:44:36 -0400 Subject: nixos/tools: add desktopConfiguration option We now have a GNOME ISO so it would be nice to seed that one with configuration on how to enable it. --- .../installer/tools/nixos-generate-config.pl | 4 + nixos/modules/installer/tools/tools.nix | 98 ++++++++++++---------- .../services/x11/desktop-managers/gnome3.nix | 8 ++ .../services/x11/desktop-managers/plasma5.nix | 8 ++ nixos/tests/nixos-generate-config.nix | 16 ++++ 5 files changed, 92 insertions(+), 42 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 54b84521bdf..44f4c44a56c 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -625,6 +625,10 @@ EOF my $networkingDhcpConfig = generateNetworkingDhcpConfig(); + (my $desktopConfiguration = <nixos-generate-config - saves to /etc/nixos/configuration.nix. - - This is an internal option. No backward compatibility is guaranteed. - Use at your own risk! + options.system.nixos-generate-config = { + configuration = mkOption { + internal = true; + type = types.str; + description = '' + The NixOS module that nixos-generate-config + saves to /etc/nixos/configuration.nix. + + This is an internal option. No backward compatibility is guaranteed. + Use at your own risk! + + Note that this string gets spliced into a Perl script. The perl + variable $bootLoaderConfig can be used to + splice in the boot loader configuration. + ''; + }; - Note that this string gets spliced into a Perl script. The perl - variable $bootLoaderConfig can be used to - splice in the boot loader configuration. - ''; + desktopConfiguration = mkOption { + internal = true; + type = types.str; + default = ""; + description = '' + Text to preseed the desktop configuration that nixos-generate-config + saves to /etc/nixos/configuration.nix. + + This is an internal option. No backward compatibility is guaranteed. + Use at your own risk! + + Note that this string gets spliced into a Perl script. The perl + variable $bootLoaderConfig can be used to + splice in the boot loader configuration. + ''; + }; }; config = { - system.nixos-generate-config.configuration = mkDefault '' # Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page @@ -113,6 +131,9 @@ in # networking.hostName = "nixos"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + # Set your time zone. + # time.timeZone = "Europe/Amsterdam"; + $networkingDhcpConfig # Configure network proxy if necessary # networking.proxy.default = "http://user:password\@proxy:port/"; @@ -125,8 +146,26 @@ in # keyMap = "us"; # }; - # Set your time zone. - # time.timeZone = "Europe/Amsterdam"; + $desktopConfiguration + # Configure keymap in X11 + # services.xserver.layout = "us"; + # services.xserver.xkbOptions = "eurosign:e"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + # users.users.jane = { + # isNormalUser = true; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # }; # List packages installed in system profile. To search, run: # \$ nix search wget @@ -154,31 +193,6 @@ in # Or disable the firewall altogether. # networking.firewall.enable = false; - # Enable CUPS to print documents. - # services.printing.enable = true; - - # Enable sound. - # sound.enable = true; - # hardware.pulseaudio.enable = true; - - # Enable the X11 windowing system. - # services.xserver.enable = true; - # services.xserver.layout = "us"; - # services.xserver.xkbOptions = "eurosign:e"; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; - - # Enable the Plasma 5 Desktop Environment. - # services.xserver.displayManager.sddm.enable = true; - # services.xserver.desktopManager.plasma5.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - # users.users.jane = { - # isNormalUser = true; - # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - # }; - # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index a4edcca72c9..0af084b8759 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -179,6 +179,14 @@ in config = mkMerge [ (mkIf (cfg.enable || flashbackEnabled) { + # Seed our configuration into nixos-generate-config + system.nixos-generate-config.desktopConfiguration = '' + # Enable the GNOME 3 Desktop Environment. + services.xserver.enable = true; + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome3.enable = true; + ''; + services.gnome3.core-os-services.enable = true; services.gnome3.core-shell.enable = true; services.gnome3.core-utilities.enable = mkDefault true; diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index e48b5f23b58..ad0385ddeed 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -184,6 +184,14 @@ in config = mkMerge [ (mkIf cfg.enable { + # Seed our configuration into nixos-generate-config + system.nixos-generate-config.desktopConfiguration = '' + # Enable the Plasma 5 Desktop Environment. + services.xserver.enable = true; + services.xserver.displayManager.sddm.enable = true; + services.xserver.desktopManager.plasma5.enable = true; + ''; + services.xserver.desktopManager.session = singleton { name = "plasma5"; bgSupport = true; diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix index 6c83ccecc70..5daa55a8abb 100644 --- a/nixos/tests/nixos-generate-config.nix +++ b/nixos/tests/nixos-generate-config.nix @@ -7,8 +7,16 @@ import ./make-test-python.nix ({ lib, ... } : { { config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; $bootLoaderConfig + $desktopConfiguration } ''; + + system.nixos-generate-config.desktopConfiguration = '' + # DESKTOP + # services.xserver.enable = true; + # services.xserver.displayManager.gdm.enable = true; + # services.xserver.desktopManager.gnome3.enable = true; + ''; }; testScript = '' start_all() @@ -18,9 +26,17 @@ import ./make-test-python.nix ({ lib, ... } : { # Test if the configuration really is overridden machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix") + # Test if desktop configuration really is overridden + machine.succeed("grep 'DESKTOP' /etc/nixos/configuration.nix") + # Test of if the Perl variable $bootLoaderConfig is spliced correctly: machine.succeed( "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix" ) + + # Test if the Perl variable $desktopConfiguration is spliced correctly + machine.succeed( + "grep 'services\\.xserver\\.desktopManager\\.gnome3\\.enable = true;' /etc/nixos/configuration.nix" + ) ''; }) -- cgit 1.4.1 From d28565a1c6d6127b8bb13c76dbec425c0806ccaf Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 22 Oct 2020 14:34:32 +0200 Subject: nix: 2.3.7 -> 2.3.8 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index a15a2dbadb8..bd70bd20013 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/4vz8sh9ngx34ivi0bw5hlycxdhvy5hvz-nix-2.3.7"; - i686-linux = "/nix/store/dzxkg9lpp60bjmzvagns42vqlz3yq5kx-nix-2.3.7"; - aarch64-linux = "/nix/store/cfvf8nl8mwyw817by5y8zd3s8pnf5m9f-nix-2.3.7"; - x86_64-darwin = "/nix/store/5ira7xgs92inqz1x8l0n1wci4r79hnd0-nix-2.3.7"; + x86_64-linux = "/nix/store/qxayqjmlpqnmwg5yfsjjayw220ls8i2r-nix-2.3.8"; + i686-linux = "/nix/store/5834psaay75048jp6d07liqh4j0v1swd-nix-2.3.8"; + aarch64-linux = "/nix/store/pic90a5fxvifz05jzkd0zak21f9mjin6-nix-2.3.8"; + x86_64-darwin = "/nix/store/cjx3f8z12wlayp5983kli2a52ipi8jz2-nix-2.3.8"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index d92981e479a..791780ae095 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -188,10 +188,10 @@ in rec { nix = nixStable; nixStable = callPackage common (rec { - name = "nix-2.3.7"; + name = "nix-2.3.8"; src = fetchurl { url = "https://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "dd8f52849414e5a878afe7e797aa4e22bab77c875d9da5a38d5f1bada704e596"; + sha256 = "c7119823c1eabdcc9e527cc96a91f11a0b0e63f3840a02fe7573538dad2dad2a"; }; inherit storeDir stateDir confDir boehmgc; -- cgit 1.4.1 From aab534b894c60e69199aba4cc57b8b3f8fd1a8c2 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 23 Oct 2020 17:33:10 +0200 Subject: nixos/nixos-build-vms: use `pkgs.qemu` for virtualisation When I test a change e.g. in the module system manually, I usually use `nixos-build-vms(8)` which also gives me a QEMU window where I can play around in the freshly built VM. It seems as this has changed recently when the default package for non-interactive VM tests using the same framework was switched to `pkgs.qemu_test` to reduce the closure size. While this is a reasonable decision for our CI tests, I think that you really want a QEMU window of the VM by default when using `nixos-build-vms(8)`. [1] bc2188b083dfbbe749a221023e2960b60d4c8951 --- nixos/modules/installer/tools/nixos-build-vms/build-vms.nix | 7 ++++++- nixos/modules/testing/test-instrumentation.nix | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix index 0c9f8522cc1..199e5f9206b 100644 --- a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix +++ b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix @@ -6,7 +6,12 @@ let nodes = builtins.mapAttrs (vm: module: { _file = "${networkExpr}@node-${vm}"; - imports = [ module ]; + imports = [ + module + ({ pkgs, ... }: { + virtualisation.qemu.package = pkgs.qemu; + }) + ]; }) (import networkExpr); in diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index e9f5eac7f5f..2986bd4c4e3 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -53,7 +53,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; }; # or declare virtualisation.qemu.console option in a module that's always imported virtualisation.qemu = { consoles = lib.optional (options ? virtualisation.qemu.consoles) qemuSerialDevice; - package = pkgs.qemu_test; + package = lib.mkDefault pkgs.qemu_test; }; boot.initrd.preDeviceCommands = -- cgit 1.4.1 From 39d15997672831054d13c10e0eb1a6823d2526a2 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 24 Oct 2020 11:13:27 -0400 Subject: installation-cd-graphical-gnome: add firefox to favorite-apps --- .../modules/installer/cd-dvd/installation-cd-graphical-gnome.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix index 8c98691116d..803bae4212e 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix @@ -9,7 +9,14 @@ with lib; isoImage.edition = "gnome"; - services.xserver.desktopManager.gnome3.enable = true; + services.xserver.desktopManager.gnome3 = { + # Add firefox to favorite-apps + favoriteAppsOverride = '' + [org.gnome.shell] + favorite-apps=[ 'firefox.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ] + ''; + enable = true; + }; services.xserver.displayManager = { gdm = { -- cgit 1.4.1 From d4fb7daafdc694d01befebe7d941bfd729568ccb Mon Sep 17 00:00:00 2001 From: Andreas Rammhold Date: Sun, 25 Oct 2020 00:59:59 +0200 Subject: nixos-build-vms: use the driverInteractive attribute instead This reverts commit aab534b894c60e69199aba4cc57b8b3f8fd1a8c2 & uses the driverInteractive attribute for the test driver instead. This has the same effect but removes the extra module in the nixos-build-vms code. --- nixos/modules/installer/tools/nixos-build-vms/build-vms.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix index 199e5f9206b..e49ceba2424 100644 --- a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix +++ b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix @@ -6,12 +6,7 @@ let nodes = builtins.mapAttrs (vm: module: { _file = "${networkExpr}@node-${vm}"; - imports = [ - module - ({ pkgs, ... }: { - virtualisation.qemu.package = pkgs.qemu; - }) - ]; + imports = [ module ]; }) (import networkExpr); in @@ -20,4 +15,4 @@ with import ../../../../lib/testing-python.nix { pkgs = import ../../../../.. { inherit system config; }; }; -(makeTest { inherit nodes; testScript = ""; }).driver +(makeTest { inherit nodes; testScript = ""; }).driverInteractive -- cgit 1.4.1 From 1338647a8c9e6ad2459f90b3c462d497544e96be Mon Sep 17 00:00:00 2001 From: hyperfekt Date: Wed, 14 Oct 2020 20:45:22 +0000 Subject: nixos-install: pass through keep-going flag --- nixos/doc/manual/man-nixos-install.xml | 17 +++++++++++++++++ nixos/modules/installer/tools/nixos-install.sh | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/man-nixos-install.xml b/nixos/doc/manual/man-nixos-install.xml index 12d01597199..91542d37cbd 100644 --- a/nixos/doc/manual/man-nixos-install.xml +++ b/nixos/doc/manual/man-nixos-install.xml @@ -106,6 +106,12 @@ + + + + + + @@ -301,6 +307,17 @@ + + + + + + + Causes Nix to continue building derivations as far as possible + in the face of failed builds. + + + diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 9279f11b4f3..9d49d4055e4 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -64,7 +64,7 @@ while [ "$#" -gt 0 ]; do --no-bootloader) noBootLoader=1 ;; - --show-trace|--impure) + --show-trace|--impure|--keep-going) extraBuildFlags+=("$i") ;; --help) -- cgit 1.4.1 From 27e9328895987728c499382f190a36d755eca9a2 Mon Sep 17 00:00:00 2001 From: Victor Nawothnig Date: Mon, 22 Jun 2020 21:40:41 +0200 Subject: Support virtio_scsi devices on nixos-generate-config --- nixos/modules/installer/tools/nixos-generate-config.pl | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 44f4c44a56c..6e3ddb875e1 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -183,6 +183,11 @@ sub pciCheck { push @imports, "(modulesPath + \"/hardware/network/broadcom-43xx.nix\")"; } + # In case this is a virtio scsi device, we need to explicitly make this available. + if ($vendor eq "0x1af4" && $device eq "0x1004") { + push @initrdAvailableKernelModules, "virtio_scsi"; + } + # Can't rely on $module here, since the module may not be loaded # due to missing firmware. Ideally we would check modules.pcimap # here. -- cgit 1.4.1 From 80097e57c90cd95ef55589a5fa9e06bad51d3746 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 20 Nov 2020 13:03:04 +0100 Subject: nix: 2.3.8 -> 2.3.9 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index bd70bd20013..699fb555615 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/qxayqjmlpqnmwg5yfsjjayw220ls8i2r-nix-2.3.8"; - i686-linux = "/nix/store/5834psaay75048jp6d07liqh4j0v1swd-nix-2.3.8"; - aarch64-linux = "/nix/store/pic90a5fxvifz05jzkd0zak21f9mjin6-nix-2.3.8"; - x86_64-darwin = "/nix/store/cjx3f8z12wlayp5983kli2a52ipi8jz2-nix-2.3.8"; + x86_64-linux = "/nix/store/fwak7l5jjl0py4wldsqjbv7p7rdzql0b-nix-2.3.9"; + i686-linux = "/nix/store/jlqrx9zw3vkwcczndaar5ban1j8g519z-nix-2.3.9"; + aarch64-linux = "/nix/store/kzvpzlm12185hw27l5znrprgvcja54d0-nix-2.3.9"; + x86_64-darwin = "/nix/store/kanh3awpf370pxfnjfvkh2m343wr3hj0-nix-2.3.9"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 2762a3df738..8e53a082c34 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -188,10 +188,10 @@ in rec { nix = nixStable; nixStable = callPackage common (rec { - name = "nix-2.3.8"; + name = "nix-2.3.9"; src = fetchurl { url = "https://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "c7119823c1eabdcc9e527cc96a91f11a0b0e63f3840a02fe7573538dad2dad2a"; + sha256 = "72331fdba220517a0ccabcf5c9735703c31674bfb4ef0b64da5d8f715d6022fa"; }; inherit storeDir stateDir confDir boehmgc; -- cgit 1.4.1 From bc49a0815ae860010b4d593b02f00ab6f07d50ea Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 24 Nov 2020 10:29:28 -0500 Subject: utillinux: rename to util-linux --- nixos/lib/make-disk-image.nix | 4 +-- nixos/modules/config/swap.nix | 2 +- nixos/modules/config/system-path.nix | 2 +- nixos/modules/config/zram.nix | 4 +-- nixos/modules/installer/cd-dvd/sd-image.nix | 6 ++-- .../installer/cd-dvd/system-tarball-sheevaplug.nix | 2 +- nixos/modules/programs/x2goserver.nix | 2 +- nixos/modules/security/pam_mount.nix | 2 +- nixos/modules/security/wrappers/default.nix | 4 +-- nixos/modules/services/admin/salt/master.nix | 2 +- nixos/modules/services/admin/salt/minion.nix | 2 +- nixos/modules/services/backup/tarsnap.nix | 4 +-- .../services/cluster/kubernetes/kubelet.nix | 2 +- nixos/modules/services/computing/torque/mom.nix | 2 +- nixos/modules/services/computing/torque/server.nix | 2 +- .../continuous-integration/gitlab-runner.nix | 2 +- nixos/modules/services/databases/riak.nix | 2 +- .../services/desktops/profile-sync-daemon.nix | 4 +-- nixos/modules/services/hardware/udev.nix | 6 ++-- nixos/modules/services/misc/fstrim.nix | 2 +- nixos/modules/services/misc/gitlab.nix | 2 +- nixos/modules/services/misc/matrix-synapse.nix | 2 +- nixos/modules/services/misc/nix-daemon.nix | 2 +- nixos/modules/services/monitoring/netdata.nix | 2 +- nixos/modules/services/monitoring/smartd.nix | 2 +- .../network-filesystems/openafs/client.nix | 2 +- .../services/network-filesystems/xtreemfs.nix | 6 ++-- .../modules/services/networking/networkmanager.nix | 2 +- .../networking/strongswan-swanctl/module.nix | 2 +- nixos/modules/services/networking/strongswan.nix | 2 +- nixos/modules/services/system/cloud-init.nix | 2 +- nixos/modules/services/torrent/transmission.nix | 6 ++-- nixos/modules/services/ttys/agetty.nix | 2 +- nixos/modules/services/web-apps/gerrit.nix | 2 +- .../services/web-servers/apache-httpd/default.nix | 4 +-- nixos/modules/services/x11/terminal-server.nix | 2 +- .../system/activation/activation-script.nix | 2 +- nixos/modules/system/activation/top-level.nix | 3 +- nixos/modules/system/boot/grow-partition.nix | 4 +-- nixos/modules/system/boot/loader/grub/grub.nix | 4 +-- nixos/modules/system/boot/shutdown.nix | 2 +- nixos/modules/system/boot/stage-1.nix | 6 ++-- nixos/modules/system/boot/stage-2.nix | 2 +- nixos/modules/tasks/filesystems.nix | 2 +- nixos/modules/tasks/filesystems/unionfs-fuse.nix | 6 ++-- nixos/modules/tasks/filesystems/zfs.nix | 2 +- nixos/modules/virtualisation/amazon-image.nix | 2 +- nixos/modules/virtualisation/azure-agent.nix | 2 +- nixos/modules/virtualisation/brightbox-image.nix | 2 +- nixos/modules/virtualisation/qemu-vm.nix | 2 +- nixos/modules/virtualisation/xen-dom0.nix | 4 +-- nixos/tests/os-prober.nix | 2 +- nixos/tests/systemd.nix | 2 +- nixos/tests/virtualbox.nix | 6 ++-- pkgs/applications/audio/clerk/default.nix | 4 +-- pkgs/applications/audio/strawberry/default.nix | 4 +-- pkgs/applications/audio/whipper/default.nix | 4 +-- pkgs/applications/blockchains/bitcoin-abc.nix | 4 +-- pkgs/applications/blockchains/bitcoin-classic.nix | 4 +-- pkgs/applications/blockchains/bitcoin-knots.nix | 4 +-- .../applications/blockchains/bitcoin-unlimited.nix | 4 +-- pkgs/applications/blockchains/bitcoin.nix | 4 +-- pkgs/applications/blockchains/dashpay.nix | 4 +-- pkgs/applications/blockchains/dogecoin.nix | 4 +-- pkgs/applications/blockchains/exodus/default.nix | 4 +-- pkgs/applications/blockchains/litecoin.nix | 4 +-- pkgs/applications/blockchains/pivx.nix | 4 +-- pkgs/applications/blockchains/zcash/default.nix | 4 +-- pkgs/applications/graphics/comical/default.nix | 4 +-- pkgs/applications/misc/clight/clightd.nix | 4 +-- pkgs/applications/misc/clipmenu/default.nix | 4 +-- pkgs/applications/misc/corectrl/default.nix | 4 +-- pkgs/applications/misc/imag/default.nix | 4 +-- pkgs/applications/misc/lutris/fhsenv.nix | 2 +- pkgs/applications/misc/multibootusb/default.nix | 4 +-- .../applications/misc/todoist-electron/default.nix | 4 +-- pkgs/applications/misc/udevil/default.nix | 8 +++--- pkgs/applications/misc/vifm/default.nix | 4 +-- .../networking/browsers/chromium/common.nix | 4 +-- .../networking/browsers/google-chrome/default.nix | 4 +-- .../browsers/ungoogled-chromium/common.nix | 4 +-- .../networking/cluster/k3s/default.nix | 4 +-- .../networking/cluster/openshift/default.nix | 2 +- .../cluster/spacegun/node-composition.nix | 2 +- pkgs/applications/networking/firehol/default.nix | 4 +-- .../matrix-recorder/composition.nix | 2 +- .../matrix-recorder/node-env.nix | 8 +++--- .../telegram/tdesktop/default.nix | 4 +-- .../instant-messengers/zoom-us/default.nix | 4 +-- .../networking/remote/x2goserver/default.nix | 4 +-- pkgs/applications/networking/testssl/default.nix | 4 +-- pkgs/applications/office/libreoffice/default.nix | 4 +-- pkgs/applications/office/softmaker/generic.nix | 4 +-- pkgs/applications/science/math/calc/default.nix | 4 +-- .../terminal-emulators/roxterm/default.nix | 4 +-- .../commitizen/node-composition.nix | 2 +- .../version-management/commitizen/node-env.nix | 8 +++--- .../version-management/git-and-tools/default.nix | 2 +- .../git-and-tools/git-recent/default.nix | 6 ++-- .../git-and-tools/hub/default.nix | 4 +-- .../git-and-tools/transcrypt/default.nix | 6 ++-- pkgs/applications/video/vcs/default.nix | 4 +-- pkgs/applications/video/vdr/plugins.nix | 4 +-- pkgs/applications/virtualization/OVMF/default.nix | 4 +-- .../virtualization/containerd/default.nix | 4 +-- pkgs/applications/virtualization/cri-o/wrapper.nix | 4 +-- .../applications/virtualization/docker/default.nix | 4 +-- .../applications/virtualization/podman/wrapper.nix | 4 +-- .../virtualization/singularity/default.nix | 4 +-- .../virtualization/virt-manager/qt.nix | 4 +-- pkgs/applications/virtualization/xen/generic.nix | 8 +++--- pkgs/build-support/docker/default.nix | 4 +-- pkgs/build-support/singularity-tools/default.nix | 4 +-- pkgs/build-support/vm/default.nix | 32 +++++++++++----------- pkgs/desktops/enlightenment/efl/default.nix | 4 +-- pkgs/desktops/plasma-5/discover.nix | 4 +-- pkgs/desktops/plasma-5/plasma-desktop/default.nix | 4 +-- .../compilers/elm/packages/node-composition.nix | 2 +- pkgs/development/compilers/osl/default.nix | 4 +-- .../haskell-modules/hackage-packages.nix | 6 ++-- pkgs/development/libraries/bobcat/default.nix | 4 +-- pkgs/development/libraries/glib/default.nix | 8 +++--- pkgs/development/libraries/gnutls/default.nix | 4 +-- pkgs/development/libraries/hyperscan/default.nix | 4 +-- pkgs/development/libraries/kpmcore/default.nix | 4 +-- pkgs/development/libraries/libblockdev/default.nix | 4 +-- pkgs/development/libraries/libndctl/default.nix | 4 +-- pkgs/development/libraries/libseccomp/default.nix | 4 +-- pkgs/development/libraries/libvirt/5.9.0.nix | 4 +-- pkgs/development/libraries/libvirt/default.nix | 4 +-- pkgs/development/libraries/libxsmm/default.nix | 4 +-- pkgs/development/libraries/speechd/default.nix | 4 +-- pkgs/development/libraries/volume-key/default.nix | 4 +-- .../development/misc/google-clasp/google-clasp.nix | 2 +- pkgs/development/mobile/abootimg/default.nix | 4 +-- pkgs/development/node-packages/composition.nix | 2 +- pkgs/development/node-packages/node-env.nix | 8 +++--- pkgs/development/python-modules/blivet/default.nix | 6 ++-- .../python-modules/coloredlogs/default.nix | 4 +-- .../python-modules/git-annex-adapter/default.nix | 4 +-- pkgs/development/python-modules/nuitka/default.nix | 2 +- .../development/python-modules/pytorch/default.nix | 4 +-- .../python-modules/supervise_api/default.nix | 4 +-- pkgs/development/python-modules/xlib/default.nix | 4 +-- pkgs/development/r-modules/generic-builder.nix | 4 +-- .../ruby-modules/gem-config/default.nix | 6 ++-- pkgs/development/tools/buildah/wrapper.nix | 4 +-- pkgs/development/tools/git-quick-stats/default.nix | 4 +-- pkgs/development/tools/halfempty/default.nix | 4 +-- pkgs/development/tools/misc/creduce/default.nix | 4 +-- .../tools/misc/usb-modeswitch/default.nix | 4 +-- pkgs/development/tools/misc/yodl/default.nix | 4 +-- pkgs/development/web/newman/node-composition.nix | 2 +- pkgs/development/web/newman/node-env.nix | 8 +++--- pkgs/development/web/nodejs/nodejs.nix | 4 +-- pkgs/development/web/remarkjs/nodepkgs.nix | 2 +- pkgs/games/unnethack/default.nix | 4 +-- pkgs/misc/base16-builder/node-packages.nix | 2 +- pkgs/misc/cups/drivers/mfcj6510dwlpr/default.nix | 4 +-- pkgs/misc/drivers/hplip/3.16.11.nix | 4 +-- pkgs/misc/drivers/hplip/3.18.5.nix | 4 +-- pkgs/misc/drivers/hplip/default.nix | 4 +-- pkgs/misc/emulators/cdemu/libmirage.nix | 4 +-- pkgs/misc/emulators/qmc2/default.nix | 4 +-- pkgs/misc/emulators/wine/staging.nix | 2 +- .../ms-vsliveshare-vsliveshare/default.nix | 4 +-- pkgs/os-specific/linux/displaylink/default.nix | 4 +-- pkgs/os-specific/linux/eudev/default.nix | 4 +-- pkgs/os-specific/linux/fuse/common.nix | 4 +-- pkgs/os-specific/linux/fuse/default.nix | 4 +-- .../linux/kernel/linux-hardkernel-4.14.nix | 2 +- pkgs/os-specific/linux/kernel/manual-config.nix | 2 +- pkgs/os-specific/linux/ldm/default.nix | 4 +-- pkgs/os-specific/linux/lvm2/default.nix | 2 +- pkgs/os-specific/linux/lxcfs/default.nix | 6 ++-- pkgs/os-specific/linux/mcelog/default.nix | 4 +-- pkgs/os-specific/linux/mdadm/default.nix | 4 +-- pkgs/os-specific/linux/nfs-utils/default.nix | 4 +-- pkgs/os-specific/linux/open-iscsi/default.nix | 4 +-- pkgs/os-specific/linux/openrazer/driver.nix | 4 +-- pkgs/os-specific/linux/openvswitch/default.nix | 4 +-- pkgs/os-specific/linux/openvswitch/lts.nix | 4 +-- pkgs/os-specific/linux/pam_mount/default.nix | 6 ++-- pkgs/os-specific/linux/pktgen/default.nix | 4 +-- pkgs/os-specific/linux/pm-utils/default.nix | 4 +-- pkgs/os-specific/linux/pmount/default.nix | 8 +++--- pkgs/os-specific/linux/prl-tools/default.nix | 4 +-- pkgs/os-specific/linux/systemd/default.nix | 16 +++++------ pkgs/os-specific/linux/tomb/default.nix | 4 +-- pkgs/os-specific/linux/udisks/1-default.nix | 4 +-- pkgs/os-specific/linux/udisks/2-default.nix | 6 ++-- pkgs/os-specific/linux/zfs/default.nix | 14 +++++----- pkgs/servers/apcupsd/default.nix | 4 +-- pkgs/servers/asterisk/default.nix | 4 +-- pkgs/servers/computing/torque/default.nix | 4 +-- pkgs/servers/hylafaxplus/default.nix | 4 +-- .../matrix-appservice-discord/node-composition.nix | 2 +- .../matrix-appservice-slack/node-composition.nix | 2 +- pkgs/servers/search/elasticsearch/6.x.nix | 6 ++-- pkgs/servers/search/elasticsearch/7.x.nix | 6 ++-- pkgs/servers/web-apps/cryptpad/node-packages.nix | 2 +- pkgs/servers/xmpp/ejabberd/default.nix | 4 +-- pkgs/servers/zigbee2mqtt/node.nix | 2 +- pkgs/servers/zoneminder/default.nix | 4 +-- pkgs/shells/bash/4.4.nix | 4 +-- pkgs/shells/bash/5.0.nix | 4 +-- pkgs/shells/fish/default.nix | 4 +-- pkgs/tools/X11/xpra/default.nix | 4 +-- pkgs/tools/archivers/fsarchiver/default.nix | 4 +-- pkgs/tools/backup/btrbk/default.nix | 4 +-- pkgs/tools/backup/duplicity/default.nix | 4 +-- pkgs/tools/backup/ori/default.nix | 4 +-- pkgs/tools/bluetooth/blueberry/default.nix | 8 +++--- pkgs/tools/cd-dvd/bashburn/default.nix | 6 ++-- pkgs/tools/cd-dvd/unetbootin/default.nix | 8 +++--- pkgs/tools/compression/pigz/default.nix | 4 +-- pkgs/tools/filesystems/bcache-tools/default.nix | 4 +-- pkgs/tools/filesystems/bees/default.nix | 7 +++-- pkgs/tools/filesystems/ceph/default.nix | 4 +-- pkgs/tools/filesystems/fatresize/default.nix | 6 ++-- pkgs/tools/filesystems/glusterfs/default.nix | 10 +++---- pkgs/tools/filesystems/nixpart/0.4/blivet.nix | 6 ++-- pkgs/tools/filesystems/nixpart/0.4/default.nix | 6 ++-- pkgs/tools/filesystems/nixpart/0.4/lvm2.nix | 4 +-- pkgs/tools/filesystems/nixpart/0.4/parted.nix | 4 +-- pkgs/tools/filesystems/ntfs-3g/default.nix | 6 ++-- pkgs/tools/misc/calamares/default.nix | 4 +-- pkgs/tools/misc/cloud-utils/default.nix | 4 +-- pkgs/tools/misc/debootstrap/default.nix | 4 +-- pkgs/tools/misc/etcher/default.nix | 4 +-- pkgs/tools/misc/gparted/default.nix | 4 +-- pkgs/tools/misc/memtest86-efi/default.nix | 4 +-- pkgs/tools/misc/ostree/default.nix | 4 +-- pkgs/tools/misc/parted/default.nix | 4 +-- pkgs/tools/misc/partition-manager/default.nix | 4 +-- pkgs/tools/misc/profile-sync-daemon/default.nix | 4 +-- pkgs/tools/misc/rmlint/default.nix | 6 ++-- pkgs/tools/misc/rpm-ostree/default.nix | 4 +-- pkgs/tools/misc/snapper/default.nix | 4 +-- pkgs/tools/misc/tlp/default.nix | 4 +-- pkgs/tools/misc/woeusb/default.nix | 4 +-- pkgs/tools/misc/xfstests/default.nix | 4 +-- pkgs/tools/misc/xvfb-run/default.nix | 4 +-- pkgs/tools/networking/airfield/node.nix | 2 +- pkgs/tools/networking/bud/default.nix | 4 +-- pkgs/tools/networking/cjdns/default.nix | 4 +-- pkgs/tools/networking/openvpn/default.nix | 4 +-- .../networking/openvpn/openvpn_learnaddress.nix | 6 ++-- .../networking/openvpn/update-systemd-resolved.nix | 4 +-- pkgs/tools/networking/shorewall/default.nix | 6 ++-- pkgs/tools/networking/tgt/default.nix | 2 +- pkgs/tools/package-management/nixui/nixui.nix | 2 +- pkgs/tools/security/ecryptfs/default.nix | 6 ++-- pkgs/tools/security/pass/rofi-pass.nix | 4 +-- pkgs/tools/security/scrypt/default.nix | 4 +-- pkgs/tools/system/facter/default.nix | 4 +-- pkgs/tools/system/inxi/default.nix | 4 +-- pkgs/tools/system/rofi-systemd/default.nix | 4 +-- .../alpine-make-vm-image/default.nix | 4 +-- .../google-compute-engine/default.nix | 8 +++--- .../virtualization/nixos-container/default.nix | 4 +-- pkgs/top-level/aliases.nix | 3 +- pkgs/top-level/all-packages.nix | 30 ++++++++++---------- pkgs/top-level/release-small.nix | 4 +-- pkgs/top-level/unix-tools.nix | 32 +++++++++++----------- 265 files changed, 574 insertions(+), 571 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index a4a488a1b3e..0ad0cf1fef5 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -134,7 +134,7 @@ let format' = format; in let binPath = with pkgs; makeBinPath ( [ rsync - utillinux + util-linux parted e2fsprogs lkl @@ -239,7 +239,7 @@ let format' = format; in let in pkgs.vmTools.runInLinuxVM ( pkgs.runCommand name { preVM = prepareImage; - buildInputs = with pkgs; [ utillinux e2fsprogs dosfstools ]; + buildInputs = with pkgs; [ util-linux e2fsprogs dosfstools ]; postVM = '' ${if format == "raw" then '' mv $diskImage $out/${filename} diff --git a/nixos/modules/config/swap.nix b/nixos/modules/config/swap.nix index adb4e229421..4bb66e9b514 100644 --- a/nixos/modules/config/swap.nix +++ b/nixos/modules/config/swap.nix @@ -187,7 +187,7 @@ in before = [ "${realDevice'}.swap" ]; # If swap is encrypted, depending on rngd resolves a possible entropy starvation during boot after = mkIf (config.security.rngd.enable && sw.randomEncryption.enable) [ "rngd.service" ]; - path = [ pkgs.utillinux ] ++ optional sw.randomEncryption.enable pkgs.cryptsetup; + path = [ pkgs.util-linux ] ++ optional sw.randomEncryption.enable pkgs.cryptsetup; script = '' diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index c65fa1a684f..27d1cef849b 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -37,7 +37,7 @@ let pkgs.procps pkgs.su pkgs.time - pkgs.utillinux + pkgs.util-linux pkgs.which pkgs.zstd ]; diff --git a/nixos/modules/config/zram.nix b/nixos/modules/config/zram.nix index 5e9870bf6b1..341101bc184 100644 --- a/nixos/modules/config/zram.nix +++ b/nixos/modules/config/zram.nix @@ -149,8 +149,8 @@ in print int($2*${toString cfg.memoryPercent}/100.0/${toString devicesCount}*1024) }' /proc/meminfo) - ${pkgs.utillinux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev} - ${pkgs.utillinux}/sbin/mkswap /dev/${dev} + ${pkgs.util-linux}/sbin/zramctl --size $mem --algorithm ${cfg.algorithm} /dev/${dev} + ${pkgs.util-linux}/sbin/mkswap /dev/${dev} ''; restartIfChanged = false; }; diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index 231c7bf0a6c..d9799aa69c9 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -147,10 +147,10 @@ in sdImage.storePaths = [ config.system.build.toplevel ]; system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, - mtools, libfaketime, utillinux, zstd }: stdenv.mkDerivation { + mtools, libfaketime, util-linux, zstd }: stdenv.mkDerivation { name = config.sdImage.imageName; - nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime utillinux zstd ]; + nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ]; inherit (config.sdImage) compressImage; @@ -221,7 +221,7 @@ in set -euo pipefail set -x # Figure out device names for the boot device and root filesystem. - rootPart=$(${pkgs.utillinux}/bin/findmnt -n -o SOURCE /) + rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /) bootDevice=$(lsblk -npo PKNAME $rootPart) # Resize the root partition and the filesystem to fit the disk diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 8408f56f94f..0e67ae7de69 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -96,7 +96,7 @@ in boot.initrd.extraUtilsCommands = '' - copy_bin_and_libs ${pkgs.utillinux}/sbin/hwclock + copy_bin_and_libs ${pkgs.util-linux}/sbin/hwclock ''; boot.initrd.postDeviceCommands = diff --git a/nixos/modules/programs/x2goserver.nix b/nixos/modules/programs/x2goserver.nix index 7d74231e956..05707a56542 100644 --- a/nixos/modules/programs/x2goserver.nix +++ b/nixos/modules/programs/x2goserver.nix @@ -110,7 +110,7 @@ in { "L+ /usr/local/bin/chmod - - - - ${coreutils}/bin/chmod" "L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp" "L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed" - "L+ /usr/local/bin/setsid - - - - ${utillinux}/bin/setsid" + "L+ /usr/local/bin/setsid - - - - ${util-linux}/bin/setsid" "L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr" "L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap" ]; diff --git a/nixos/modules/security/pam_mount.nix b/nixos/modules/security/pam_mount.nix index 89211bfbde4..9a0143c155c 100644 --- a/nixos/modules/security/pam_mount.nix +++ b/nixos/modules/security/pam_mount.nix @@ -60,7 +60,7 @@ in - ${pkgs.utillinux}/bin + ${pkgs.util-linux}/bin diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix index 52de21bca9b..de6213714ac 100644 --- a/nixos/modules/security/wrappers/default.nix +++ b/nixos/modules/security/wrappers/default.nix @@ -163,8 +163,8 @@ in # These are mount related wrappers that require the +s permission. fusermount.source = "${pkgs.fuse}/bin/fusermount"; fusermount3.source = "${pkgs.fuse3}/bin/fusermount3"; - mount.source = "${lib.getBin pkgs.utillinux}/bin/mount"; - umount.source = "${lib.getBin pkgs.utillinux}/bin/umount"; + mount.source = "${lib.getBin pkgs.util-linux}/bin/mount"; + umount.source = "${lib.getBin pkgs.util-linux}/bin/umount"; }; boot.specialFileSystems.${parentWrapperDir} = { diff --git a/nixos/modules/services/admin/salt/master.nix b/nixos/modules/services/admin/salt/master.nix index cb803d323bb..a3069c81c19 100644 --- a/nixos/modules/services/admin/salt/master.nix +++ b/nixos/modules/services/admin/salt/master.nix @@ -45,7 +45,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; path = with pkgs; [ - utillinux # for dmesg + util-linux # for dmesg ]; serviceConfig = { ExecStart = "${pkgs.salt}/bin/salt-master"; diff --git a/nixos/modules/services/admin/salt/minion.nix b/nixos/modules/services/admin/salt/minion.nix index c8fa9461a20..ac124c570d8 100644 --- a/nixos/modules/services/admin/salt/minion.nix +++ b/nixos/modules/services/admin/salt/minion.nix @@ -50,7 +50,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; path = with pkgs; [ - utillinux + util-linux ]; serviceConfig = { ExecStart = "${pkgs.salt}/bin/salt-minion"; diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix index 6d99a1efb61..e1200731c2c 100644 --- a/nixos/modules/services/backup/tarsnap.nix +++ b/nixos/modules/services/backup/tarsnap.nix @@ -308,7 +308,7 @@ in requires = [ "network-online.target" ]; after = [ "network-online.target" ]; - path = with pkgs; [ iputils tarsnap utillinux ]; + path = with pkgs; [ iputils tarsnap util-linux ]; # In order for the persistent tarsnap timer to work reliably, we have to # make sure that the tarsnap server is reachable after systemd starts up @@ -355,7 +355,7 @@ in description = "Tarsnap restore '${name}'"; requires = [ "network-online.target" ]; - path = with pkgs; [ iputils tarsnap utillinux ]; + path = with pkgs; [ iputils tarsnap util-linux ]; script = let tarsnap = ''tarsnap --configfile "/etc/tarsnap/${name}.conf"''; diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix index c3d67552cc8..2b6e45ba1b9 100644 --- a/nixos/modules/services/cluster/kubernetes/kubelet.nix +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -241,7 +241,7 @@ in description = "Kubernetes Kubelet Service"; wantedBy = [ "kubernetes.target" ]; after = [ "network.target" "docker.service" "kube-apiserver.service" ]; - path = with pkgs; [ gitMinimal openssh docker utillinux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path; + path = with pkgs; [ gitMinimal openssh docker util-linux iproute ethtool thin-provisioning-tools iptables socat ] ++ top.path; preStart = '' ${concatMapStrings (img: '' echo "Seeding docker image: ${img}" diff --git a/nixos/modules/services/computing/torque/mom.nix b/nixos/modules/services/computing/torque/mom.nix index 0c5f43cf3e6..6747bd4b0d5 100644 --- a/nixos/modules/services/computing/torque/mom.nix +++ b/nixos/modules/services/computing/torque/mom.nix @@ -32,7 +32,7 @@ in environment.systemPackages = [ pkgs.torque ]; systemd.services.torque-mom-init = { - path = with pkgs; [ torque utillinux procps inetutils ]; + path = with pkgs; [ torque util-linux procps inetutils ]; script = '' pbs_mkdirs -v aux diff --git a/nixos/modules/services/computing/torque/server.nix b/nixos/modules/services/computing/torque/server.nix index 21c5a4f4672..8d923fc04d4 100644 --- a/nixos/modules/services/computing/torque/server.nix +++ b/nixos/modules/services/computing/torque/server.nix @@ -21,7 +21,7 @@ in environment.systemPackages = [ pkgs.torque ]; systemd.services.torque-server-init = { - path = with pkgs; [ torque utillinux procps inetutils ]; + path = with pkgs; [ torque util-linux procps inetutils ]; script = '' tmpsetup=$(mktemp -t torque-XXXX) diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix index 431555309cc..c358a5db77c 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix @@ -541,7 +541,7 @@ in jq moreutils remarshal - utillinux + util-linux cfg.package ] ++ cfg.extraPackages; reloadIfChanged = true; diff --git a/nixos/modules/services/databases/riak.nix b/nixos/modules/services/databases/riak.nix index 885215209bd..657eeea87bf 100644 --- a/nixos/modules/services/databases/riak.nix +++ b/nixos/modules/services/databases/riak.nix @@ -118,7 +118,7 @@ in after = [ "network.target" ]; path = [ - pkgs.utillinux # for `logger` + pkgs.util-linux # for `logger` pkgs.bash ]; diff --git a/nixos/modules/services/desktops/profile-sync-daemon.nix b/nixos/modules/services/desktops/profile-sync-daemon.nix index a8ac22ac127..6206295272f 100644 --- a/nixos/modules/services/desktops/profile-sync-daemon.nix +++ b/nixos/modules/services/desktops/profile-sync-daemon.nix @@ -36,7 +36,7 @@ in { description = "Profile Sync daemon"; wants = [ "psd-resync.service" ]; wantedBy = [ "default.target" ]; - path = with pkgs; [ rsync kmod gawk nettools utillinux profile-sync-daemon ]; + path = with pkgs; [ rsync kmod gawk nettools util-linux profile-sync-daemon ]; unitConfig = { RequiresMountsFor = [ "/home/" ]; }; @@ -55,7 +55,7 @@ in { wants = [ "psd-resync.timer" ]; partOf = [ "psd.service" ]; wantedBy = [ "default.target" ]; - path = with pkgs; [ rsync kmod gawk nettools utillinux profile-sync-daemon ]; + path = with pkgs; [ rsync kmod gawk nettools util-linux profile-sync-daemon ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.profile-sync-daemon}/bin/profile-sync-daemon resync"; diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix index 587b9b0234a..a212adb7342 100644 --- a/nixos/modules/services/hardware/udev.nix +++ b/nixos/modules/services/hardware/udev.nix @@ -57,8 +57,8 @@ let substituteInPlace $i \ --replace \"/sbin/modprobe \"${pkgs.kmod}/bin/modprobe \ --replace \"/sbin/mdadm \"${pkgs.mdadm}/sbin/mdadm \ - --replace \"/sbin/blkid \"${pkgs.utillinux}/sbin/blkid \ - --replace \"/bin/mount \"${pkgs.utillinux}/bin/mount \ + --replace \"/sbin/blkid \"${pkgs.util-linux}/sbin/blkid \ + --replace \"/bin/mount \"${pkgs.util-linux}/bin/mount \ --replace /usr/bin/readlink ${pkgs.coreutils}/bin/readlink \ --replace /usr/bin/basename ${pkgs.coreutils}/bin/basename done @@ -280,7 +280,7 @@ in services.udev.packages = [ extraUdevRules extraHwdbFile ]; - services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.utillinux udev ]; + services.udev.path = [ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.util-linux udev ]; boot.kernelParams = mkIf (!config.networking.usePredictableInterfaceNames) [ "net.ifnames=0" ]; diff --git a/nixos/modules/services/misc/fstrim.nix b/nixos/modules/services/misc/fstrim.nix index b8841a7fe74..5258f5acb41 100644 --- a/nixos/modules/services/misc/fstrim.nix +++ b/nixos/modules/services/misc/fstrim.nix @@ -31,7 +31,7 @@ in { config = mkIf cfg.enable { - systemd.packages = [ pkgs.utillinux ]; + systemd.packages = [ pkgs.util-linux ]; systemd.timers.fstrim = { timerConfig = { diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index c4037b49e7e..93420399279 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -658,7 +658,7 @@ in { script = '' set -eu - PSQL="${pkgs.utillinux}/bin/runuser -u ${pgsql.superUser} -- psql --port=${toString pgsql.port}" + PSQL="${pkgs.util-linux}/bin/runuser -u ${pgsql.superUser} -- psql --port=${toString pgsql.port}" $PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || $PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"' current_owner=$($PSQL -tAc "SELECT pg_catalog.pg_get_userbyid(datdba) FROM pg_catalog.pg_database WHERE datname = '${cfg.databaseName}'") diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix index 7f42184735c..3abb9b7d69c 100644 --- a/nixos/modules/services/misc/matrix-synapse.nix +++ b/nixos/modules/services/misc/matrix-synapse.nix @@ -713,7 +713,7 @@ in { ${ concatMapStringsSep "\n " (x: "--config-path ${x} \\") ([ configFile ] ++ cfg.extraConfigFiles) } --keys-directory ${cfg.dataDir} ''; - ExecReload = "${pkgs.utillinux}/bin/kill -HUP $MAINPID"; + ExecReload = "${pkgs.util-linux}/bin/kill -HUP $MAINPID"; Restart = "on-failure"; }; }; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index ed05882a634..0eeff31d6c4 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -539,7 +539,7 @@ in systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ]; systemd.services.nix-daemon = - { path = [ nix pkgs.utillinux config.programs.ssh.package ] + { path = [ nix pkgs.util-linux config.programs.ssh.package ] ++ optionals cfg.distributedBuilds [ pkgs.gzip ]; environment = cfg.envVars diff --git a/nixos/modules/services/monitoring/netdata.nix b/nixos/modules/services/monitoring/netdata.nix index 2e73e15d3a8..db51fdbd2c6 100644 --- a/nixos/modules/services/monitoring/netdata.nix +++ b/nixos/modules/services/monitoring/netdata.nix @@ -142,7 +142,7 @@ in { serviceConfig = { Environment="PYTHONPATH=${cfg.package}/libexec/netdata/python.d/python_modules"; ExecStart = "${cfg.package}/bin/netdata -P /run/netdata/netdata.pid -D -c ${configFile}"; - ExecReload = "${pkgs.utillinux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID"; + ExecReload = "${pkgs.util-linux}/bin/kill -s HUP -s USR1 -s USR2 $MAINPID"; TimeoutStopSec = 60; Restart = "on-failure"; # User and group diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix index c72b4abfcdc..3ea25437114 100644 --- a/nixos/modules/services/monitoring/smartd.nix +++ b/nixos/modules/services/monitoring/smartd.nix @@ -36,7 +36,7 @@ let $SMARTD_MESSAGE EOF - } | ${pkgs.utillinux}/bin/wall 2>/dev/null + } | ${pkgs.util-linux}/bin/wall 2>/dev/null ''} ${optionalString nx.enable '' export DISPLAY=${nx.display} diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix index 677111814a0..03884cb7297 100644 --- a/nixos/modules/services/network-filesystems/openafs/client.nix +++ b/nixos/modules/services/network-filesystems/openafs/client.nix @@ -244,7 +244,7 @@ in # postStop, then we get a hang + kernel oops, because AFS can't be # stopped simply by sending signals to processes. preStop = '' - ${pkgs.utillinux}/bin/umount ${cfg.mountPoint} + ${pkgs.util-linux}/bin/umount ${cfg.mountPoint} ${openafsBin}/sbin/afsd -shutdown ${pkgs.kmod}/sbin/rmmod libafs ''; diff --git a/nixos/modules/services/network-filesystems/xtreemfs.nix b/nixos/modules/services/network-filesystems/xtreemfs.nix index b8f8c1d7117..27a9fe847c5 100644 --- a/nixos/modules/services/network-filesystems/xtreemfs.nix +++ b/nixos/modules/services/network-filesystems/xtreemfs.nix @@ -112,7 +112,7 @@ in description = '' Must be set to a unique identifier, preferably a UUID according to RFC 4122. UUIDs can be generated with `uuidgen` command, found in - the `utillinux` package. + the `util-linux` package. ''; }; port = mkOption { @@ -232,7 +232,7 @@ in description = '' Must be set to a unique identifier, preferably a UUID according to RFC 4122. UUIDs can be generated with `uuidgen` command, found in - the `utillinux` package. + the `util-linux` package. ''; }; port = mkOption { @@ -370,7 +370,7 @@ in description = '' Must be set to a unique identifier, preferably a UUID according to RFC 4122. UUIDs can be generated with `uuidgen` command, found in - the `utillinux` package. + the `util-linux` package. ''; }; port = mkOption { diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 201a51ff70b..2e680544ec2 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -465,7 +465,7 @@ in { restartTriggers = [ configFile overrideNameserversScript ]; # useful binaries for user-specified hooks - path = [ pkgs.iproute pkgs.utillinux pkgs.coreutils ]; + path = [ pkgs.iproute pkgs.util-linux pkgs.coreutils ]; aliases = [ "dbus-org.freedesktop.nm-dispatcher.service" ]; }; diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix index 0fec3ef00ad..f67eedac296 100644 --- a/nixos/modules/services/networking/strongswan-swanctl/module.nix +++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix @@ -63,7 +63,7 @@ in { description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl"; wantedBy = [ "multi-user.target" ]; after = [ "network-online.target" ]; - path = with pkgs; [ kmod iproute iptables utillinux ]; + path = with pkgs; [ kmod iproute iptables util-linux ]; environment = { STRONGSWAN_CONF = pkgs.writeTextFile { name = "strongswan.conf"; diff --git a/nixos/modules/services/networking/strongswan.nix b/nixos/modules/services/networking/strongswan.nix index 13a1a897c5e..f6170b81365 100644 --- a/nixos/modules/services/networking/strongswan.nix +++ b/nixos/modules/services/networking/strongswan.nix @@ -152,7 +152,7 @@ in systemd.services.strongswan = { description = "strongSwan IPSec Service"; wantedBy = [ "multi-user.target" ]; - path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux + path = with pkgs; [ kmod iproute iptables util-linux ]; # XXX Linux after = [ "network-online.target" ]; environment = { STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; }; diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index 15fe822aec6..3518e0ee9dc 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -9,7 +9,7 @@ let cfg = config.services.cloud-init; nettools openssh shadow - utillinux + util-linux ] ++ optional cfg.btrfs.enable btrfs-progs ++ optional cfg.ext4.enable e2fsprogs ; diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix index 717c18d367f..7bec073e26f 100644 --- a/nixos/modules/services/torrent/transmission.nix +++ b/nixos/modules/services/torrent/transmission.nix @@ -397,9 +397,9 @@ in mr ${getLib pkgs.openssl}/lib/libcrypto*.so*, mr ${getLib pkgs.openssl}/lib/libssl*.so*, mr ${getLib pkgs.systemd}/lib/libsystemd*.so*, - mr ${getLib pkgs.utillinuxMinimal.out}/lib/libblkid.so*, - mr ${getLib pkgs.utillinuxMinimal.out}/lib/libmount.so*, - mr ${getLib pkgs.utillinuxMinimal.out}/lib/libuuid.so*, + mr ${getLib pkgs.util-linuxMinimal.out}/lib/libblkid.so*, + mr ${getLib pkgs.util-linuxMinimal.out}/lib/libmount.so*, + mr ${getLib pkgs.util-linuxMinimal.out}/lib/libuuid.so*, mr ${getLib pkgs.xz}/lib/liblzma*.so*, mr ${getLib pkgs.zlib}/lib/libz*.so*, diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix index f3a629f7af7..d07746be237 100644 --- a/nixos/modules/services/ttys/agetty.nix +++ b/nixos/modules/services/ttys/agetty.nix @@ -5,7 +5,7 @@ with lib; let autologinArg = optionalString (config.services.mingetty.autologinUser != null) "--autologin ${config.services.mingetty.autologinUser}"; - gettyCmd = extraArgs: "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}"; + gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}"; in diff --git a/nixos/modules/services/web-apps/gerrit.nix b/nixos/modules/services/web-apps/gerrit.nix index 657b1a4fc5b..864587aea56 100644 --- a/nixos/modules/services/web-apps/gerrit.nix +++ b/nixos/modules/services/web-apps/gerrit.nix @@ -143,7 +143,7 @@ in Set a UUID that uniquely identifies the server. This can be generated with - nix-shell -p utillinux --run uuidgen. + nix-shell -p util-linux --run uuidgen. ''; }; }; diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index 6ffda3d6361..dc78728d663 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -750,8 +750,8 @@ in # Get rid of old semaphores. These tend to accumulate across # server restarts, eventually preventing it from restarting # successfully. - for i in $(${pkgs.utillinux}/bin/ipcs -s | grep ' ${cfg.user} ' | cut -f2 -d ' '); do - ${pkgs.utillinux}/bin/ipcrm -s $i + for i in $(${pkgs.util-linux}/bin/ipcs -s | grep ' ${cfg.user} ' | cut -f2 -d ' '); do + ${pkgs.util-linux}/bin/ipcrm -s $i done ''; diff --git a/nixos/modules/services/x11/terminal-server.nix b/nixos/modules/services/x11/terminal-server.nix index 503c14c9b62..e6b50c21a95 100644 --- a/nixos/modules/services/x11/terminal-server.nix +++ b/nixos/modules/services/x11/terminal-server.nix @@ -32,7 +32,7 @@ with lib; path = [ pkgs.xorg.xorgserver.out pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth - pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash + pkgs.nettools pkgs.shadow pkgs.procps pkgs.util-linux pkgs.bash ]; environment.FD_GEOM = "1024x786x24"; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 18c77948cb9..3a6930314b1 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -25,7 +25,7 @@ let stdenv.cc.libc # nscd in update-users-groups.pl shadow nettools # needed for hostname - utillinux # needed for mount and mountpoint + util-linux # needed for mount and mountpoint ]; scriptType = with types; diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 2724d9f9cb6..03d7e749323 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -97,10 +97,11 @@ let allowSubstitutes = false; buildCommand = systemBuilder; - inherit (pkgs) utillinux coreutils; + inherit (pkgs) coreutils; systemd = config.systemd.package; shell = "${pkgs.bash}/bin/sh"; su = "${pkgs.shadow.su}/bin/su"; + utillinux = pkgs.util-linux; kernelParams = config.boot.kernelParams; installBootLoader = diff --git a/nixos/modules/system/boot/grow-partition.nix b/nixos/modules/system/boot/grow-partition.nix index be70c4ad9c8..87c981b24ce 100644 --- a/nixos/modules/system/boot/grow-partition.nix +++ b/nixos/modules/system/boot/grow-partition.nix @@ -20,8 +20,8 @@ with lib; boot.initrd.extraUtilsCommands = '' copy_bin_and_libs ${pkgs.gawk}/bin/gawk copy_bin_and_libs ${pkgs.gnused}/bin/sed - copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk - copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk + copy_bin_and_libs ${pkgs.util-linux}/sbin/sfdisk + copy_bin_and_libs ${pkgs.util-linux}/sbin/lsblk substitute "${pkgs.cloud-utils.guest}/bin/.growpart-wrapped" "$out/bin/growpart" \ --replace "${pkgs.bash}/bin/sh" "/bin/sh" \ diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 20e39628eab..09f7641dc9d 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -66,7 +66,7 @@ let extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios; path = with pkgs; makeBinPath ( - [ coreutils gnused gnugrep findutils diffutils btrfs-progs utillinux mdadm ] + [ coreutils gnused gnugrep findutils diffutils btrfs-progs util-linux mdadm ] ++ optional (cfg.efiSupport && (cfg.version == 2)) efibootmgr ++ optionals cfg.useOSProber [ busybox os-prober ]); font = if cfg.font == null then "" @@ -705,7 +705,7 @@ in let install-grub-pl = pkgs.substituteAll { src = ./install-grub.pl; - inherit (pkgs) utillinux; + utillinux = pkgs.util-linux; btrfsprogs = pkgs.btrfs-progs; }; in pkgs.writeScript "install-grub.sh" ('' diff --git a/nixos/modules/system/boot/shutdown.nix b/nixos/modules/system/boot/shutdown.nix index 11041066e07..8cda7b3aabe 100644 --- a/nixos/modules/system/boot/shutdown.nix +++ b/nixos/modules/system/boot/shutdown.nix @@ -18,7 +18,7 @@ with lib; serviceConfig = { Type = "oneshot"; - ExecStart = "${pkgs.utillinux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}"; + ExecStart = "${pkgs.util-linux}/sbin/hwclock --systohc ${if config.time.hardwareClockInLocalTime then "--localtime" else "--utc"}"; }; }; diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 6823e12847c..0f5787a1921 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -107,8 +107,8 @@ let copy_bin_and_libs $BIN done - # Copy some utillinux stuff. - copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid + # Copy some util-linux stuff. + copy_bin_and_libs ${pkgs.util-linux}/sbin/blkid # Copy dmsetup and lvm. copy_bin_and_libs ${getBin pkgs.lvm2}/bin/dmsetup @@ -235,7 +235,7 @@ let --replace scsi_id ${extraUtils}/bin/scsi_id \ --replace cdrom_id ${extraUtils}/bin/cdrom_id \ --replace ${pkgs.coreutils}/bin/basename ${extraUtils}/bin/basename \ - --replace ${pkgs.utillinux}/bin/blkid ${extraUtils}/bin/blkid \ + --replace ${pkgs.util-linux}/bin/blkid ${extraUtils}/bin/blkid \ --replace ${getBin pkgs.lvm2}/bin ${extraUtils}/bin \ --replace ${pkgs.mdadm}/sbin ${extraUtils}/sbin \ --replace ${pkgs.bash}/bin/sh ${extraUtils}/bin/sh \ diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix index dd6d83ee009..94bc34fea0d 100644 --- a/nixos/modules/system/boot/stage-2.nix +++ b/nixos/modules/system/boot/stage-2.nix @@ -17,7 +17,7 @@ let inherit (config.system.build) earlyMountScript; path = lib.makeBinPath ([ pkgs.coreutils - pkgs.utillinux + pkgs.util-linux ] ++ lib.optional useHostResolvConf pkgs.openresolv); fsPackagesPath = lib.makeBinPath config.system.fsPackages; postBootCommands = pkgs.writeText "local-cmds" diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index 3ea67dac714..a055072f9c9 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -286,7 +286,7 @@ in before = [ mountPoint' "systemd-fsck@${device'}.service" ]; requires = [ device'' ]; after = [ device'' ]; - path = [ pkgs.utillinux ] ++ config.system.fsPackages; + path = [ pkgs.util-linux ] ++ config.system.fsPackages; script = '' if ! [ -e "${fs.device}" ]; then exit 1; fi diff --git a/nixos/modules/tasks/filesystems/unionfs-fuse.nix b/nixos/modules/tasks/filesystems/unionfs-fuse.nix index 1dcc4c87e3c..f54f3559c34 100644 --- a/nixos/modules/tasks/filesystems/unionfs-fuse.nix +++ b/nixos/modules/tasks/filesystems/unionfs-fuse.nix @@ -18,9 +18,9 @@ boot.initrd.postDeviceCommands = '' # Hacky!!! fuse hard-codes the path to mount - mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin - ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin - ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}-bin/bin + mkdir -p /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin + ln -s $(which mount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin + ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.util-linux.name}-bin/bin ''; }) diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 7b6c2277741..6becc696273 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -440,7 +440,7 @@ in pkgs.gnugrep pkgs.gnused pkgs.nettools - pkgs.utillinux + pkgs.util-linux ]; }; diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 819e93a43e5..26297a7d0f1 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -124,7 +124,7 @@ in boot.initrd.extraUtilsCommands = '' # We need swapon in the initrd. - copy_bin_and_libs ${pkgs.utillinux}/sbin/swapon + copy_bin_and_libs ${pkgs.util-linux}/sbin/swapon ''; # Don't put old configurations in the GRUB menu. The user has no diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix index e85482af839..81413792eda 100644 --- a/nixos/modules/virtualisation/azure-agent.nix +++ b/nixos/modules/virtualisation/azure-agent.nix @@ -22,7 +22,7 @@ let nettools # for hostname procps # for pidof shadow # for useradd, usermod - utillinux # for (u)mount, fdisk, sfdisk, mkswap + util-linux # for (u)mount, fdisk, sfdisk, mkswap parted ]; pythonPath = [ pythonPackages.pyasn1 ]; diff --git a/nixos/modules/virtualisation/brightbox-image.nix b/nixos/modules/virtualisation/brightbox-image.nix index d0efbcc808a..4498e3a7361 100644 --- a/nixos/modules/virtualisation/brightbox-image.nix +++ b/nixos/modules/virtualisation/brightbox-image.nix @@ -27,7 +27,7 @@ in popd ''; diskImageBase = "nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw"; - buildInputs = [ pkgs.utillinux pkgs.perl ]; + buildInputs = [ pkgs.util-linux pkgs.perl ]; exportReferencesGraph = [ "closure" config.system.build.toplevel ]; } diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 33da920e94c..447d1f091c8 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -190,7 +190,7 @@ let '' else '' ''} ''; - buildInputs = [ pkgs.utillinux ]; + buildInputs = [ pkgs.util-linux ]; QEMU_OPTS = "-nographic -serial stdio -monitor none" + lib.optionalString cfg.useEFIBoot ( " -drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}" diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index 7b2a66c4348..5ad647769bb 100644 --- a/nixos/modules/virtualisation/xen-dom0.nix +++ b/nixos/modules/virtualisation/xen-dom0.nix @@ -201,8 +201,8 @@ in '' if [ -d /proc/xen ]; then ${pkgs.kmod}/bin/modprobe xenfs 2> /dev/null - ${pkgs.utillinux}/bin/mountpoint -q /proc/xen || \ - ${pkgs.utillinux}/bin/mount -t xenfs none /proc/xen + ${pkgs.util-linux}/bin/mountpoint -q /proc/xen || \ + ${pkgs.util-linux}/bin/mount -t xenfs none /proc/xen fi ''; diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix index be0235a4175..f778d30bdc0 100644 --- a/nixos/tests/os-prober.nix +++ b/nixos/tests/os-prober.nix @@ -9,7 +9,7 @@ let ${parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s mkdir /mnt ${e2fsprogs}/bin/mkfs.ext4 /dev/vda1 - ${utillinux}/bin/mount -t ext4 /dev/vda1 /mnt + ${util-linux}/bin/mount -t ext4 /dev/vda1 /mnt if test -e /mnt/.debug; then exec ${bash}/bin/sh diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix index dfa16eecfad..0fc788f860f 100644 --- a/nixos/tests/systemd.nix +++ b/nixos/tests/systemd.nix @@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { systemd.shutdown.test = pkgs.writeScript "test.shutdown" '' #!${pkgs.runtimeShell} - PATH=${lib.makeBinPath (with pkgs; [ utillinux coreutils ])} + PATH=${lib.makeBinPath (with pkgs; [ util-linux coreutils ])} mount -t 9p shared -o trans=virtio,version=9p2000.L /tmp/shared touch /tmp/shared/shutdown-test umount /tmp/shared diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix index 0d9eafa4a20..900ee610a70 100644 --- a/nixos/tests/virtualbox.nix +++ b/nixos/tests/virtualbox.nix @@ -24,7 +24,7 @@ let miniInit = '' #!${pkgs.runtimeShell} -xe - export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.utillinux ]}" + export PATH="${lib.makeBinPath [ pkgs.coreutils pkgs.util-linux ]}" mkdir -p /run/dbus cat > /etc/passwd < $out/bin/shell < $out/bin/shell < $out/bin/transcrypt-depspathprefix << EOF #!${stdenv.shell} diff --git a/pkgs/applications/video/vcs/default.nix b/pkgs/applications/video/vcs/default.nix index 0cbdeaaf6ff..0280cfb3f1f 100644 --- a/pkgs/applications/video/vcs/default.nix +++ b/pkgs/applications/video/vcs/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, makeWrapper -, coreutils, ffmpeg, gawk, gnugrep, gnused, imagemagick, mplayer, utillinux +, coreutils, ffmpeg, gawk, gnugrep, gnused, imagemagick, mplayer, util-linux , dejavu_fonts }: with stdenv.lib; let version = "1.13.4"; - runtimeDeps = [ coreutils ffmpeg gawk gnugrep gnused imagemagick mplayer utillinux ]; + runtimeDeps = [ coreutils ffmpeg gawk gnugrep gnused imagemagick mplayer util-linux ]; in stdenv.mkDerivation { pname = "vcs"; diff --git a/pkgs/applications/video/vdr/plugins.nix b/pkgs/applications/video/vdr/plugins.nix index 30cd93178c2..e72de8e61f2 100644 --- a/pkgs/applications/video/vdr/plugins.nix +++ b/pkgs/applications/video/vdr/plugins.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchgit, vdr, alsaLib, fetchFromGitHub , libvdpau, libxcb, xcbutilwm, graphicsmagick, libav, pcre, xorgserver, ffmpeg_3 -, libiconv, boost, libgcrypt, perl, utillinux, groff, libva, xorg, ncurses +, libiconv, boost, libgcrypt, perl, util-linux, groff, libva, xorg, ncurses , callPackage }: let mkPlugin = name: stdenv.mkDerivation { @@ -146,7 +146,7 @@ in { nativeBuildInputs = [ perl # for pod2man and pos2html - utillinux + util-linux groff ]; diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index 94d0ae94dbd..6301182771f 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, edk2, utillinux, nasm, iasl +{ stdenv, lib, edk2, util-linux, nasm, iasl , csmSupport ? false, seabios ? null , secureBoot ? false }: @@ -24,7 +24,7 @@ edk2.mkDerivation projectDscPath { outputs = [ "out" "fd" ]; - buildInputs = [ utillinux nasm iasl ]; + buildInputs = [ util-linux nasm iasl ]; hardeningDisable = [ "format" "stackprotector" "pic" "fortify" ]; diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix index f3bcefcf173..c01586ce5c8 100644 --- a/pkgs/applications/virtualization/containerd/default.nix +++ b/pkgs/applications/virtualization/containerd/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, utillinux, nixosTests }: +{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, util-linux, nixosTests }: with lib; @@ -18,7 +18,7 @@ buildGoPackage rec { goPackagePath = "github.com/containerd/containerd"; outputs = [ "out" "man" ]; - nativeBuildInputs = [ go-md2man installShellFiles utillinux ]; + nativeBuildInputs = [ go-md2man installShellFiles util-linux ]; buildInputs = [ btrfs-progs ]; diff --git a/pkgs/applications/virtualization/cri-o/wrapper.nix b/pkgs/applications/virtualization/cri-o/wrapper.nix index 6d72623d86c..5aca291a601 100644 --- a/pkgs/applications/virtualization/cri-o/wrapper.nix +++ b/pkgs/applications/virtualization/cri-o/wrapper.nix @@ -7,7 +7,7 @@ , runc # Default container runtime , crun # Container runtime (default with cgroups v2 for podman/buildah) , conmon # Container runtime monitor -, utillinux # nsenter +, util-linux # nsenter , cni-plugins # not added to path , iptables }: @@ -19,7 +19,7 @@ let runc crun conmon - utillinux + util-linux iptables ] ++ extraPackages); diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index d3200bba928..5df0ae39a25 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -2,7 +2,7 @@ , makeWrapper, installShellFiles, pkgconfig , go-md2man, go, containerd, runc, docker-proxy, tini, libtool , sqlite, iproute, lvm2, systemd -, btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs, git +, btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git , procps, libseccomp , nixosTests }: @@ -140,7 +140,7 @@ rec { outputs = ["out" "man"]; - extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps utillinux git ]); + extraPath = optionals (stdenv.isLinux) (makeBinPath [ iproute iptables e2fsprogs xz xfsprogs procps util-linux git ]); installPhase = '' cd ./go/src/${goPackagePath} diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix index d97d182496a..863888227b3 100644 --- a/pkgs/applications/virtualization/podman/wrapper.nix +++ b/pkgs/applications/virtualization/podman/wrapper.nix @@ -9,7 +9,7 @@ , conmon # Container runtime monitor , slirp4netns # User-mode networking for unprivileged namespaces , fuse-overlayfs # CoW for images, much faster than default vfs -, utillinux # nsenter +, util-linux # nsenter , cni-plugins # not added to path , iptables }: @@ -23,7 +23,7 @@ let conmon slirp4netns fuse-overlayfs - utillinux + util-linux iptables ] ++ extraPackages); diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix index 8d04b871e49..21c978e1b0e 100644 --- a/pkgs/applications/virtualization/singularity/default.nix +++ b/pkgs/applications/virtualization/singularity/default.nix @@ -1,7 +1,7 @@ {stdenv , lib , fetchurl -, utillinux +, util-linux , gpgme , openssl , libuuid @@ -27,7 +27,7 @@ buildGoPackage rec { goPackagePath = "github.com/sylabs/singularity"; buildInputs = [ gpgme openssl libuuid ]; - nativeBuildInputs = [ utillinux which makeWrapper cryptsetup ]; + nativeBuildInputs = [ util-linux which makeWrapper cryptsetup ]; propagatedBuildInputs = [ coreutils squashfsTools ]; postPatch = '' diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix index 45d1146f430..1d2a32c54e3 100644 --- a/pkgs/applications/virtualization/virt-manager/qt.nix +++ b/pkgs/applications/virtualization/virt-manager/qt.nix @@ -1,7 +1,7 @@ { mkDerivation, lib, fetchFromGitHub, fetchpatch, cmake, pkgconfig , qtbase, qtmultimedia, qtsvg, qttools, krdc , libvncserver, libvirt, pcre, pixman, qtermwidget, spice-gtk, spice-protocol -, libselinux, libsepol, utillinux +, libselinux, libsepol, util-linux }: mkDerivation rec { @@ -32,7 +32,7 @@ mkDerivation rec { buildInputs = [ qtbase qtmultimedia qtsvg krdc libvirt libvncserver pcre pixman qtermwidget spice-gtk spice-protocol - libselinux libsepol utillinux + libselinux libsepol util-linux ]; nativeBuildInputs = [ cmake pkgconfig qttools ]; diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix index 854debc458a..53f556e3f0d 100644 --- a/pkgs/applications/virtualization/xen/generic.nix +++ b/pkgs/applications/virtualization/xen/generic.nix @@ -14,7 +14,7 @@ config: # Scripts , coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools , iproute, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd -, lvm2, utillinux, procps, systemd +, lvm2, util-linux, procps, systemd # Documentation # python2Packages.markdown @@ -28,7 +28,7 @@ let #TODO: fix paths instead scriptEnvPath = concatMapStringsSep ":" (x: "${x}/bin") [ which perl - coreutils gawk gnused gnugrep diffutils utillinux multipath-tools + coreutils gawk gnused gnugrep diffutils util-linux multipath-tools iproute inetutils iptables bridge-utils openvswitch nbd drbd ]; @@ -146,8 +146,8 @@ stdenv.mkDerivation (rec { --replace /usr/sbin/lvs ${lvm2}/bin/lvs substituteInPlace tools/misc/xenpvnetboot \ - --replace /usr/sbin/mount ${utillinux}/bin/mount \ - --replace /usr/sbin/umount ${utillinux}/bin/umount + --replace /usr/sbin/mount ${util-linux}/bin/mount \ + --replace /usr/sbin/umount ${util-linux}/bin/umount substituteInPlace tools/xenmon/xenmon.py \ --replace /usr/bin/pkill ${procps}/bin/pkill diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 4da26ba7cfd..db1062e1b5d 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -24,7 +24,7 @@ storeDir ? builtins.storeDir, substituteAll, symlinkJoin, - utillinux, + util-linux, vmTools, writeReferencesToFile, writeScript, @@ -204,7 +204,7 @@ rec { }; inherit fromImage fromImageName fromImageTag; - nativeBuildInputs = [ utillinux e2fsprogs jshon rsync jq ]; + nativeBuildInputs = [ util-linux e2fsprogs jshon rsync jq ]; } '' mkdir disk mkfs /dev/${vmTools.hd} diff --git a/pkgs/build-support/singularity-tools/default.nix b/pkgs/build-support/singularity-tools/default.nix index d937ec62668..4a54498d117 100644 --- a/pkgs/build-support/singularity-tools/default.nix +++ b/pkgs/build-support/singularity-tools/default.nix @@ -7,7 +7,7 @@ , bash , vmTools , gawk -, utillinux +, util-linux , runtimeShell , e2fsprogs }: @@ -47,7 +47,7 @@ rec { runScriptFile = shellScript "run-script.sh" runScript; result = vmTools.runInLinuxVM ( runCommand "singularity-image-${name}.img" { - buildInputs = [ singularity e2fsprogs utillinux gawk ]; + buildInputs = [ singularity e2fsprogs util-linux gawk ]; layerClosure = writeReferencesToFile layer; preVM = vmTools.createEmptyImage { size = diskSize; diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 909cdc6da04..2f18e96e4ce 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -151,7 +151,7 @@ rec { # Set the system time from the hardware clock. Works around an # apparent KVM > 1.5.2 bug. - ${pkgs.utillinux}/bin/hwclock -s + ${pkgs.util-linux}/bin/hwclock -s export NIX_STORE=${storeDir} export NIX_BUILD_TOP=/tmp @@ -270,7 +270,7 @@ rec { defaultCreateRootFS = '' mkdir /mnt ${e2fsprogs}/bin/mkfs.ext4 /dev/${hd} - ${utillinux}/bin/mount -t ext4 /dev/${hd} /mnt + ${util-linux}/bin/mount -t ext4 /dev/${hd} /mnt if test -e /mnt/.debug; then exec ${bash}/bin/sh @@ -317,7 +317,7 @@ rec { with pkgs; runInLinuxVM ( stdenv.mkDerivation { name = "extract-file"; - buildInputs = [ utillinux ]; + buildInputs = [ util-linux ]; buildCommand = '' ln -s ${kernel}/lib /lib ${kmod}/bin/modprobe loop @@ -342,7 +342,7 @@ rec { with pkgs; runInLinuxVM ( stdenv.mkDerivation { name = "extract-file-mtd"; - buildInputs = [ utillinux mtdutils ]; + buildInputs = [ util-linux mtdutils ]; buildCommand = '' ln -s ${kernel}/lib /lib ${kmod}/bin/modprobe mtd @@ -417,7 +417,7 @@ rec { # Make the Nix store available in /mnt, because that's where the RPMs live. mkdir -p /mnt${storeDir} - ${utillinux}/bin/mount -o bind ${storeDir} /mnt${storeDir} + ${util-linux}/bin/mount -o bind ${storeDir} /mnt${storeDir} # Newer distributions like Fedora 18 require /lib etc. to be # symlinked to /usr. @@ -427,7 +427,7 @@ rec { ln -s /usr/sbin /mnt/sbin ln -s /usr/lib /mnt/lib ln -s /usr/lib64 /mnt/lib64 - ${utillinux}/bin/mount -t proc none /mnt/proc + ${util-linux}/bin/mount -t proc none /mnt/proc ''} echo "unpacking RPMs..." @@ -445,7 +445,7 @@ rec { PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ rpm --initdb - ${utillinux}/bin/mount -o bind /tmp /mnt/tmp + ${util-linux}/bin/mount -o bind /tmp /mnt/tmp echo "installing RPMs..." PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ @@ -456,8 +456,8 @@ rec { rm /mnt/.debug - ${utillinux}/bin/umount /mnt${storeDir} /mnt/tmp ${lib.optionalString unifiedSystemDir "/mnt/proc"} - ${utillinux}/bin/umount /mnt + ${util-linux}/bin/umount /mnt${storeDir} /mnt/tmp ${lib.optionalString unifiedSystemDir "/mnt/proc"} + ${util-linux}/bin/umount /mnt ''; passthru = { inherit fullName; }; @@ -587,9 +587,9 @@ rec { # Make the Nix store available in /mnt, because that's where the .debs live. mkdir -p /mnt/inst${storeDir} - ${utillinux}/bin/mount -o bind ${storeDir} /mnt/inst${storeDir} - ${utillinux}/bin/mount -o bind /proc /mnt/proc - ${utillinux}/bin/mount -o bind /dev /mnt/dev + ${util-linux}/bin/mount -o bind ${storeDir} /mnt/inst${storeDir} + ${util-linux}/bin/mount -o bind /proc /mnt/proc + ${util-linux}/bin/mount -o bind /dev /mnt/dev # Misc. files/directories assumed by various packages. echo "initialising Dpkg DB..." @@ -635,10 +635,10 @@ rec { rm /mnt/.debug - ${utillinux}/bin/umount /mnt/inst${storeDir} - ${utillinux}/bin/umount /mnt/proc - ${utillinux}/bin/umount /mnt/dev - ${utillinux}/bin/umount /mnt + ${util-linux}/bin/umount /mnt/inst${storeDir} + ${util-linux}/bin/umount /mnt/proc + ${util-linux}/bin/umount /mnt/dev + ${util-linux}/bin/umount /mnt ''; passthru = { inherit fullName; }; diff --git a/pkgs/desktops/enlightenment/efl/default.nix b/pkgs/desktops/enlightenment/efl/default.nix index f8cb1a1c744..00ea83cb85c 100644 --- a/pkgs/desktops/enlightenment/efl/default.nix +++ b/pkgs/desktops/enlightenment/efl/default.nix @@ -46,7 +46,7 @@ , python3Packages , systemd , udev -, utillinux +, util-linux , wayland , wayland-protocols , writeText @@ -125,7 +125,7 @@ stdenv.mkDerivation rec { mint-x-icons # Mint-X is a parent icon theme of Enlightenment-X openjpeg poppler - utillinux + util-linux wayland xorg.libXScrnSaver xorg.libXcomposite diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix index a859285e078..ccfeaa4f63e 100644 --- a/pkgs/desktops/plasma-5/discover.nix +++ b/pkgs/desktops/plasma-5/discover.nix @@ -1,7 +1,7 @@ { mkDerivation, extra-cmake-modules, gettext, kdoctools, python, - appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, utillinux, + appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, util-linux, qtquickcontrols2, karchive, kconfig, kcrash, kdbusaddons, kdeclarative, kio, kirigami2, kitemmodels, knewstuff, kwindowsystem, kxmlgui, plasma-framework @@ -12,7 +12,7 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ]; buildInputs = [ # discount is needed for libmarkdown - appstream-qt discount flatpak fwupd ostree packagekit-qt pcre utillinux + appstream-qt discount flatpak fwupd ostree packagekit-qt pcre util-linux qtquickcontrols2 karchive kconfig kcrash kdbusaddons kdeclarative kio kirigami2 kitemmodels knewstuff kwindowsystem kxmlgui plasma-framework diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix index 8ae48b21f7b..73e449a1362 100644 --- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix +++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix @@ -4,7 +4,7 @@ boost, fontconfig, ibus, libXcursor, libXft, libcanberra_kde, libpulseaudio, libxkbfile, xf86inputevdev, xf86inputsynaptics, xinput, xkeyboard_config, - xorgserver, utillinux, + xorgserver, util-linux, qtdeclarative, qtquickcontrols, qtquickcontrols2, qtsvg, qtx11extras, @@ -39,7 +39,7 @@ mkDerivation { ''; CXXFLAGS = [ "-I${lib.getDev xorgserver}/include/xorg" - ''-DNIXPKGS_HWCLOCK=\"${lib.getBin utillinux}/sbin/hwclock\"'' + ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"'' ]; cmakeFlags = [ "-DEvdev_INCLUDE_DIRS=${lib.getDev xf86inputevdev}/include/xorg" diff --git a/pkgs/development/compilers/elm/packages/node-composition.nix b/pkgs/development/compilers/elm/packages/node-composition.nix index 9c6bdb2006a..1b2e11782cd 100644 --- a/pkgs/development/compilers/elm/packages/node-composition.nix +++ b/pkgs/development/compilers/elm/packages/node-composition.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../../node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix index e9ca1bf35b8..2c00420c362 100644 --- a/pkgs/development/compilers/osl/default.nix +++ b/pkgs/development/compilers/osl/default.nix @@ -1,6 +1,6 @@ { clangStdenv, stdenv, fetchFromGitHub, cmake, zlib, openexr, openimageio, llvm, boost165, flex, bison, partio, pugixml, -utillinux, python +util-linux, python }: let boost_static = boost165.override { enableStatic = true; }; @@ -25,7 +25,7 @@ in clangStdenv.mkDerivation rec { buildInputs = [ cmake zlib openexr openimageio llvm boost_static flex bison partio pugixml - utillinux # needed just for hexdump + util-linux # needed just for hexdump python # CMake doesn't check this? ]; # TODO: How important is partio? CMake doesn't seem to find it diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 694ba6935b0..a1fcd89803a 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -112584,7 +112584,7 @@ self: { , pandoc-citeproc, parsec, process, QuickCheck, random, regex-tdfa , resourcet, scientific, tagsoup, tasty, tasty-hunit , tasty-quickcheck, template-haskell, text, time - , time-locale-compat, unordered-containers, utillinux, vector, wai + , time-locale-compat, unordered-containers, util-linux, vector, wai , wai-app-static, warp, yaml }: mkDerivation { @@ -112608,12 +112608,12 @@ self: { base bytestring containers filepath QuickCheck tasty tasty-hunit tasty-quickcheck text unordered-containers yaml ]; - testToolDepends = [ utillinux ]; + testToolDepends = [ util-linux ]; description = "A static website compiler library"; license = stdenv.lib.licenses.bsd3; hydraPlatforms = stdenv.lib.platforms.none; broken = true; - }) {inherit (pkgs) utillinux;}; + }) {inherit (pkgs) util-linux;}; "hakyll-R" = callPackage ({ mkDerivation, base, directory, filepath, hakyll, pandoc, process diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix index a95f131c00c..5473801f85d 100644 --- a/pkgs/development/libraries/bobcat/default.nix +++ b/pkgs/development/libraries/bobcat/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitLab, icmake , libmilter, libX11, openssl, readline -, utillinux, yodl }: +, util-linux, yodl }: stdenv.mkDerivation rec { pname = "bobcat"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "fbb-git"; }; - buildInputs = [ libmilter libX11 openssl readline utillinux ]; + buildInputs = [ libmilter libX11 openssl readline util-linux ]; nativeBuildInputs = [ icmake yodl ]; setSourceRoot = '' diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index de874a798b2..072a12410f4 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -1,7 +1,7 @@ { config, stdenv, fetchurl, gettext, meson, ninja, pkgconfig, perl, python3 , libiconv, zlib, libffi, pcre, libelf, gnome3, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45 -# use utillinuxMinimal to avoid circular dependency (utillinux, systemd, glib) -, utillinuxMinimal ? null +# use util-linuxMinimal to avoid circular dependency (util-linux, systemd, glib) +, util-linuxMinimal ? null , buildPackages # this is just for tests (not in the closure of any regular package) @@ -13,7 +13,7 @@ with stdenv.lib; -assert stdenv.isLinux -> utillinuxMinimal != null; +assert stdenv.isLinux -> util-linuxMinimal != null; # TODO: # * Make it build without python @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { bash gnum4 # install glib-gettextize and m4 macros for other apps to use ] ++ optionals stdenv.isLinux [ libselinux - utillinuxMinimal # for libmount + util-linuxMinimal # for libmount ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Carbon Cocoa CoreFoundation CoreServices Foundation ]); diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index 2436fc4afcb..d3d50fd6d65 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -1,6 +1,6 @@ { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkgconfig, lzip , perl, gmp, autoconf, autogen, automake, libidn, p11-kit, libiconv -, unbound, dns-root-data, gettext, cacert, utillinux +, unbound, dns-root-data, gettext, cacert, util-linux , guileBindings ? config.gnutls.guile or false, guile , tpmSupport ? false, trousers, which, nettools, libunistring , withSecurity ? false, Security # darwin Security.framework @@ -75,7 +75,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ perl pkgconfig ] ++ lib.optionals (isDarwin && !withSecurity) [ autoconf automake ] - ++ lib.optionals doCheck [ which nettools utillinux ]; + ++ lib.optionals doCheck [ which nettools util-linux ]; propagatedBuildInputs = [ nettle ]; diff --git a/pkgs/development/libraries/hyperscan/default.nix b/pkgs/development/libraries/hyperscan/default.nix index 6e0d351b8bc..17246f0aa0a 100644 --- a/pkgs/development/libraries/hyperscan/default.nix +++ b/pkgs/development/libraries/hyperscan/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, cmake, ragel, python3 -, coreutils, gnused, utillinux +, coreutils, gnused, util-linux , boost , withStatic ? false # build only shared libs by default, build static+shared if true }: @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { cmake ragel python3 # Consider simply using busybox for these # Need at least: rev, sed, cut, nm - coreutils gnused utillinux + coreutils gnused util-linux ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/kpmcore/default.nix b/pkgs/development/libraries/kpmcore/default.nix index 8cda52c4aec..1c00b6be2f2 100644 --- a/pkgs/development/libraries/kpmcore/default.nix +++ b/pkgs/development/libraries/kpmcore/default.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchurl, extra-cmake-modules , qtbase, kio , libatasmart, parted -, utillinux }: +, util-linux }: stdenv.mkDerivation rec { pname = "kpmcore"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { kio - utillinux # needs blkid (note that this is not provided by utillinux-compat) + util-linux # needs blkid (note that this is not provided by util-linux-compat) ]; nativeBuildInputs = [ extra-cmake-modules ]; diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix index 7628212800f..39646db87ec 100644 --- a/pkgs/development/libraries/libblockdev/default.nix +++ b/pkgs/development/libraries/libblockdev/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, substituteAll, autoreconfHook, pkgconfig, gtk-doc , docbook_xml_dtd_43, python3, gobject-introspection, glib, udev, kmod, parted -, cryptsetup, lvm2, dmraid, utillinux, libbytesize, libndctl, nss, volume_key +, cryptsetup, lvm2, dmraid, util-linux, libbytesize, libndctl, nss, volume_key , libxslt, docbook_xsl, gptfdisk, libyaml, autoconf-archive , thin-provisioning-tools, makeWrapper }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - glib udev kmod parted gptfdisk cryptsetup lvm2 dmraid utillinux libbytesize + glib udev kmod parted gptfdisk cryptsetup lvm2 dmraid util-linux libbytesize libndctl nss volume_key libyaml ]; diff --git a/pkgs/development/libraries/libndctl/default.nix b/pkgs/development/libraries/libndctl/default.nix index c0800c991c4..6ca6c301831 100644 --- a/pkgs/development/libraries/libndctl/default.nix +++ b/pkgs/development/libraries/libndctl/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, autoreconfHook , asciidoctor, pkgconfig, xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt -, json_c, kmod, which, utillinux, udev, keyutils +, json_c, kmod, which, util-linux, udev, keyutils }: stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ]; buildInputs = - [ json_c kmod utillinux udev keyutils + [ json_c kmod util-linux udev keyutils ]; configureFlags = diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix index 6ea0e6be465..d3d73e46ac2 100644 --- a/pkgs/development/libraries/libseccomp/default.nix +++ b/pkgs/development/libraries/libseccomp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, getopt, utillinux, gperf }: +{ stdenv, fetchurl, getopt, util-linux, gperf }: stdenv.mkDerivation rec { pname = "libseccomp"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { patchShebangs . ''; - checkInputs = [ utillinux ]; + checkInputs = [ util-linux ]; doCheck = false; # dependency cycle # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference. diff --git a/pkgs/development/libraries/libvirt/5.9.0.nix b/pkgs/development/libraries/libvirt/5.9.0.nix index 7a023d9489e..b880d364274 100644 --- a/pkgs/development/libraries/libvirt/5.9.0.nix +++ b/pkgs/development/libraries/libvirt/5.9.0.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchgit , pkgconfig, makeWrapper, libtool, autoconf, automake, fetchpatch , coreutils, libxml2, gnutls, perl, python2, attr -, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext +, iproute, iptables, readline, lvm2, util-linux, systemd, libpciaccess, gettext , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, glib, rpcsvc-proto, libtirpc @@ -40,7 +40,7 @@ in stdenv.mkDerivation rec { ] ++ optionals (!buildFromTarball) [ libtool autoconf automake ] ++ optionals stdenv.isLinux [ - libpciaccess lvm2 utillinux systemd libnl numad zfs + libpciaccess lvm2 util-linux systemd libnl numad zfs libapparmor libcap_ng numactl attr parted libtirpc ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [ xen diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 642baba4376..224168888c0 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, fetchgit , pkgconfig, makeWrapper, autoreconfHook, fetchpatch , coreutils, libxml2, gnutls, perl, python2, attr, glib, docutils -, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext +, iproute, iptables, readline, lvm2, util-linux, systemd, libpciaccess, gettext , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, dbus, libtirpc, rpcsvc-proto, darwin @@ -47,7 +47,7 @@ in stdenv.mkDerivation rec { libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus ] ++ optionals stdenv.isLinux [ - libpciaccess lvm2 utillinux systemd libnl numad zfs + libpciaccess lvm2 util-linux systemd libnl numad zfs libapparmor libcap_ng numactl attr parted libtirpc ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [ xen diff --git a/pkgs/development/libraries/libxsmm/default.nix b/pkgs/development/libraries/libxsmm/default.nix index 394347277f6..30f060405f0 100644 --- a/pkgs/development/libraries/libxsmm/default.nix +++ b/pkgs/development/libraries/libxsmm/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, coreutils, gfortran, gnused -, python3, utillinux, which +, python3, util-linux, which , enableStatic ? false }: @@ -22,7 +22,7 @@ in stdenv.mkDerivation { gfortran gnused python3 - utillinux + util-linux which ]; diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix index fbf399cb246..483b8eeb206 100644 --- a/pkgs/development/libraries/speechd/default.nix +++ b/pkgs/development/libraries/speechd/default.nix @@ -7,7 +7,7 @@ , itstool , libtool , texinfo -, utillinux +, util-linux , autoreconfHook , glib , dotconf @@ -49,7 +49,7 @@ in stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./fix-paths.patch; - inherit utillinux; + utillinux = util-linux; }) ]; diff --git a/pkgs/development/libraries/volume-key/default.nix b/pkgs/development/libraries/volume-key/default.nix index 7ac5a437010..084b42c9a2d 100644 --- a/pkgs/development/libraries/volume-key/default.nix +++ b/pkgs/development/libraries/volume-key/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchgit, autoreconfHook, pkgconfig, gettext, python3 -, ncurses, swig, glib, utillinux, cryptsetup, nss, gpgme +, ncurses, swig, glib, util-linux, cryptsetup, nss, gpgme , autoconf, automake, libtool , buildPackages }: @@ -20,7 +20,7 @@ in stdenv.mkDerivation { nativeBuildInputs = [ autoconf automake libtool pkgconfig gettext swig ]; - buildInputs = [ autoreconfHook glib cryptsetup nss utillinux gpgme ncurses ]; + buildInputs = [ autoreconfHook glib cryptsetup nss util-linux gpgme ncurses ]; configureFlags = [ "--with-gpgme-prefix=${gpgme.dev}" diff --git a/pkgs/development/misc/google-clasp/google-clasp.nix b/pkgs/development/misc/google-clasp/google-clasp.nix index a527491777b..be260edb643 100644 --- a/pkgs/development/misc/google-clasp/google-clasp.nix +++ b/pkgs/development/misc/google-clasp/google-clasp.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/development/mobile/abootimg/default.nix b/pkgs/development/mobile/abootimg/default.nix index fb74d79e7a7..21d24004645 100644 --- a/pkgs/development/mobile/abootimg/default.nix +++ b/pkgs/development/mobile/abootimg/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, coreutils, cpio, findutils, gzip, makeWrapper, utillinux }: +{ stdenv, fetchFromGitHub, coreutils, cpio, findutils, gzip, makeWrapper, util-linux }: let version = "0.6"; @@ -14,7 +14,7 @@ stdenv.mkDerivation { sha256 = "1qgx9fxwhylgnixzkz2mzv2707f65qq7rar2rsqak536vhig1z9a"; }; - nativeBuildInputs = [ makeWrapper utillinux ]; + nativeBuildInputs = [ makeWrapper util-linux ]; postPatch = '' cat < version.h diff --git a/pkgs/development/node-packages/composition.nix b/pkgs/development/node-packages/composition.nix index c970861a86f..17879f381d5 100644 --- a/pkgs/development/node-packages/composition.nix +++ b/pkgs/development/node-packages/composition.nix @@ -6,7 +6,7 @@ let nodeEnv = import ./node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix index e1abf530493..04e3ee097fa 100644 --- a/pkgs/development/node-packages/node-env.nix +++ b/pkgs/development/node-packages/node-env.nix @@ -1,6 +1,6 @@ # This file originates from node2nix -{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}: +{stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}: let python = if nodejs ? python then nodejs.python else python2; @@ -396,7 +396,7 @@ let stdenv.mkDerivation ({ name = "node_${name}-${version}"; buildInputs = [ tarWrapper python nodejs ] - ++ stdenv.lib.optional (stdenv.isLinux) utillinux + ++ stdenv.lib.optional (stdenv.isLinux) util-linux ++ stdenv.lib.optional (stdenv.isDarwin) libtool ++ buildInputs; @@ -470,7 +470,7 @@ let name = "node-dependencies-${name}-${version}"; buildInputs = [ tarWrapper python nodejs ] - ++ stdenv.lib.optional (stdenv.isLinux) utillinux + ++ stdenv.lib.optional (stdenv.isLinux) util-linux ++ stdenv.lib.optional (stdenv.isDarwin) libtool ++ buildInputs; @@ -516,7 +516,7 @@ let stdenv.mkDerivation { name = "node-shell-${name}-${version}"; - buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs; + buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) util-linux ++ buildInputs; buildCommand = '' mkdir -p $out/bin cat > $out/bin/shell < $out/bin/shell < $out/usr/bin/brprintconf_mfcj6510dw_patched diff --git a/pkgs/misc/drivers/hplip/3.16.11.nix b/pkgs/misc/drivers/hplip/3.16.11.nix index 452c2c425c1..4b9f47d88f9 100644 --- a/pkgs/misc/drivers/hplip/3.16.11.nix +++ b/pkgs/misc/drivers/hplip/3.16.11.nix @@ -2,7 +2,7 @@ , pkgconfig , cups, libjpeg, libusb1, python2Packages, sane-backends, dbus, usbutils , net-snmp, openssl, nettools -, bash, coreutils, utillinux +, bash, coreutils, util-linux , qtSupport ? true , withPlugin ? false }: @@ -175,7 +175,7 @@ python2Packages.buildPythonApplication { substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules \ --replace {,${bash}}/bin/sh \ --replace /usr/bin/nohup "" \ - --replace {,${utillinux}/bin/}logger \ + --replace {,${util-linux}/bin/}logger \ --replace {/usr,$out}/bin ''; diff --git a/pkgs/misc/drivers/hplip/3.18.5.nix b/pkgs/misc/drivers/hplip/3.18.5.nix index f9064720fb6..59b3d2b9d63 100644 --- a/pkgs/misc/drivers/hplip/3.18.5.nix +++ b/pkgs/misc/drivers/hplip/3.18.5.nix @@ -3,7 +3,7 @@ , cups, zlib, libjpeg, libusb1, python2Packages, sane-backends , dbus, file, ghostscript, usbutils , net-snmp, openssl, perl, nettools -, bash, coreutils, utillinux +, bash, coreutils, util-linux , withQt5 ? true , withPlugin ? false , withStaticPPDInstall ? false @@ -212,7 +212,7 @@ python2Packages.buildPythonApplication { substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules \ --replace {,${bash}}/bin/sh \ --replace /usr/bin/nohup "" \ - --replace {,${utillinux}/bin/}logger \ + --replace {,${util-linux}/bin/}logger \ --replace {/usr,$out}/bin ''; diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix index afd1f8f6fe4..b740f5091fa 100644 --- a/pkgs/misc/drivers/hplip/default.nix +++ b/pkgs/misc/drivers/hplip/default.nix @@ -3,7 +3,7 @@ , cups, zlib, libjpeg, libusb1, python3Packages, sane-backends , dbus, file, ghostscript, usbutils , net-snmp, openssl, perl, nettools -, bash, coreutils, utillinux +, bash, coreutils, util-linux # To remove references to gcc-unwrapped , removeReferencesTo, qt5 , withQt5 ? true @@ -219,7 +219,7 @@ python3Packages.buildPythonApplication { substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules \ --replace {,${bash}}/bin/sh \ --replace /usr/bin/nohup "" \ - --replace {,${utillinux}/bin/}logger \ + --replace {,${util-linux}/bin/}logger \ --replace {/usr,$out}/bin remove-references-to -t ${stdenv.cc.cc} $(readlink -f $out/lib/*.so) '' + stdenv.lib.optionalString withQt5 '' diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/misc/emulators/cdemu/libmirage.nix index cc3118ace15..e824e19347a 100644 --- a/pkgs/misc/emulators/cdemu/libmirage.nix +++ b/pkgs/misc/emulators/cdemu/libmirage.nix @@ -1,6 +1,6 @@ { callPackage, gobject-introspection, cmake, pkgconfig , glib, libsndfile, zlib, bzip2, lzma, libsamplerate, intltool -, pcre, utillinux, libselinux, libsepol }: +, pcre, util-linux, libselinux, libsepol }: let pkg = import ./base.nix { version = "3.2.3"; @@ -13,6 +13,6 @@ in callPackage pkg { PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "out"}/share/gir-1.0"; PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; nativeBuildInputs = [ cmake gobject-introspection pkgconfig ]; - propagatedBuildInputs = [ pcre utillinux libselinux libsepol ]; + propagatedBuildInputs = [ pcre util-linux libselinux libsepol ]; }; } diff --git a/pkgs/misc/emulators/qmc2/default.nix b/pkgs/misc/emulators/qmc2/default.nix index d089ddf2695..5a813c5d2ef 100644 --- a/pkgs/misc/emulators/qmc2/default.nix +++ b/pkgs/misc/emulators/qmc2/default.nix @@ -3,7 +3,7 @@ , minizip, zlib , qtbase, qtsvg, qtmultimedia, qtwebkit, qttranslations, qtxmlpatterns , rsync, SDL2, xwininfo -, utillinux +, util-linux , xorg }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ qttools pkgconfig ]; buildInputs = [ minizip qtbase qtsvg qtmultimedia qtwebkit qttranslations qtxmlpatterns rsync SDL2 - xwininfo zlib utillinux xorg.libxcb ]; + xwininfo zlib util-linux xorg.libxcb ]; makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix index f3b9fa30420..a628f5ded58 100644 --- a/pkgs/misc/emulators/wine/staging.nix +++ b/pkgs/misc/emulators/wine/staging.nix @@ -8,7 +8,7 @@ let patch = (callPackage ./sources.nix {}).staging; in assert stdenv.lib.getVersion wineUnstable == patch.version; (stdenv.lib.overrideDerivation wineUnstable (self: { - buildInputs = build-inputs [ "perl" "utillinux" "autoconf" "gitMinimal" ] self.buildInputs; + buildInputs = build-inputs [ "perl" "util-linux" "autoconf" "gitMinimal" ] self.buildInputs; name = "${self.name}-staging"; diff --git a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix index 446fedeffec..c49f798899f 100644 --- a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix +++ b/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix @@ -2,7 +2,7 @@ # - # - { lib, gccStdenv, vscode-utils, autoPatchelfHook, bash, file, makeWrapper, dotnet-sdk_3 -, curl, gcc, icu, libkrb5, libsecret, libunwind, libX11, lttng-ust, openssl, utillinux, zlib +, curl, gcc, icu, libkrb5, libsecret, libunwind, libX11, lttng-ust, openssl, util-linux, zlib , desktop-file-utils, xprop }: @@ -30,7 +30,7 @@ let # General gcc.cc.lib - utillinux # libuuid + util-linux # libuuid ]; in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtension { diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix index 3db9a7d3005..dcdafb98d70 100644 --- a/pkgs/os-specific/linux/displaylink/default.nix +++ b/pkgs/os-specific/linux/displaylink/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, unzip, utillinux, +{ stdenv, lib, unzip, util-linux, libusb1, evdi, systemd, makeWrapper, requireFile, substituteAll }: let @@ -7,7 +7,7 @@ let else if stdenv.hostPlatform.system == "i686-linux" then "x86" else throw "Unsupported architecture"; bins = "${arch}-ubuntu-1604"; - libPath = lib.makeLibraryPath [ stdenv.cc.cc utillinux libusb1 evdi ]; + libPath = lib.makeLibraryPath [ stdenv.cc.cc util-linux libusb1 evdi ]; in stdenv.mkDerivation rec { pname = "displaylink"; diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix index d087a9e2e26..696dfd275c7 100644 --- a/pkgs/os-specific/linux/eudev/default.nix +++ b/pkgs/os-specific/linux/eudev/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, pkgconfig, glib, gperf, utillinux, kmod}: +{stdenv, fetchurl, pkgconfig, glib, gperf, util-linux, kmod}: let s = # Generated upstream information rec { @@ -11,7 +11,7 @@ let nativeBuildInputs = [ pkgconfig ]; buildInputs = [ - glib gperf utillinux kmod + glib gperf util-linux kmod ]; in stdenv.mkDerivation { diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix index 19c64106701..b40bd84cbb8 100644 --- a/pkgs/os-specific/linux/fuse/common.nix +++ b/pkgs/os-specific/linux/fuse/common.nix @@ -1,7 +1,7 @@ { version, sha256Hash }: { stdenv, fetchFromGitHub, fetchpatch -, fusePackages, utillinux, gettext +, fusePackages, util-linux, gettext , meson, ninja, pkg-config , autoreconfHook , python3Packages, which @@ -54,7 +54,7 @@ in stdenv.mkDerivation rec { # $PATH, so it should also work on non-NixOS systems. export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/run/wrappers/bin\"" - sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c + sed -e 's@/bin/@${util-linux}/bin/@g' -i lib/mount_util.c '' + (if isFuse3 then '' # The configure phase will delete these files (temporary workaround for # ./fuse3-install_man.patch) diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix index 7549f379f8a..f159a4cbf77 100644 --- a/pkgs/os-specific/linux/fuse/default.nix +++ b/pkgs/os-specific/linux/fuse/default.nix @@ -1,8 +1,8 @@ -{ callPackage, utillinux }: +{ callPackage, util-linux }: let mkFuse = args: callPackage (import ./common.nix args) { - inherit utillinux; + inherit util-linux; }; in { fuse_2 = mkFuse { diff --git a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix index ba37c71d134..a272bd286f3 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardkernel-4.14.nix @@ -1,4 +1,4 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, libelf, utillinux, ... } @ args: +{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, libelf, util-linux, ... } @ args: buildLinux (args // rec { version = "4.14.165-172"; diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 961bdab12b5..3bdb8c4f297 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -302,7 +302,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr ] ++ optional (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools ++ optional (stdenv.lib.versionAtLeast version "4.14" && stdenv.lib.versionOlder version "5.8") libelf - # Removed utillinuxMinimal since it should not be a dependency. + # Removed util-linuxMinimal since it should not be a dependency. ++ optionals (stdenv.lib.versionAtLeast version "4.16") [ bison flex ] ++ optional (stdenv.lib.versionAtLeast version "5.2") cpio ++ optional (stdenv.lib.versionAtLeast version "5.8") elfutils diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix index bbc341caf11..352ce535337 100644 --- a/pkgs/os-specific/linux/ldm/default.nix +++ b/pkgs/os-specific/linux/ldm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, udev, utillinux, mountPath ? "/media/" }: +{ stdenv, fetchgit, udev, util-linux, mountPath ? "/media/" }: assert mountPath != ""; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { sha256 = "0lxfypnbamfx6p9ar5k9wra20gvwn665l4pp2j4vsx4yi5q7rw2n"; }; - buildInputs = [ udev utillinux ]; + buildInputs = [ udev util-linux ]; postPatch = '' substituteInPlace ldm.c \ diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 7bbd1768c04..6f1290cf070 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -2,7 +2,7 @@ , fetchpatch , fetchurl , pkgconfig -, utillinux +, util-linux , libuuid , thin-provisioning-tools, libaio , enableCmdlib ? false diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix index 0067f0881ae..8fdb72e060f 100644 --- a/pkgs/os-specific/linux/lxcfs/default.nix +++ b/pkgs/os-specific/linux/lxcfs/default.nix @@ -1,5 +1,5 @@ { config, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, help2man, fuse -, utillinux, makeWrapper +, util-linux, makeWrapper , enableDebugBuild ? config.lxcfs.enableDebugBuild or false }: with stdenv.lib; @@ -30,9 +30,9 @@ stdenv.mkDerivation rec { installFlags = [ "SYSTEMD_UNIT_DIR=\${out}/lib/systemd" ]; postInstall = '' - # `mount` hook requires access to the `mount` command from `utillinux`: + # `mount` hook requires access to the `mount` command from `util-linux`: wrapProgram "$out/share/lxcfs/lxc.mount.hook" \ - --prefix PATH : "${utillinux}/bin" + --prefix PATH : "${util-linux}/bin" ''; postFixup = '' diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix index 9ead1f6ad4b..f0ef1126154 100644 --- a/pkgs/os-specific/linux/mcelog/default.nix +++ b/pkgs/os-specific/linux/mcelog/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, utillinux }: +{ stdenv, fetchFromGitHub, util-linux }: stdenv.mkDerivation rec { pname = "mcelog"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace '"unknown"' '"${version}"' for i in triggers/*; do - substituteInPlace $i --replace 'logger' '${utillinux}/bin/logger' + substituteInPlace $i --replace 'logger' '${util-linux}/bin/logger' done ''; diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index 6a71196157b..2fbe05557a2 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, utillinux, coreutils, fetchurl, groff, system-sendmail }: +{ stdenv, util-linux, coreutils, fetchurl, groff, system-sendmail }: stdenv.mkDerivation rec { name = "mdadm-4.1"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { -e 's@/usr/sbin/sendmail@${system-sendmail}/bin/sendmail@' -i Makefile sed -i \ -e 's@/usr/bin/basename@${coreutils}/bin/basename@g' \ - -e 's@BINDIR/blkid@${utillinux}/bin/blkid@g' \ + -e 's@BINDIR/blkid@${util-linux}/bin/blkid@g' \ *.rules ''; diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 81ec7e5a661..86b0981c5fa 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent +{ stdenv, fetchurl, fetchpatch, lib, pkgconfig, util-linux, libcap, libtirpc, libevent , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers , python3, buildPackages, nixosTests, rpcsvc-proto , enablePython ? true }: let - statdPath = lib.makeBinPath [ systemd utillinux coreutils ]; + statdPath = lib.makeBinPath [ systemd util-linux coreutils ]; in stdenv.mkDerivation rec { diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix index 6314dcea62d..b8aa251489d 100644 --- a/pkgs/os-specific/linux/open-iscsi/default.nix +++ b/pkgs/os-specific/linux/open-iscsi/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, automake, autoconf, libtool, gettext -, utillinux, openisns, openssl, kmod, perl, systemd, pkgconf +, util-linux, openisns, openssl, kmod, perl, systemd, pkgconf }: stdenv.mkDerivation rec { @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { version = "2.1.2"; nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ]; - buildInputs = [ kmod openisns.lib openssl systemd utillinux ]; + buildInputs = [ kmod openisns.lib openssl systemd util-linux ]; src = fetchFromGitHub { owner = "open-iscsi"; diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix index a6bf67db098..ef96c7697e7 100644 --- a/pkgs/os-specific/linux/openrazer/driver.nix +++ b/pkgs/os-specific/linux/openrazer/driver.nix @@ -2,7 +2,7 @@ , fetchFromGitHub , kernel , stdenv -, utillinux +, util-linux }: let @@ -28,7 +28,7 @@ stdenv.mkDerivation (common // { substituteInPlace $RAZER_RULES_OUT \ --replace razer_mount $RAZER_MOUNT_OUT substituteInPlace $RAZER_MOUNT_OUT \ - --replace /usr/bin/logger ${utillinux}/bin/logger \ + --replace /usr/bin/logger ${util-linux}/bin/logger \ --replace chgrp ${coreutils}/bin/chgrp \ --replace "PATH='/sbin:/bin:/usr/sbin:/usr/bin'" "" ''; diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix index 33b252a0225..84f8abf73b0 100644 --- a/pkgs/os-specific/linux/openvswitch/default.nix +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which +{ stdenv, fetchurl, makeWrapper, pkgconfig, util-linux, which , procps, libcap_ng, openssl, python3 , perl , kernel ? null }: @@ -19,7 +19,7 @@ in stdenv.mkDerivation rec { kernel = optional (_kernel != null) _kernel.dev; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ makeWrapper utillinux openssl libcap_ng pythonEnv + buildInputs = [ makeWrapper util-linux openssl libcap_ng pythonEnv perl procps which ]; configureFlags = [ diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix index 358a8b39917..54ecefc54b2 100644 --- a/pkgs/os-specific/linux/openvswitch/lts.nix +++ b/pkgs/os-specific/linux/openvswitch/lts.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which +{ stdenv, fetchurl, makeWrapper, pkgconfig, util-linux, which , procps, libcap_ng, openssl, python2, iproute , perl , automake, autoconf, libtool, kernel ? null }: @@ -20,7 +20,7 @@ in stdenv.mkDerivation rec { kernel = optional (_kernel != null) _kernel.dev; nativeBuildInputs = [ autoconf libtool automake pkgconfig ]; - buildInputs = [ makeWrapper utillinux openssl libcap_ng python2 + buildInputs = [ makeWrapper util-linux openssl libcap_ng python2 perl procps which ]; preConfigure = "./boot.sh"; diff --git a/pkgs/os-specific/linux/pam_mount/default.nix b/pkgs/os-specific/linux/pam_mount/default.nix index 3e026be6abb..ebfd896555a 100644 --- a/pkgs/os-specific/linux/pam_mount/default.nix +++ b/pkgs/os-specific/linux/pam_mount/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoreconfHook, pkgconfig, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, utillinux }: +{ stdenv, fetchurl, autoreconfHook, pkgconfig, libtool, pam, libHX, libxml2, pcre, perl, openssl, cryptsetup, util-linux }: stdenv.mkDerivation rec { pname = "pam_mount"; @@ -16,12 +16,12 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace src/mtcrypt.c \ - --replace @@NIX_UTILLINUX@@ ${utillinux}/bin + --replace @@NIX_UTILLINUX@@ ${util-linux}/bin ''; nativeBuildInputs = [ autoreconfHook libtool pkgconfig ]; - buildInputs = [ pam libHX utillinux libxml2 pcre perl openssl cryptsetup ]; + buildInputs = [ pam libHX util-linux libxml2 pcre perl openssl cryptsetup ]; enableParallelBuilding = true; diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix index 41db6e93661..a883935b7b9 100644 --- a/pkgs/os-specific/linux/pktgen/default.nix +++ b/pkgs/os-specific/linux/pktgen/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, meson, ninja, pkgconfig -, dpdk, libbsd, libpcap, lua5_3, numactl, utillinux +, dpdk, libbsd, libpcap, lua5_3, numactl, util-linux , gtk2, which, withGtk ? false }: @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { patches = [ ./configure.patch ]; postPatch = '' - substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${utillinux}/bin/lscpu + substituteInPlace lib/common/lscpu.h --replace /usr/bin/lscpu ${util-linux}/bin/lscpu ''; postInstall = '' diff --git a/pkgs/os-specific/linux/pm-utils/default.nix b/pkgs/os-specific/linux/pm-utils/default.nix index 1d8314923d3..e685402d473 100644 --- a/pkgs/os-specific/linux/pm-utils/default.nix +++ b/pkgs/os-specific/linux/pm-utils/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl, coreutils, gnugrep, utillinux, kmod +{ stdenv, fetchurl, coreutils, gnugrep, util-linux, kmod , procps, kbd, dbus }: let binPath = stdenv.lib.makeBinPath - [ coreutils gnugrep utillinux kmod procps kbd dbus ]; + [ coreutils gnugrep util-linux kmod procps kbd dbus ]; sbinPath = stdenv.lib.makeSearchPathOutput "bin" "sbin" [ procps ]; diff --git a/pkgs/os-specific/linux/pmount/default.nix b/pkgs/os-specific/linux/pmount/default.nix index 63d0c88c1f8..01624bff535 100644 --- a/pkgs/os-specific/linux/pmount/default.nix +++ b/pkgs/os-specific/linux/pmount/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, ntfs3g, utillinux +{ stdenv, fetchurl, intltool, ntfs3g, util-linux , mediaDir ? "/media/" , lockDir ? "/var/lock/pmount" , whiteList ? "/etc/pmount.allow" @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { sha256 = "db38fc290b710e8e9e9d442da2fb627d41e13b3ee80326c15cc2595ba00ea036"; }; - buildInputs = [ intltool utillinux ]; + buildInputs = [ intltool util-linux ]; configureFlags = [ "--with-media-dir=${mediaDir}" "--with-lock-dir=${lockDir}" "--with-whitelist=${whiteList}" - "--with-mount-prog=${utillinux}/bin/mount" - "--with-umount-prog=${utillinux}/bin/umount" + "--with-mount-prog=${util-linux}/bin/mount" + "--with-umount-prog=${util-linux}/bin/umount" "--with-mount-ntfs3g=${ntfs3g}/sbin/mount.ntfs-3g" ]; diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index e71dcb497a2..9b0e38198a3 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, makeWrapper, p7zip -, gawk, utillinux, xorg, glib, dbus-glib, zlib +, gawk, util-linux, xorg, glib, dbus-glib, zlib , kernel ? null, libsOnly ? false , undmg, fetchurl }: @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { kernelVersion = if libsOnly then "" else lib.getName kernel.name; kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}"; - scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]); + scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${util-linux}/bin" "${gawk}/bin" ]); buildPhase = '' if test -z "$libsOnly"; then diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 85c78ce1421..13b52b86ff4 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -18,7 +18,7 @@ # Mandatory dependencies , libcap -, utillinux +, util-linux , kbd , kmod @@ -277,9 +277,9 @@ stdenv.mkDerivation { "-Dkill-path=${coreutils}/bin/kill" "-Dkmod-path=${kmod}/bin/kmod" - "-Dsulogin-path=${utillinux}/bin/sulogin" - "-Dmount-path=${utillinux}/bin/mount" - "-Dumount-path=${utillinux}/bin/umount" + "-Dsulogin-path=${util-linux}/bin/sulogin" + "-Dmount-path=${util-linux}/bin/mount" + "-Dumount-path=${util-linux}/bin/umount" "-Dcreate-log-dirs=false" # Upstream uses cgroupsv2 by default. To support docker and other # container managers we still need v1. @@ -326,12 +326,12 @@ stdenv.mkDerivation { test -e $i substituteInPlace $i \ --replace /usr/bin/getent ${getent}/bin/getent \ - --replace /sbin/mkswap ${lib.getBin utillinux}/sbin/mkswap \ - --replace /sbin/swapon ${lib.getBin utillinux}/sbin/swapon \ - --replace /sbin/swapoff ${lib.getBin utillinux}/sbin/swapoff \ + --replace /sbin/mkswap ${lib.getBin util-linux}/sbin/mkswap \ + --replace /sbin/swapon ${lib.getBin util-linux}/sbin/swapon \ + --replace /sbin/swapoff ${lib.getBin util-linux}/sbin/swapoff \ --replace /bin/echo ${coreutils}/bin/echo \ --replace /bin/cat ${coreutils}/bin/cat \ - --replace /sbin/sulogin ${lib.getBin utillinux}/sbin/sulogin \ + --replace /sbin/sulogin ${lib.getBin util-linux}/sbin/sulogin \ --replace /sbin/modprobe ${lib.getBin kmod}/sbin/modprobe \ --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \ --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency diff --git a/pkgs/os-specific/linux/tomb/default.nix b/pkgs/os-specific/linux/tomb/default.nix index ccf341e212f..9a21aab9f25 100644 --- a/pkgs/os-specific/linux/tomb/default.nix +++ b/pkgs/os-specific/linux/tomb/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, makeWrapper -, gettext, zsh, pinentry, cryptsetup, gnupg, utillinux, e2fsprogs, sudo +, gettext, zsh, pinentry, cryptsetup, gnupg, util-linux, e2fsprogs, sudo }: stdenv.mkDerivation rec { @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { install -Dm644 doc/tomb.1 $out/share/man/man1/tomb.1 wrapProgram $out/bin/tomb \ - --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext gnupg pinentry utillinux e2fsprogs ]} + --prefix PATH : $out/bin:${lib.makeBinPath [ cryptsetup gettext gnupg pinentry util-linux e2fsprogs ]} ''; meta = with stdenv.lib; { diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index f8876e5d155..725706f9b0e 100644 --- a/pkgs/os-specific/linux/udisks/1-default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus-glib , polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm -, libxslt, docbook_xsl, utillinux, libgudev }: +, libxslt, docbook_xsl, util-linux, libgudev }: stdenv.mkDerivation rec { name = "udisks-1.0.5"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { substituteInPlace src/main.c --replace \ "/sbin:/bin:/usr/sbin:/usr/bin" \ - "${utillinux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin" + "${util-linux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin" ''; buildInputs = diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix index 3b502dbe48f..b47d31ab6fd 100644 --- a/pkgs/os-specific/linux/udisks/2-default.nix +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, fetchpatch, substituteAll, libtool, pkgconfig, gettext, gnused , gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash, which -, expat, libxslt, docbook_xsl, utillinux, mdadm, libgudev, libblockdev, parted +, expat, libxslt, docbook_xsl, util-linux, mdadm, libgudev, libblockdev, parted , gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43, autoconf, automake , xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g }: @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { (substituteAll { src = ./fix-paths.patch; bash = "${bash}/bin/bash"; - blkid = "${utillinux}/bin/blkid"; + blkid = "${util-linux}/bin/blkid"; false = "${coreutils}/bin/false"; mdadm = "${mdadm}/bin/mdadm"; sed = "${gnused}/bin/sed"; @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { src = ./force-path.patch; path = stdenv.lib.makeBinPath [ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils - xfsprogs ntfs3g parted utillinux + xfsprogs ntfs3g parted util-linux ]; }) diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 80fb7389877..5406dcf77eb 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, fetchpatch -, autoreconfHook, utillinux, nukeReferences, coreutils +, autoreconfHook, util-linux, nukeReferences, coreutils , perl, buildPackages , configFile ? "all" @@ -50,11 +50,11 @@ let # The arrays must remain the same length, so we repeat a flag that is # already part of the command and therefore has no effect. substituteInPlace ./module/${optionalString isUnstable "os/linux/"}zfs/zfs_ctldir.c \ - --replace '"/usr/bin/env", "umount"' '"${utillinux}/bin/umount", "-n"' \ - --replace '"/usr/bin/env", "mount"' '"${utillinux}/bin/mount", "-n"' + --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \ + --replace '"/usr/bin/env", "mount"' '"${util-linux}/bin/mount", "-n"' '' + optionalString buildUser '' - substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${utillinux}/bin/umount" \ - --replace "/bin/mount" "${utillinux}/bin/mount" + substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount" "${util-linux}/bin/umount" \ + --replace "/bin/mount" "${util-linux}/bin/mount" substituteInPlace ./lib/libshare/${optionalString isUnstable "os/linux/"}nfs.c --replace "/usr/sbin/exportfs" "${ # We don't *need* python support, but we set it like this to minimize closure size: # If it's disabled by default, no need to enable it, even if we have python enabled @@ -142,7 +142,7 @@ let postInstall = optionalString buildKernel '' # Add reference that cannot be detected due to compressed kernel module mkdir -p "$out/nix-support" - echo "${utillinux}" >> "$out/nix-support/extra-refs" + echo "${util-linux}" >> "$out/nix-support/extra-refs" '' + optionalString buildUser '' # Remove provided services as they are buggy rm $out/etc/systemd/system/zfs-import-*.service @@ -162,7 +162,7 @@ let ''; postFixup = let - path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep utillinux smartmontools sysstat ]}:$PATH"; + path = "PATH=${makeBinPath [ coreutils gawk gnused gnugrep util-linux smartmontools sysstat ]}:$PATH"; in '' for i in $out/libexec/zfs/zpool.d/*; do sed -i '2i${path}' $i diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix index ad047ba31f8..bdbb77faf6c 100644 --- a/pkgs/servers/apcupsd/default.nix +++ b/pkgs/servers/apcupsd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, systemd, utillinux, coreutils, wall, hostname, man +{ stdenv, fetchurl, pkgconfig, systemd, util-linux, coreutils, wall, hostname, man , enableCgiScripts ? true, gd }: @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd; + buildInputs = [ util-linux man ] ++ stdenv.lib.optional enableCgiScripts gd; prePatch = '' sed -e "s,\$(INSTALL_PROGRAM) \$(STRIP),\$(INSTALL_PROGRAM)," \ diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix index 9a393cdeb00..6e960bd92fe 100644 --- a/pkgs/servers/asterisk/default.nix +++ b/pkgs/servers/asterisk/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, fetchsvn, jansson, libedit, libxml2, libxslt, ncurses, openssl, sqlite, - utillinux, dmidecode, libuuid, newt, + util-linux, dmidecode, libuuid, newt, lua, speex, srtp, wget, curl, iksemel, pkgconfig }: @@ -14,7 +14,7 @@ let dmidecode libuuid newt lua speex srtp wget curl iksemel ]; - nativeBuildInputs = [ utillinux pkgconfig ]; + nativeBuildInputs = [ util-linux pkgconfig ]; patches = [ # We want the Makefile to install the default /var skeleton diff --git a/pkgs/servers/computing/torque/default.nix b/pkgs/servers/computing/torque/default.nix index 0941ca96922..de358a5d66f 100644 --- a/pkgs/servers/computing/torque/default.nix +++ b/pkgs/servers/computing/torque/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, openssl, flex, bison, pkgconfig, groff, libxml2, utillinux +{ stdenv, fetchFromGitHub, openssl, flex, bison, pkgconfig, groff, libxml2, util-linux , coreutils, file, libtool, which, boost, autoreconfHook }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { strictDeps = true; nativeBuildInputs = [ autoreconfHook pkgconfig flex bison libxml2 ]; buildInputs = [ - openssl groff libxml2 utillinux libtool + openssl groff libxml2 util-linux libtool which boost ]; diff --git a/pkgs/servers/hylafaxplus/default.nix b/pkgs/servers/hylafaxplus/default.nix index 9585ac46e5a..1bbaacd5844 100644 --- a/pkgs/servers/hylafaxplus/default.nix +++ b/pkgs/servers/hylafaxplus/default.nix @@ -15,7 +15,7 @@ , libtiff , psmisc , sharutils -, utillinux +, util-linux , zlib ## optional packages (using `null` disables some functionality) , jbigkit ? null @@ -76,7 +76,7 @@ stdenv.mkDerivation { libtiff psmisc # for `fuser` command sharutils # for `uuencode` command - utillinux # for `agetty` command + util-linux # for `agetty` command zlib jbigkit # optional lcms2 # optional diff --git a/pkgs/servers/matrix-appservice-discord/node-composition.nix b/pkgs/servers/matrix-appservice-discord/node-composition.nix index 42b6358224c..6080388b05e 100644 --- a/pkgs/servers/matrix-appservice-discord/node-composition.nix +++ b/pkgs/servers/matrix-appservice-discord/node-composition.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix index 36da6132423..0f86a16aef5 100644 --- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix +++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-composition.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/servers/search/elasticsearch/6.x.nix b/pkgs/servers/search/elasticsearch/6.x.nix index 04e81fe150a..673167030dc 100644 --- a/pkgs/servers/search/elasticsearch/6.x.nix +++ b/pkgs/servers/search/elasticsearch/6.x.nix @@ -4,7 +4,7 @@ , fetchurl , makeWrapper , jre_headless -, utillinux, gnugrep, coreutils +, util-linux, gnugrep, coreutils , autoPatchelfHook , zlib }: @@ -35,7 +35,7 @@ stdenv.mkDerivation (rec { "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\"" ''; - buildInputs = [ makeWrapper jre_headless utillinux ] + buildInputs = [ makeWrapper jre_headless util-linux ] ++ optional enableUnfree zlib; installPhase = '' @@ -45,7 +45,7 @@ stdenv.mkDerivation (rec { chmod -x $out/bin/*.* wrapProgram $out/bin/elasticsearch \ - --prefix PATH : "${makeBinPath [ utillinux gnugrep coreutils ]}" \ + --prefix PATH : "${makeBinPath [ util-linux gnugrep coreutils ]}" \ --set JAVA_HOME "${jre_headless}" wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}" diff --git a/pkgs/servers/search/elasticsearch/7.x.nix b/pkgs/servers/search/elasticsearch/7.x.nix index 73a947066bf..c3d50f8fbdd 100644 --- a/pkgs/servers/search/elasticsearch/7.x.nix +++ b/pkgs/servers/search/elasticsearch/7.x.nix @@ -4,7 +4,7 @@ , fetchurl , makeWrapper , jre_headless -, utillinux, gnugrep, coreutils +, util-linux, gnugrep, coreutils , autoPatchelfHook , zlib }: @@ -46,7 +46,7 @@ stdenv.mkDerivation (rec { "ES_CLASSPATH=\"\$ES_CLASSPATH:$out/\$additional_classpath_directory/*\"" ''; - buildInputs = [ makeWrapper jre_headless utillinux ] + buildInputs = [ makeWrapper jre_headless util-linux ] ++ optional enableUnfree zlib; installPhase = '' @@ -56,7 +56,7 @@ stdenv.mkDerivation (rec { chmod +x $out/bin/* wrapProgram $out/bin/elasticsearch \ - --prefix PATH : "${makeBinPath [ utillinux coreutils gnugrep ]}" \ + --prefix PATH : "${makeBinPath [ util-linux coreutils gnugrep ]}" \ --set JAVA_HOME "${jre_headless}" wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}" diff --git a/pkgs/servers/web-apps/cryptpad/node-packages.nix b/pkgs/servers/web-apps/cryptpad/node-packages.nix index 19c034aa78b..208bb3c72c7 100644 --- a/pkgs/servers/web-apps/cryptpad/node-packages.nix +++ b/pkgs/servers/web-apps/cryptpad/node-packages.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix index 2cf4d9465ae..f6a8f658039 100644 --- a/pkgs/servers/xmpp/ejabberd/default.nix +++ b/pkgs/servers/xmpp/ejabberd/default.nix @@ -1,5 +1,5 @@ { stdenv, writeScriptBin, makeWrapper, lib, fetchurl, git, cacert, libpng, libjpeg, libwebp -, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, utillinux, procps, gd +, erlang, openssl, expat, libyaml, bash, gnused, gnugrep, coreutils, util-linux, procps, gd , flock , withMysql ? false , withPgsql ? false @@ -21,7 +21,7 @@ let fi ''; - ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ]; + ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils util-linux procps ]; in stdenv.mkDerivation rec { version = "20.03"; diff --git a/pkgs/servers/zigbee2mqtt/node.nix b/pkgs/servers/zigbee2mqtt/node.nix index 42b6358224c..6080388b05e 100644 --- a/pkgs/servers/zigbee2mqtt/node.nix +++ b/pkgs/servers/zigbee2mqtt/node.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix index 0bdaede49a5..657bbc8d664 100644 --- a/pkgs/servers/zoneminder/default.nix +++ b/pkgs/servers/zoneminder/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchFromGitHub, fetchurl, fetchpatch, substituteAll, cmake, makeWrapper, pkgconfig , curl, ffmpeg_3, glib, libjpeg, libselinux, libsepol, mp4v2, libmysqlclient, mysql, pcre, perl, perlPackages -, polkit, utillinuxMinimal, x264, zlib +, polkit, util-linuxMinimal, x264, zlib , coreutils, procps, psmisc, nixosTests }: # NOTES: @@ -148,7 +148,7 @@ in stdenv.mkDerivation rec { buildInputs = [ curl ffmpeg_3 glib libjpeg libselinux libsepol mp4v2 libmysqlclient mysql.client pcre perl polkit x264 zlib - utillinuxMinimal # for libmount + util-linuxMinimal # for libmount ] ++ (with perlPackages; [ # build-time dependencies DateManip DBI DBDmysql LWP SysMmap diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix index deeb4093c68..d06157fa77c 100644 --- a/pkgs/shells/bash/4.4.nix +++ b/pkgs/shells/bash/4.4.nix @@ -1,5 +1,5 @@ { stdenv, buildPackages -, fetchurl, binutils ? null, bison, autoconf, utillinux +, fetchurl, binutils ? null, bison, autoconf, util-linux # patch for cygwin requires readline support , interactive ? stdenv.isCygwin, readline70 ? null @@ -93,7 +93,7 @@ stdenv.mkDerivation rec { "SHOBJ_LIBS=-lbash" ]; - checkInputs = [ utillinux ]; + checkInputs = [ util-linux ]; doCheck = false; # dependency cycle, needs to be interactive postInstall = '' diff --git a/pkgs/shells/bash/5.0.nix b/pkgs/shells/bash/5.0.nix index 09030493fb6..7120910d79e 100644 --- a/pkgs/shells/bash/5.0.nix +++ b/pkgs/shells/bash/5.0.nix @@ -1,5 +1,5 @@ { stdenv, buildPackages -, fetchurl, binutils ? null, bison, utillinux +, fetchurl, binutils ? null, bison, util-linux # patch for cygwin requires readline support , interactive ? stdenv.isCygwin, readline80 ? null @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { "SHOBJ_LIBS=-lbash" ]; - checkInputs = [ utillinux ]; + checkInputs = [ util-linux ]; doCheck = false; # dependency cycle, needs to be interactive postInstall = '' diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix index 3faa7f99657..eabed40e8eb 100644 --- a/pkgs/shells/fish/default.nix +++ b/pkgs/shells/fish/default.nix @@ -2,7 +2,7 @@ , lib , fetchurl , coreutils -, utillinux +, util-linux , which , gnused , gnugrep @@ -178,7 +178,7 @@ let EOF '' + optionalString stdenv.isLinux '' - sed -e "s| ul| ${utillinux}/bin/ul|" \ + sed -e "s| ul| ${util-linux}/bin/ul|" \ -i "$out/share/fish/functions/__fish_print_help.fish" for cur in $out/share/fish/functions/*.fish; do sed -e "s|/usr/bin/getent|${getent}/bin/getent|" \ diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 7f46e017c36..3f1bf557ae8 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig, writeText , xorg, gtk3, glib, pango, cairo, gdk-pixbuf, atk -, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which +, wrapGAppsHook, xorgserver, getopt, xauth, util-linux, which , ffmpeg, x264, libvpx, libwebp, x265 , libfakeXinerama , gst_all_1, pulseaudio, gobject-introspection @@ -97,7 +97,7 @@ in buildPythonApplication rec { --set XPRA_INSTALL_PREFIX "$out" --set XPRA_COMMAND "$out/bin/xpra" --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib - --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]} + --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which util-linux pulseaudio ]} ) ''; diff --git a/pkgs/tools/archivers/fsarchiver/default.nix b/pkgs/tools/archivers/fsarchiver/default.nix index 621e3f718e0..721accd93f0 100644 --- a/pkgs/tools/archivers/fsarchiver/default.nix +++ b/pkgs/tools/archivers/fsarchiver/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig , zlib, bzip2, lzma, lzo, lz4, zstd, xz -, libgcrypt, e2fsprogs, utillinux, libgpgerror }: +, libgcrypt, e2fsprogs, util-linux, libgpgerror }: let version = "0.8.5"; @@ -22,7 +22,7 @@ in stdenv.mkDerivation { buildInputs = [ zlib bzip2 lzma lzo lz4 zstd xz - libgcrypt e2fsprogs utillinux libgpgerror + libgcrypt e2fsprogs util-linux libgpgerror ]; meta = with stdenv.lib; { diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix index 0c528bcea1e..6e450b11aa2 100644 --- a/pkgs/tools/backup/btrbk/default.nix +++ b/pkgs/tools/backup/btrbk/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages -, utillinux, asciidoc, asciidoctor, mbuffer, makeWrapper }: +, util-linux, asciidoc, asciidoctor, mbuffer, makeWrapper }: stdenv.mkDerivation rec { pname = "btrbk"; @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { # Fix SSH filter script sed -i '/^export PATH/d' ssh_filter_btrbk.sh - substituteInPlace ssh_filter_btrbk.sh --replace logger ${utillinux}/bin/logger + substituteInPlace ssh_filter_btrbk.sh --replace logger ${util-linux}/bin/logger ''; preFixup = '' diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index c12cc1198c9..1f62834e4d1 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -7,7 +7,7 @@ , gnupg , gnutar , par2cmdline -, utillinux +, util-linux , rsync , backblaze-b2 , makeWrapper @@ -72,7 +72,7 @@ pythonPackages.buildPythonApplication rec { librsync # Add 'rdiff' to PATH. par2cmdline # Add 'par2' to PATH. ] ++ stdenv.lib.optionals stdenv.isLinux [ - utillinux # Add 'setsid' to PATH. + util-linux # Add 'setsid' to PATH. ] ++ (with pythonPackages; [ lockfile mock diff --git a/pkgs/tools/backup/ori/default.nix b/pkgs/tools/backup/ori/default.nix index e3b4a0fb537..9f00a7f2133 100644 --- a/pkgs/tools/backup/ori/default.nix +++ b/pkgs/tools/backup/ori/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, boost, pkgconfig, scons, utillinux, fuse, libevent, openssl, zlib }: +{ stdenv, fetchurl, boost, pkgconfig, scons, util-linux, fuse, libevent, openssl, zlib }: stdenv.mkDerivation { version = "0.8.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { }; buildInputs = [ - boost pkgconfig scons utillinux fuse libevent openssl zlib + boost pkgconfig scons util-linux fuse libevent openssl zlib ]; buildPhase = '' diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix index 16563c38099..25e72c1b880 100644 --- a/pkgs/tools/bluetooth/blueberry/default.nix +++ b/pkgs/tools/bluetooth/blueberry/default.nix @@ -8,7 +8,7 @@ , intltool , pavucontrol , python3Packages -, utillinux +, util-linux , wrapGAppsHook }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { cinnamon.xapps gnome3.gnome-bluetooth python3Packages.python - utillinux + util-linux ]; pythonPath = with python3Packages; [ @@ -68,8 +68,8 @@ stdenv.mkDerivation rec { --replace /usr/lib/blueberry $out/lib/blueberry \ --replace /usr/share $out/share substituteInPlace $out/lib/blueberry/rfkillMagic.py \ - --replace /usr/bin/rfkill ${utillinux}/bin/rfkill \ - --replace /usr/sbin/rfkill ${utillinux}/bin/rfkill \ + --replace /usr/bin/rfkill ${util-linux}/bin/rfkill \ + --replace /usr/sbin/rfkill ${util-linux}/bin/rfkill \ --replace /usr/lib/blueberry $out/lib/blueberry substituteInPlace $out/share/applications/blueberry.desktop \ --replace Exec=blueberry Exec=$out/bin/blueberry diff --git a/pkgs/tools/cd-dvd/bashburn/default.nix b/pkgs/tools/cd-dvd/bashburn/default.nix index 9b232be8ce0..0acf55da7fe 100644 --- a/pkgs/tools/cd-dvd/bashburn/default.nix +++ b/pkgs/tools/cd-dvd/bashburn/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, utillinux +{ stdenv, fetchurl, util-linux , cdparanoia, cdrdao, dvdplusrwtools, flac, lame, mpg123, normalize , vorbis-tools, xorriso }: @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { name = "${pname}-${version}.tar.gz"; }; - nativeBuildInputs = [ utillinux ]; + nativeBuildInputs = [ util-linux ]; postPatch = '' for path in \ @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { BB_OGGENC=${vorbis-tools}/bin/oggenc \ BB_OGGDEC=${vorbis-tools}/bin/oggdec \ BB_FLACCMD=${flac.bin}/bin/flac \ - BB_EJECT=${utillinux}/bin/eject \ + BB_EJECT=${util-linux}/bin/eject \ BB_NORMCMD=${normalize}/bin/normalize \ ; do echo $path diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix index ae9e6724fac..b935bc02d15 100644 --- a/pkgs/tools/cd-dvd/unetbootin/default.nix +++ b/pkgs/tools/cd-dvd/unetbootin/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, makeWrapper, qt4, utillinux, coreutils, which, qmake4Hook +{ stdenv, fetchFromGitHub, makeWrapper, qt4, util-linux, coreutils, which, qmake4Hook , p7zip, mtools, syslinux }: stdenv.mkDerivation rec { @@ -24,9 +24,9 @@ stdenv.mkDerivation rec { postPatch = '' substituteInPlace unetbootin.cpp \ --replace /bin/df ${coreutils}/bin/df \ - --replace /sbin/blkid ${utillinux}/sbin/blkid \ - --replace /sbin/fdisk ${utillinux}/sbin/fdisk \ - --replace /sbin/sfdisk ${utillinux}/sbin/sfdisk \ + --replace /sbin/blkid ${util-linux}/sbin/blkid \ + --replace /sbin/fdisk ${util-linux}/sbin/fdisk \ + --replace /sbin/sfdisk ${util-linux}/sbin/sfdisk \ --replace /usr/bin/syslinux ${syslinux}/bin/syslinux \ --replace /usr/bin/extlinux ${syslinux}/sbin/extlinux \ --replace /usr/share/syslinux ${syslinux}/share/syslinux diff --git a/pkgs/tools/compression/pigz/default.nix b/pkgs/tools/compression/pigz/default.nix index 1953b793657..07c7bf95607 100644 --- a/pkgs/tools/compression/pigz/default.nix +++ b/pkgs/tools/compression/pigz/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, utillinux }: +{ stdenv, fetchurl, zlib, util-linux }: let name = "pigz"; version = "2.4"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { enableParallelBuilding = true; - buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux utillinux; + buildInputs = [zlib] ++ stdenv.lib.optional stdenv.isLinux util-linux; makeFlags = [ "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" ]; diff --git a/pkgs/tools/filesystems/bcache-tools/default.nix b/pkgs/tools/filesystems/bcache-tools/default.nix index c3b1759bcdd..6e39ff17458 100644 --- a/pkgs/tools/filesystems/bcache-tools/default.nix +++ b/pkgs/tools/filesystems/bcache-tools/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, utillinux, bash }: +{ stdenv, fetchurl, pkgconfig, util-linux, bash }: stdenv.mkDerivation rec { pname = "bcache-tools"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ utillinux ]; + buildInputs = [ util-linux ]; # * Remove broken install rules (they ignore $PREFIX) for stuff we don't need # anyway (it's distro specific stuff). diff --git a/pkgs/tools/filesystems/bees/default.nix b/pkgs/tools/filesystems/bees/default.nix index 82a9742c071..bdca893a136 100644 --- a/pkgs/tools/filesystems/bees/default.nix +++ b/pkgs/tools/filesystems/bees/default.nix @@ -1,4 +1,4 @@ -{ stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils, python3Packages, utillinux }: +{ stdenv, runCommand, fetchFromGitHub, bash, btrfs-progs, coreutils, python3Packages, util-linux }: let @@ -15,7 +15,7 @@ let buildInputs = [ btrfs-progs # for btrfs/ioctl.h - utillinux # for uuid.h + util-linux # for uuid.h ]; nativeBuildInputs = [ @@ -56,7 +56,8 @@ let in runCommand "bees-service" { - inherit bash bees coreutils utillinux; + inherit bash bees coreutils; + utillinux = util-linux; # needs to be a valid shell variable name btrfsProgs = btrfs-progs; # needs to be a valid shell variable name } '' mkdir -p -- "$out/bin" diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index 7ada070aba6..07420bf2220 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -27,7 +27,7 @@ , nss ? null, nspr ? null # Linux Only Dependencies -, linuxHeaders, utillinux, libuuid, udev, keyutils, rdma-core, rabbitmq-c +, linuxHeaders, util-linux, libuuid, udev, keyutils, rdma-core, rabbitmq-c , libaio ? null, libxfs ? null, zfs ? null , ... }: @@ -148,7 +148,7 @@ in rec { malloc zlib openldap lttng-ust babeltrace gperf gtest cunit snappy rocksdb lz4 oathToolkit leveldb libnl libcap_ng rdkafka ] ++ optionals stdenv.isLinux [ - linuxHeaders utillinux libuuid udev keyutils optLibaio optLibxfs optZfs + linuxHeaders util-linux libuuid udev keyutils optLibaio optLibxfs optZfs # ceph 14 rdma-core rabbitmq-c ] ++ optionals hasRadosgw [ diff --git a/pkgs/tools/filesystems/fatresize/default.nix b/pkgs/tools/filesystems/fatresize/default.nix index 79551df00ee..c8366a96f07 100644 --- a/pkgs/tools/filesystems/fatresize/default.nix +++ b/pkgs/tools/filesystems/fatresize/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, parted, utillinux, pkg-config }: +{ stdenv, fetchFromGitHub, parted, util-linux, pkg-config }: stdenv.mkDerivation rec { @@ -12,10 +12,10 @@ stdenv.mkDerivation rec { sha256 = "1vhz84kxfyl0q7mkqn68nvzzly0a4xgzv76m6db0bk7xyczv1qr2"; }; - buildInputs = [ parted utillinux ]; + buildInputs = [ parted util-linux ]; nativeBuildInputs = [ pkg-config ]; - propagatedBuildInputs = [ parted utillinux ]; + propagatedBuildInputs = [ parted util-linux ]; meta = with stdenv.lib; { description = "The FAT16/FAT32 non-destructive resizer"; diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix index e7028ec1249..f495b56e325 100644 --- a/pkgs/tools/filesystems/glusterfs/default.nix +++ b/pkgs/tools/filesystems/glusterfs/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python3, ncurses, readline, autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite, liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which, - openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd, + openssh, gawk, findutils, util-linux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd, rsync, glibc, rpcsvc-proto, libtirpc }: let @@ -24,7 +24,7 @@ let buildInputs = [ fuse bison flex_2_5_35 openssl ncurses readline autoconf automake libtool pkgconfig zlib libaio libxml2 - acl sqlite liburcu attr makeWrapper utillinux libtirpc + acl sqlite liburcu attr makeWrapper util-linux libtirpc (python3.withPackages (pkgs: [ pkgs.flask pkgs.prettytable @@ -56,7 +56,7 @@ let openssh # ssh rsync # rsync, e.g. for geo-replication systemd # systemctl - utillinux # mount umount + util-linux # mount umount which # which xfsprogs # xfs_info ]; @@ -76,9 +76,9 @@ stdenv.mkDerivation substituteInPlace libglusterfs/src/glusterfs/lvm-defaults.h \ --replace '/sbin/' '${lvm2}/bin/' substituteInPlace libglusterfs/src/glusterfs/compat.h \ - --replace '/bin/umount' '${utillinux}/bin/umount' + --replace '/bin/umount' '${util-linux}/bin/umount' substituteInPlace contrib/fuse-lib/mount-gluster-compat.h \ - --replace '/bin/mount' '${utillinux}/bin/mount' + --replace '/bin/mount' '${util-linux}/bin/mount' ''; # Note that the VERSION file is something that is present in release tarballs diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix index 6ba29cb98d4..15d6686fbc3 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix @@ -1,7 +1,7 @@ # FIXME: Unify with pkgs/development/python-modules/blivet/default.nix. { stdenv, fetchurl, buildPythonApplication, pykickstart, pyparted, pyblock -, libselinux, cryptsetup, multipath_tools, lsof, utillinux +, libselinux, cryptsetup, multipath_tools, lsof, util-linux , useNixUdev ? true, systemd ? null # useNixUdev is here for bw compatibility }: @@ -24,11 +24,11 @@ buildPythonApplication rec { sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \ blivet/devicelibs/mpath.py blivet/devices.py sed -i -e '/"wipefs"/ { - s|wipefs|${utillinux.bin}/sbin/wipefs| + s|wipefs|${util-linux.bin}/sbin/wipefs| s/-f/--force/ }' blivet/formats/__init__.py sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py - sed -i -r -e 's|"(u?mount)"|"${utillinux.bin}/bin/\1"|' blivet/util.py + sed -i -r -e 's|"(u?mount)"|"${util-linux.bin}/bin/\1"|' blivet/util.py sed -i -e '/find_library/,/find_library/ { c libudev = "${stdenv.lib.getLib systemd}/lib/libudev.so.1" }' blivet/pyudev.py diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix index 1f672701d38..703d918f92a 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/default.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix @@ -13,7 +13,7 @@ let inherit stdenv fetchurl buildPythonApplication; inherit pykickstart pyparted pyblock cryptsetup libselinux multipath_tools; inherit useNixUdev; - inherit (pkgs) lsof utillinux systemd; + inherit (pkgs) lsof util-linux systemd; }; cryptsetup = import ./cryptsetup.nix { @@ -27,7 +27,7 @@ let lvm2 = import ./lvm2.nix { inherit stdenv fetchurl; - inherit (pkgs) fetchpatch pkgconfig utillinux systemd coreutils; + inherit (pkgs) fetchpatch pkgconfig util-linux systemd coreutils; }; multipath_tools = import ./multipath-tools.nix { @@ -37,7 +37,7 @@ let parted = import ./parted.nix { inherit stdenv fetchurl; - inherit (pkgs) fetchpatch utillinux readline libuuid gettext check lvm2; + inherit (pkgs) fetchpatch util-linux readline libuuid gettext check lvm2; }; pyblock = import ./pyblock.nix { diff --git a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix index fc0005a14d4..4369d659034 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/lvm2.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, systemd, utillinux, coreutils }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, systemd, util-linux, coreutils }: let v = "2.02.106"; @@ -60,7 +60,7 @@ stdenv.mkDerivation { postInstall = '' substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \ - --replace $out/sbin/blkid ${utillinux.bin}/sbin/blkid + --replace $out/sbin/blkid ${util-linux.bin}/sbin/blkid # Systemd stuff mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators diff --git a/pkgs/tools/filesystems/nixpart/0.4/parted.nix b/pkgs/tools/filesystems/nixpart/0.4/parted.nix index 16f3a57ea14..7fe1b745466 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/parted.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/parted.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline -, utillinux, check, enableStatic ? false }: +, util-linux, check, enableStatic ? false }: stdenv.mkDerivation rec { name = "parted-3.1"; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional enableStatic "--enable-static"; doCheck = true; - checkInputs = [ check utillinux ]; + checkInputs = [ check util-linux ]; meta = { description = "Create, destroy, resize, check, and copy partitions"; diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix index abe171170d4..2065e31e97a 100644 --- a/pkgs/tools/filesystems/ntfs-3g/default.nix +++ b/pkgs/tools/filesystems/ntfs-3g/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, utillinux, libuuid +{stdenv, fetchurl, util-linux, libuuid , crypto ? false, libgcrypt, gnutls, pkgconfig}: stdenv.mkDerivation rec { @@ -19,8 +19,8 @@ stdenv.mkDerivation rec { substituteInPlace src/Makefile.in --replace /sbin '@sbindir@' substituteInPlace ntfsprogs/Makefile.in --replace /sbin '@sbindir@' substituteInPlace libfuse-lite/mount_util.c \ - --replace /bin/mount ${utillinux}/bin/mount \ - --replace /bin/umount ${utillinux}/bin/umount + --replace /bin/mount ${util-linux}/bin/mount \ + --replace /bin/umount ${util-linux}/bin/umount ''; configureFlags = [ diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix index 8f365d023d2..815129f7f0f 100644 --- a/pkgs/tools/misc/calamares/default.nix +++ b/pkgs/tools/misc/calamares/default.nix @@ -1,6 +1,6 @@ { lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore , kservice, libatasmart, libxcb, libyamlcpp, parted, polkit-qt, python, qtbase -, qtquickcontrols, qtsvg, qttools, qtwebengine, utillinux, glibc, tzdata +, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, glibc, tzdata , ckbcomp, xkeyboard_config, mkDerivation }: @@ -17,7 +17,7 @@ mkDerivation rec { buildInputs = [ boost cmake extra-cmake-modules kparts.dev kpmcore.out kservice.dev libatasmart libxcb libyamlcpp parted polkit-qt python qtbase - qtquickcontrols qtsvg qttools qtwebengine.dev utillinux + qtquickcontrols qtsvg qttools qtwebengine.dev util-linux ]; enableParallelBuilding = false; diff --git a/pkgs/tools/misc/cloud-utils/default.nix b/pkgs/tools/misc/cloud-utils/default.nix index bd6d59c8a0c..1bd3def87c4 100644 --- a/pkgs/tools/misc/cloud-utils/default.nix +++ b/pkgs/tools/misc/cloud-utils/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper -, gawk, gnused, utillinux, file +, gawk, gnused, util-linux, file , wget, python3, qemu-utils, euca2ools , e2fsprogs, cdrkit , gptfdisk }: @@ -7,7 +7,7 @@ let # according to https://packages.debian.org/sid/cloud-image-utils + https://packages.debian.org/sid/admin/cloud-guest-utils guestDeps = [ - e2fsprogs gptfdisk gawk gnused utillinux + e2fsprogs gptfdisk gawk gnused util-linux ]; binDeps = guestDeps ++ [ wget file qemu-utils cdrkit diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix index 2940ff0a573..4d4afb0b995 100644 --- a/pkgs/tools/misc/debootstrap/default.nix +++ b/pkgs/tools/misc/debootstrap/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, utillinux +{ stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, util-linux , gnugrep, gnutar, gnused, gzip, makeWrapper }: # USAGE like this: debootstrap sid /tmp/target-chroot-directory # There is also cdebootstrap now. Is that easier to maintain? @@ -33,7 +33,7 @@ in stdenv.mkDerivation rec { substituteInPlace debootstrap \ --replace 'CHROOT_CMD="chroot ' 'CHROOT_CMD="${coreutils}/bin/chroot ' \ - --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${utillinux}/bin/unshare ' \ + --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${util-linux}/bin/unshare ' \ --replace /usr/bin/dpkg ${dpkg}/bin/dpkg \ --replace '#!/bin/sh' '#!/bin/bash' \ --subst-var-by VERSION ${version} diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix index fec78db979c..6634d2d23ca 100644 --- a/pkgs/tools/misc/etcher/default.nix +++ b/pkgs/tools/misc/etcher/default.nix @@ -3,7 +3,7 @@ , gcc-unwrapped , dpkg , polkit -, utillinux +, util-linux , bash , nodePackages , makeWrapper @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { # use Nix(OS) paths sed -i "s|/usr/bin/pkexec|/usr/bin/pkexec', '/run/wrappers/bin/pkexec|" tmp/node_modules/sudo-prompt/index.js sed -i 's|/bin/bash|${bash}/bin/bash|' tmp/node_modules/sudo-prompt/index.js - sed -i "s|'lsblk'|'${utillinux}/bin/lsblk'|" tmp/node_modules/drivelist/js/lsblk/index.js + sed -i "s|'lsblk'|'${util-linux}/bin/lsblk'|" tmp/node_modules/drivelist/js/lsblk/index.js sed -i "s|process.resourcesPath|'$out/share/${pname}/resources/'|" tmp/generated/gui.js ${nodePackages.asar}/bin/asar pack tmp opt/balenaEtcher/resources/app.asar rm -rf tmp diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 6292fb4a722..7d610416da4 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused, gnome3 , gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2 -, gpart, hdparm, procps, utillinux, polkit, wrapGAppsHook, substituteAll +, gpart, hdparm, procps, util-linux, polkit, wrapGAppsHook, substituteAll }: stdenv.mkDerivation rec { @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { preFixup = '' gappsWrapperArgs+=( - --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm utillinux procps coreutils gnused gnugrep ]}" + --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm util-linux procps coreutils gnused gnugrep ]}" ) ''; diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix index c33aa074404..dc29aad2a54 100644 --- a/pkgs/tools/misc/memtest86-efi/default.nix +++ b/pkgs/tools/misc/memtest86-efi/default.nix @@ -1,7 +1,7 @@ { stdenv , lib , fetchzip -, utillinux +, util-linux , jq , mtools }: @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - utillinux + util-linux jq mtools ]; diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix index 56262d8171e..28ac3a82f0a 100644 --- a/pkgs/tools/misc/ostree/default.nix +++ b/pkgs/tools/misc/ostree/default.nix @@ -19,7 +19,7 @@ , automake , libtool , fuse -, utillinuxMinimal +, util-linuxMinimal , libselinux , libsodium , libarchive @@ -93,7 +93,7 @@ in stdenv.mkDerivation rec { libarchive bzip2 xz - utillinuxMinimal # for libmount + util-linuxMinimal # for libmount # for installed tests testPython diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix index 808b0382f32..693e99c4645 100644 --- a/pkgs/tools/misc/parted/default.nix +++ b/pkgs/tools/misc/parted/default.nix @@ -9,7 +9,7 @@ , e2fsprogs , perl , python2 -, utillinux +, util-linux , check , enableStatic ? false }: @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { # Tests were previously failing due to Hydra running builds as uid 0. # That should hopefully be fixed now. doCheck = !stdenv.hostPlatform.isMusl; /* translation test */ - checkInputs = [ check dosfstools e2fsprogs perl python2 utillinux ]; + checkInputs = [ check dosfstools e2fsprogs perl python2 util-linux ]; meta = { description = "Create, destroy, resize, check, and copy partitions"; diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix index 1b5f7dbdbec..1a779616ab8 100644 --- a/pkgs/tools/misc/partition-manager/default.nix +++ b/pkgs/tools/misc/partition-manager/default.nix @@ -1,7 +1,7 @@ { mkDerivation, fetchurl, lib , extra-cmake-modules, kdoctools, wrapGAppsHook, wrapQtAppsHook , kconfig, kcrash, kinit, kpmcore -, eject, libatasmart , utillinux, qtbase +, eject, libatasmart , util-linux, qtbase }: let @@ -20,7 +20,7 @@ in mkDerivation rec { nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook ]; # refer to kpmcore for the use of eject - buildInputs = [ eject libatasmart utillinux ]; + buildInputs = [ eject libatasmart util-linux ]; propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ]; meta = with lib; { diff --git a/pkgs/tools/misc/profile-sync-daemon/default.nix b/pkgs/tools/misc/profile-sync-daemon/default.nix index 5c4a3301d27..b4497c4d7c8 100644 --- a/pkgs/tools/misc/profile-sync-daemon/default.nix +++ b/pkgs/tools/misc/profile-sync-daemon/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, utillinux, coreutils}: +{ stdenv, fetchurl, util-linux, coreutils}: stdenv.mkDerivation rec { version = "6.42"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { # $HOME detection fails (and is unnecessary) sed -i '/^HOME/d' $out/bin/profile-sync-daemon substituteInPlace $out/bin/psd-overlay-helper \ - --replace "PATH=/usr/bin:/bin" "PATH=${utillinux.bin}/bin:${coreutils}/bin" \ + --replace "PATH=/usr/bin:/bin" "PATH=${util-linux.bin}/bin:${coreutils}/bin" \ --replace "sudo " "/run/wrappers/bin/sudo " ''; diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix index 936c78b695d..36da8d0a463 100644 --- a/pkgs/tools/misc/rmlint/default.nix +++ b/pkgs/tools/misc/rmlint/default.nix @@ -14,7 +14,7 @@ , python3 , scons , sphinx -, utillinux +, util-linux , wrapGAppsHook , withGui ? false }: @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { sha256 = "15xfkcw1bkfyf3z8kl23k3rlv702m0h7ghqxvhniynvlwbgh6j2x"; }; - CFLAGS="-I${stdenv.lib.getDev utillinux}/include"; + CFLAGS="-I${stdenv.lib.getDev util-linux}/include"; nativeBuildInputs = [ pkgconfig @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { glib json-glib libelf - utillinux + util-linux ] ++ stdenv.lib.optionals withGui [ cairo gobject-introspection diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix index 0ba72852c40..abca71febb9 100644 --- a/pkgs/tools/misc/rpm-ostree/default.nix +++ b/pkgs/tools/misc/rpm-ostree/default.nix @@ -33,7 +33,7 @@ , json_c , zchunk , libmodulemd -, utillinux +, util-linux , sqlite , cppunit }: @@ -89,7 +89,7 @@ stdenv.mkDerivation rec { json_c zchunk libmodulemd - utillinux # for smartcols.pc + util-linux # for smartcols.pc sqlite cppunit ]; diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix index 576e1d78074..177580c099b 100644 --- a/pkgs/tools/misc/snapper/default.nix +++ b/pkgs/tools/misc/snapper/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub , autoreconfHook, pkgconfig, docbook_xsl, libxslt, docbook_xml_dtd_45 , acl, attr, boost, btrfs-progs, dbus, diffutils, e2fsprogs, libxml2 -, lvm2, pam, python, utillinux, fetchpatch, json_c, nixosTests }: +, lvm2, pam, python, util-linux, fetchpatch, json_c, nixosTests }: stdenv.mkDerivation rec { pname = "snapper"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ acl attr boost btrfs-progs dbus diffutils e2fsprogs libxml2 - lvm2 pam python utillinux json_c + lvm2 pam python util-linux json_c ]; passthru.tests.snapper = nixosTests.snapper; diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix index a32e941ad84..b39f631f95b 100644 --- a/pkgs/tools/misc/tlp/default.nix +++ b/pkgs/tools/misc/tlp/default.nix @@ -16,7 +16,7 @@ , shellcheck , smartmontools , systemd -, utillinux +, util-linux , x86_energy_perf_policy # RDW only works with NetworkManager, and thus is optional with default off , enableRDW ? false @@ -86,7 +86,7 @@ perl smartmontools systemd - utillinux + util-linux ] ++ lib.optional enableRDW networkmanager ++ lib.optional (lib.any (lib.meta.platformMatch stdenv.hostPlatform) x86_energy_perf_policy.meta.platforms) x86_energy_perf_policy ); diff --git a/pkgs/tools/misc/woeusb/default.nix b/pkgs/tools/misc/woeusb/default.nix index 4c235b4866f..fddb98d8dc3 100644 --- a/pkgs/tools/misc/woeusb/default.nix +++ b/pkgs/tools/misc/woeusb/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchFromGitHub, autoreconfHook, makeWrapper -, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, utillinux, wget +, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, util-linux, wget , wxGTK30 }: stdenv.mkDerivation rec { @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { # should be patched with a less useless default PATH, but for now # we add everything we need manually. wrapProgram "$out/bin/woeusb" \ - --set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted utillinux wget p7zip ]}' + --set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted util-linux wget p7zip ]}' ''; doInstallCheck = true; diff --git a/pkgs/tools/misc/xfstests/default.nix b/pkgs/tools/misc/xfstests/default.nix index 5f6d2bb1278..3bc01048c1e 100644 --- a/pkgs/tools/misc/xfstests/default.nix +++ b/pkgs/tools/misc/xfstests/default.nix @@ -1,7 +1,7 @@ { stdenv, acl, attr, autoconf, automake, bash, bc, coreutils, e2fsprogs , fetchgit, fio, gawk, keyutils, killall, lib, libaio, libcap, libtool , libuuid, libxfs, lvm2, openssl, perl, procps, quota -, time, utillinux, which, writeScript, xfsprogs, runtimeShell }: +, time, util-linux, which, writeScript, xfsprogs, runtimeShell }: stdenv.mkDerivation { name = "xfstests-2019-09-08"; @@ -96,7 +96,7 @@ stdenv.mkDerivation { export PATH=${lib.makeBinPath [acl attr bc e2fsprogs fio gawk keyutils libcap lvm2 perl procps killall quota - utillinux which xfsprogs]}:$PATH + util-linux which xfsprogs]}:$PATH exec ./check "$@" ''; diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix index 04c1902f3a0..02a2d67de53 100644 --- a/pkgs/tools/misc/xvfb-run/default.nix +++ b/pkgs/tools/misc/xvfb-run/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, xorgserver, getopt -, xauth, utillinux, which, fontsConf, gawk, coreutils }: +, xauth, util-linux, which, fontsConf, gawk, coreutils }: let xvfb_run = fetchurl { name = "xvfb-run"; @@ -19,7 +19,7 @@ stdenv.mkDerivation { patchShebangs $out/bin/xvfb-run wrapProgram $out/bin/xvfb-run \ --set FONTCONFIG_FILE "${fontsConf}" \ - --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux gawk coreutils ]} + --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which util-linux gawk coreutils ]} ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/airfield/node.nix b/pkgs/tools/networking/airfield/node.nix index e306e49c849..055fc5267c3 100644 --- a/pkgs/tools/networking/airfield/node.nix +++ b/pkgs/tools/networking/airfield/node.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/tools/networking/bud/default.nix b/pkgs/tools/networking/bud/default.nix index a79cbdc8bbd..724d25d49f9 100644 --- a/pkgs/tools/networking/bud/default.nix +++ b/pkgs/tools/networking/bud/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchgit, python, gyp, utillinux }: +{ stdenv, lib, fetchgit, python, gyp, util-linux }: stdenv.mkDerivation { pname = "bud"; @@ -13,7 +13,7 @@ stdenv.mkDerivation { buildInputs = [ python gyp - ] ++ lib.optional stdenv.isLinux utillinux; + ] ++ lib.optional stdenv.isLinux util-linux; buildPhase = '' python ./gyp_bud -f make diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index 438f107c27c..28a418c27f2 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, nodejs, which, python27, utillinux, nixosTests }: +{ stdenv, fetchFromGitHub, nodejs, which, python27, util-linux, nixosTests }: stdenv.mkDerivation rec { pname = "cjdns"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ which python27 nodejs ] ++ # for flock - stdenv.lib.optional stdenv.isLinux utillinux; + stdenv.lib.optional stdenv.isLinux util-linux; CFLAGS = "-O2 -Wno-error=stringop-truncation"; buildPhase = diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index 1df6260a09c..04ac9700310 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -9,7 +9,7 @@ , pam , useSystemd ? stdenv.isLinux , systemd ? null -, utillinux ? null +, util-linux ? null , pkcs11Support ? false , pkcs11helper ? null }: @@ -63,7 +63,7 @@ let '' + optionalString useSystemd '' install -Dm555 ${update-resolved} $out/libexec/update-systemd-resolved wrapProgram $out/libexec/update-systemd-resolved \ - --prefix PATH : ${makeBinPath [ runtimeShell iproute systemd utillinux ]} + --prefix PATH : ${makeBinPath [ runtimeShell iproute systemd util-linux ]} ''; enableParallelBuilding = true; diff --git a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix index d73b8e911b9..f50d17eaf7d 100644 --- a/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix +++ b/pkgs/tools/networking/openvpn/openvpn_learnaddress.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, makeWrapper, coreutils, gawk, utillinux }: +{ stdenv, fetchgit, makeWrapper, coreutils, gawk, util-linux }: stdenv.mkDerivation { name = "openvpn-learnaddress-19b03c3"; @@ -9,13 +9,13 @@ stdenv.mkDerivation { sha256 = "16pcyvyhwsx34i0cjkkx906lmrwdd9gvznvqdwlad4ha8l8f8z42"; }; - buildInputs = [ makeWrapper coreutils gawk utillinux ]; + buildInputs = [ makeWrapper coreutils gawk util-linux ]; installPhase = '' install -Dm555 ovpn-learnaddress $out/libexec/openvpn/openvpn-learnaddress wrapProgram $out/libexec/openvpn/openvpn-learnaddress \ - --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk utillinux ]} + --prefix PATH : ${stdenv.lib.makeBinPath [ coreutils gawk util-linux ]} ''; meta = { diff --git a/pkgs/tools/networking/openvpn/update-systemd-resolved.nix b/pkgs/tools/networking/openvpn/update-systemd-resolved.nix index 4d18372363b..1a192ce6688 100644 --- a/pkgs/tools/networking/openvpn/update-systemd-resolved.nix +++ b/pkgs/tools/networking/openvpn/update-systemd-resolved.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub , makeWrapper -, iproute, systemd, coreutils, utillinux }: +, iproute, systemd, coreutils, util-linux }: stdenv.mkDerivation rec { pname = "update-systemd-resolved"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { installPhase = '' wrapProgram $out/libexec/openvpn/update-systemd-resolved \ - --prefix PATH : ${lib.makeBinPath [ iproute systemd coreutils utillinux ]} + --prefix PATH : ${lib.makeBinPath [ iproute systemd coreutils util-linux ]} ''; meta = with stdenv.lib; { diff --git a/pkgs/tools/networking/shorewall/default.nix b/pkgs/tools/networking/shorewall/default.nix index 67f81b82105..c56f0eac7ff 100644 --- a/pkgs/tools/networking/shorewall/default.nix +++ b/pkgs/tools/networking/shorewall/default.nix @@ -10,7 +10,7 @@ , perlPackages , stdenv , tree -, utillinux +, util-linux }: let PATH = stdenv.lib.concatStringsSep ":" @@ -19,7 +19,7 @@ let "${iptables}/bin" "${ipset}/bin" "${ebtables}/bin" - "${utillinux}/bin" + "${util-linux}/bin" "${gnugrep}/bin" "${gnused}/bin" ]; @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { ipset iptables ebtables - utillinux + util-linux gnugrep gnused perl diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix index 478c1ed35f2..d9d8478e985 100644 --- a/pkgs/tools/networking/tgt/default.nix +++ b/pkgs/tools/networking/tgt/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, libxslt, libaio, systemd, perl, perlPackages -, docbook_xsl, coreutils, lsof, rdma-core, makeWrapper, sg3_utils, utillinux +, docbook_xsl, coreutils, lsof, rdma-core, makeWrapper, sg3_utils, util-linux }: stdenv.mkDerivation rec { diff --git a/pkgs/tools/package-management/nixui/nixui.nix b/pkgs/tools/package-management/nixui/nixui.nix index e306e49c849..055fc5267c3 100644 --- a/pkgs/tools/package-management/nixui/nixui.nix +++ b/pkgs/tools/package-management/nixui/nixui.nix @@ -6,7 +6,7 @@ let nodeEnv = import ../../../development/node-packages/node-env.nix { - inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit (pkgs) stdenv python2 util-linux runCommand writeTextFile; inherit nodejs; libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; }; diff --git a/pkgs/tools/security/ecryptfs/default.nix b/pkgs/tools/security/ecryptfs/default.nix index e4caa9c4e18..1a8329885ba 100644 --- a/pkgs/tools/security/ecryptfs/default.nix +++ b/pkgs/tools/security/ecryptfs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, perl, utillinux, keyutils, nss, nspr, python2, pam, enablePython ? false +{ stdenv, fetchurl, pkgconfig, perl, util-linux, keyutils, nss, nspr, python2, pam, enablePython ? false , intltool, makeWrapper, coreutils, bash, gettext, cryptsetup, lvm2, rsync, which, lsof }: stdenv.mkDerivation rec { @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { FILES="$(grep -r '/bin/sh' src/utils -l; find src -name \*.c)" for file in $FILES; do substituteInPlace "$file" \ - --replace /bin/mount ${utillinux}/bin/mount \ - --replace /bin/umount ${utillinux}/bin/umount \ + --replace /bin/mount ${util-linux}/bin/mount \ + --replace /bin/umount ${util-linux}/bin/umount \ --replace /sbin/mount.ecryptfs_private ${wrapperDir}/mount.ecryptfs_private \ --replace /sbin/umount.ecryptfs_private ${wrapperDir}/umount.ecryptfs_private \ --replace /sbin/mount.ecryptfs $out/sbin/mount.ecryptfs \ diff --git a/pkgs/tools/security/pass/rofi-pass.nix b/pkgs/tools/security/pass/rofi-pass.nix index b3c08648862..d46aac93e86 100644 --- a/pkgs/tools/security/pass/rofi-pass.nix +++ b/pkgs/tools/security/pass/rofi-pass.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, pass, rofi, coreutils, utillinux, xdotool, gnugrep +{ stdenv, fetchFromGitHub, pass, rofi, coreutils, util-linux, xdotool, gnugrep , libnotify, pwgen, findutils, gawk, gnused, xclip, makeWrapper }: @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { (pass.withExtensions (ext: [ ext.pass-otp ])) pwgen rofi - utillinux + util-linux xclip xdotool ]; diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix index 66b5afc9a9b..e230b2ee457 100644 --- a/pkgs/tools/security/scrypt/default.nix +++ b/pkgs/tools/security/scrypt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl, utillinux, getconf }: +{ stdenv, fetchurl, openssl, util-linux, getconf }: stdenv.mkDerivation rec { pname = "scrypt"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { doCheck = true; checkTarget = "test"; - checkInputs = [ utillinux ]; + checkInputs = [ util-linux ]; meta = with stdenv.lib; { description = "Encryption utility"; diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix index f9ea99432bf..2a101bba886 100644 --- a/pkgs/tools/system/facter/default.nix +++ b/pkgs/tools/system/facter/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, boost, cmake, cpp-hocon, curl, leatherman, libwhereami, libyamlcpp, openssl, ruby, utillinux }: +{ stdenv, fetchFromGitHub, boost, cmake, cpp-hocon, curl, leatherman, libwhereami, libyamlcpp, openssl, ruby, util-linux }: stdenv.mkDerivation rec { pname = "facter"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-Wno-error"; nativeBuildInputs = [ cmake ]; - buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby utillinux ]; + buildInputs = [ boost cpp-hocon curl leatherman libwhereami libyamlcpp openssl ruby util-linux ]; enableParallelBuilding = true; diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix index 4257e2f2fd1..e5747a09f9c 100644 --- a/pkgs/tools/system/inxi/default.nix +++ b/pkgs/tools/system/inxi/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper , ps, dnsutils # dig is recommended for multiple categories , withRecommends ? false # Install (almost) all recommended tools (see --recommends) -, withRecommendedSystemPrograms ? withRecommends, utillinuxMinimal, dmidecode +, withRecommendedSystemPrograms ? withRecommends, util-linuxMinimal, dmidecode , file, hddtemp, iproute, ipmitool, usbutils, kmod, lm_sensors, smartmontools , binutils, tree, upower , withRecommendedDisplayInformationPrograms ? withRecommends, glxinfo, xorg @@ -11,7 +11,7 @@ let prefixPath = programs: "--prefix PATH ':' '${stdenv.lib.makeBinPath programs}'"; recommendedSystemPrograms = lib.optionals withRecommendedSystemPrograms [ - utillinuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod + util-linuxMinimal dmidecode file hddtemp iproute ipmitool usbutils kmod lm_sensors smartmontools binutils tree upower ]; recommendedDisplayInformationPrograms = lib.optionals diff --git a/pkgs/tools/system/rofi-systemd/default.nix b/pkgs/tools/system/rofi-systemd/default.nix index 92c13527c6f..7d4ea120a8e 100644 --- a/pkgs/tools/system/rofi-systemd/default.nix +++ b/pkgs/tools/system/rofi-systemd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, rofi, systemd, coreutils, utillinux, gawk, makeWrapper +{ stdenv, fetchFromGitHub, rofi, systemd, coreutils, util-linux, gawk, makeWrapper }: stdenv.mkDerivation rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { wrapperPath = with stdenv.lib; makeBinPath [ rofi coreutils - utillinux + util-linux gawk systemd ]; diff --git a/pkgs/tools/virtualization/alpine-make-vm-image/default.nix b/pkgs/tools/virtualization/alpine-make-vm-image/default.nix index 08d37a1d53b..d6dad6433e7 100644 --- a/pkgs/tools/virtualization/alpine-make-vm-image/default.nix +++ b/pkgs/tools/virtualization/alpine-make-vm-image/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchFromGitHub, makeWrapper , apk-tools, coreutils, e2fsprogs, findutils, gnugrep, gnused, kmod, qemu-utils -, utillinux +, util-linux }: stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/alpine-make-vm-image --set PATH ${lib.makeBinPath [ apk-tools coreutils e2fsprogs findutils gnugrep gnused kmod qemu-utils - utillinux + util-linux ]} ''; diff --git a/pkgs/tools/virtualization/google-compute-engine/default.nix b/pkgs/tools/virtualization/google-compute-engine/default.nix index 34f2bc9e190..be62ace4797 100644 --- a/pkgs/tools/virtualization/google-compute-engine/default.nix +++ b/pkgs/tools/virtualization/google-compute-engine/default.nix @@ -4,7 +4,7 @@ , bash , bashInteractive , systemd -, utillinux +, util-linux , boto , setuptools , distro @@ -31,14 +31,14 @@ buildPythonApplication rec { substituteInPlace "$file" \ --replace /bin/systemctl "/run/current-system/systemd/bin/systemctl" \ --replace /bin/bash "${bashInteractive}/bin/bash" \ - --replace /sbin/hwclock "${utillinux}/bin/hwclock" + --replace /sbin/hwclock "${util-linux}/bin/hwclock" # SELinux tool ??? /sbin/restorecon done substituteInPlace google_config/udev/64-gce-disk-removal.rules \ --replace /bin/sh "${bash}/bin/sh" \ - --replace /bin/umount "${utillinux}/bin/umount" \ - --replace /usr/bin/logger "${utillinux}/bin/logger" + --replace /bin/umount "${util-linux}/bin/umount" \ + --replace /usr/bin/logger "${util-linux}/bin/logger" ''; postInstall = '' diff --git a/pkgs/tools/virtualization/nixos-container/default.nix b/pkgs/tools/virtualization/nixos-container/default.nix index 32a7c1e2c33..badd25b4e24 100644 --- a/pkgs/tools/virtualization/nixos-container/default.nix +++ b/pkgs/tools/virtualization/nixos-container/default.nix @@ -1,4 +1,4 @@ -{ substituteAll, perlPackages, shadow, utillinux }: +{ substituteAll, perlPackages, shadow, util-linux }: substituteAll { name = "nixos-container"; @@ -7,7 +7,7 @@ substituteAll { src = ./nixos-container.pl; perl = "${perlPackages.perl}/bin/perl -I${perlPackages.FileSlurp}/${perlPackages.perl.libPrefix}"; su = "${shadow.su}/bin/su"; - inherit utillinux; + utillinux = util-linux; postInstall = '' t=$out/share/bash-completion/completions diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 078d4bc2eca..9187b127c93 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -491,7 +491,7 @@ mapAliases ({ retroshare06 = retroshare; gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10 qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10 - rfkill = throw "rfkill has been removed, as it's included in utillinux"; # added 2020-08-23 + rfkill = throw "rfkill has been removed, as it's included in util-linux"; # added 2020-08-23 riak-cs = throw "riak-cs is not maintained anymore"; # added 2020-10-14 rkt = throw "rkt was archived by upstream"; # added 2020-05-16 ruby_2_0_0 = throw "ruby_2_0_0 was deprecated on 2018-02-13: use a newer version of ruby"; @@ -642,6 +642,7 @@ mapAliases ({ unicorn-emu = unicorn; # added 2020-10-29 usb_modeswitch = usb-modeswitch; # added 2016-05-10 usbguard-nox = usbguard; # added 2019-09-04 + utillinux = util-linux; # added 2020-11-24 uzbl = throw "uzbl has been removed from nixpkgs, as it's unmaintained and uses insecure libraries"; v4l_utils = v4l-utils; # added 2019-08-07 v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 92e68417e47..c6fbfb05243 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2647,7 +2647,7 @@ in mstflint = callPackage ../tools/misc/mstflint { }; mcelog = callPackage ../os-specific/linux/mcelog { - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; }; sqlint = callPackage ../development/tools/sqlint { }; @@ -3631,21 +3631,21 @@ in elk7Version = "7.5.1"; elasticsearch6 = callPackage ../servers/search/elasticsearch/6.x.nix { - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; elasticsearch6-oss = callPackage ../servers/search/elasticsearch/6.x.nix { enableUnfree = false; - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; elasticsearch7 = callPackage ../servers/search/elasticsearch/7.x.nix { - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; elasticsearch7-oss = callPackage ../servers/search/elasticsearch/7.x.nix { enableUnfree = false; - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; elasticsearch = elasticsearch6; @@ -13064,7 +13064,7 @@ in gnutls = callPackage ../development/libraries/gnutls/default.nix { inherit (darwin.apple_sdk.frameworks) Security; - utillinux = utillinuxMinimal; # break the cyclic dependency + util-linux = util-linuxMinimal; # break the cyclic dependency }; gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix { @@ -17875,7 +17875,7 @@ in libossp_uuid = callPackage ../development/libraries/libossp-uuid { }; libuuid = if stdenv.isLinux - then utillinuxMinimal + then util-linuxMinimal else null; light = callPackage ../os-specific/linux/light { }; @@ -17908,7 +17908,7 @@ in }; fusePackages = dontRecurseIntoAttrs (callPackage ../os-specific/linux/fuse { - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; }); fuse = lowPrio fusePackages.fuse_2; fuse3 = fusePackages.fuse_3; @@ -18960,7 +18960,7 @@ in systemd = callPackage ../os-specific/linux/systemd { # break some cyclic dependencies - utillinux = utillinuxMinimal; + util-linux = util-linuxMinimal; # provide a super minimal gnupg used for systemd-machined gnupg = callPackage ../tools/security/gnupg/22.nix { enableMinimal = true; @@ -19080,7 +19080,7 @@ in stdenv = crossLibcStdenv; }; - eudev = callPackage ../os-specific/linux/eudev { utillinux = utillinuxMinimal; }; + eudev = callPackage ../os-specific/linux/eudev { util-linux = util-linuxMinimal; }; libudev0-shim = callPackage ../os-specific/linux/libudev0-shim { }; @@ -19104,17 +19104,17 @@ in usermount = callPackage ../os-specific/linux/usermount { }; - utillinux = if stdenv.isLinux then callPackage ../os-specific/linux/util-linux { } - else unixtools.utillinux; + util-linux = if stdenv.isLinux then callPackage ../os-specific/linux/util-linux { } + else unixtools.util-linux; - utillinuxCurses = utillinux; + util-linuxCurses = util-linux; - utillinuxMinimal = if stdenv.isLinux then appendToName "minimal" (utillinux.override { + util-linuxMinimal = if stdenv.isLinux then appendToName "minimal" (util-linux.override { minimal = true; ncurses = null; perl = null; systemd = null; - }) else utillinux; + }) else util-linux; v4l-utils = qt5.callPackage ../os-specific/linux/v4l-utils { }; diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix index 41aa86a8c46..5e591ec7a85 100644 --- a/pkgs/top-level/release-small.nix +++ b/pkgs/top-level/release-small.nix @@ -160,8 +160,8 @@ with import ./release-lib.nix { inherit supportedSystems nixpkgsArgs; }; udev = linux; unzip = all; usbutils = linux; - utillinux = linux; - utillinuxMinimal = linux; + util-linux = linux; + util-linuxMinimal = linux; w3m = all; webkitgtk = linux; wget = all; diff --git a/pkgs/top-level/unix-tools.nix b/pkgs/top-level/unix-tools.nix index cdad9de61f4..b4f708ad565 100644 --- a/pkgs/top-level/unix-tools.nix +++ b/pkgs/top-level/unix-tools.nix @@ -55,15 +55,15 @@ let darwin = pkgs.darwin.network_cmds; }; col = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.text_cmds; }; column = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.netbsd.column; }; eject = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; }; getconf = { linux = if stdenv.hostPlatform.libc == "glibc" then pkgs.stdenv.cc.libc @@ -76,19 +76,19 @@ let darwin = pkgs.netbsd.getent; }; getopt = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.getopt; }; fdisk = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.diskdev_cmds; }; fsck = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.diskdev_cmds; }; hexdump = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.shell_cmds; }; hostname = { @@ -108,14 +108,14 @@ let darwin = pkgs.netbsd.locale; }; logger = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; }; more = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = more_compat; }; mount = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.diskdev_cmds; }; netstat = { @@ -139,7 +139,7 @@ let darwin = pkgs.darwin.network_cmds; }; script = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.shell_cmds; }; sysctl = { @@ -151,15 +151,15 @@ let darwin = pkgs.darwin.top; }; umount = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.diskdev_cmds; }; whereis = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.shell_cmds; }; wall = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; }; watch = { linux = pkgs.procps; @@ -169,7 +169,7 @@ let darwin = pkgs.callPackage ../os-specific/linux/procps-ng {}; }; write = { - linux = pkgs.utillinux; + linux = pkgs.util-linux; darwin = pkgs.darwin.basic_cmds; }; xxd = { @@ -188,7 +188,7 @@ let # Provided for old usage of these commands. compat = with bins; lib.mapAttrs makeCompat { procps = [ ps sysctl top watch ]; - utillinux = [ fsck fdisk getopt hexdump mount + util-linux = [ fsck fdisk getopt hexdump mount script umount whereis write col column ]; nettools = [ arp hostname ifconfig netstat route ]; }; -- cgit 1.4.1 From 11ee54305298de16df4bfde14dc27e220bea5417 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Wed, 2 Dec 2020 21:48:02 +0100 Subject: sd-image: fix resizing if root is not the second partition. --- nixos/modules/installer/cd-dvd/sd-image.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index d9799aa69c9..c8c5a46dfb8 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -223,9 +223,10 @@ in # Figure out device names for the boot device and root filesystem. rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /) bootDevice=$(lsblk -npo PKNAME $rootPart) + partNum=$(lsblk -npo MAJ:MIN $rootPart | awk -F: '{print $2}') # Resize the root partition and the filesystem to fit the disk - echo ",+," | sfdisk -N2 --no-reread $bootDevice + echo ",+," | sfdisk -N$partNum --no-reread $bootDevice ${pkgs.parted}/bin/partprobe ${pkgs.e2fsprogs}/bin/resize2fs $rootPart -- cgit 1.4.1 From aa38540423e82e819b048f932eefc78ac6e6a0c2 Mon Sep 17 00:00:00 2001 From: Matej Urbas Date: Sat, 12 Dec 2020 15:23:04 +0000 Subject: nixos/sd-image: explicit reference to the gawk package The `awk` command is not installed in the standard env. So this command fails if the `awk` command is not installed by some external module. --- nixos/modules/installer/cd-dvd/sd-image.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index c8c5a46dfb8..b811ae07eb0 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -223,7 +223,7 @@ in # Figure out device names for the boot device and root filesystem. rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /) bootDevice=$(lsblk -npo PKNAME $rootPart) - partNum=$(lsblk -npo MAJ:MIN $rootPart | awk -F: '{print $2}') + partNum=$(lsblk -npo MAJ:MIN $rootPart | ${pkgs.gawk}/bin/awk -F: '{print $2}') # Resize the root partition and the filesystem to fit the disk echo ",+," | sfdisk -N$partNum --no-reread $bootDevice -- cgit 1.4.1 From a8c49a97a634ef488efe668e0043c1d3f7a43d5f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 18 Dec 2020 12:33:49 +0100 Subject: nix: 2.3.9 -> 2.3.10 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 699fb555615..6b1f54beee2 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/fwak7l5jjl0py4wldsqjbv7p7rdzql0b-nix-2.3.9"; - i686-linux = "/nix/store/jlqrx9zw3vkwcczndaar5ban1j8g519z-nix-2.3.9"; - aarch64-linux = "/nix/store/kzvpzlm12185hw27l5znrprgvcja54d0-nix-2.3.9"; - x86_64-darwin = "/nix/store/kanh3awpf370pxfnjfvkh2m343wr3hj0-nix-2.3.9"; + x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10"; + i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10"; + aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10"; + x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index c17a1a82d9f..bfc67ccac63 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -188,10 +188,10 @@ in rec { nix = nixStable; nixStable = callPackage common (rec { - name = "nix-2.3.9"; + name = "nix-2.3.10"; src = fetchurl { url = "https://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "72331fdba220517a0ccabcf5c9735703c31674bfb4ef0b64da5d8f715d6022fa"; + sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; }; inherit storeDir stateDir confDir boehmgc; -- cgit 1.4.1 From 9d92c9d0a797b19662968b250919d075317d7379 Mon Sep 17 00:00:00 2001 From: Tom Fitzhenry Date: Fri, 19 Jun 2020 17:57:04 +1000 Subject: iso-image: add 'serial console' boot entry Prior to this commit, installation over serial console would requiring manually having to modify the kernel modeline, as described in https://github.com/NixOS/nixpkgs/issues/58198 . This is unnecessarily fiddly, so this commit adds a syslinux boot entry that has serial enabled. GRUB already has a serial console entry: https://github.com/NixOS/nixpkgs/blob/2c07a0800a76be01a3c255f39e21877a9a389f84/nixos/modules/installer/cd-dvd/iso-image.nix#L311-L317 Why 115200 bps? This is already used in other places, e.g. https://github.com/NixOS/nixpkgs/pull/58196 I tested this change by building the image, booting the image, and observing the boot process over serial: $ cd nixos/ $ nix-build -A config.system.build.isoImage -I nixos-config=modules/installer/cd-dvd/installation-cd-minimal.nix default.nix $ sudo cp /nix/store/arcl702c3z8xlndlvnfplq9yhixjvs9k-nixos-20.09pre-git-x86_64-linux.iso/iso/nixos-20.09pre-git-x86_64-linux.iso /dev/sdb $ picocom -b 115200 /dev/ttyUSB0 --- nixos/modules/installer/cd-dvd/iso-image.nix | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 405fbfa10db..43d20a556f8 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -143,6 +143,13 @@ let LINUX /boot/${config.system.boot.loader.kernelFile} APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7 INITRD /boot/${config.system.boot.loader.initrdFile} + + # A variant to boot with a serial console enabled + LABEL boot-serial + MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (serial console=ttyS0,115200n8) + LINUX /boot/${config.system.boot.loader.kernelFile} + APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} console=ttyS0,115200n8 + INITRD /boot/${config.system.boot.loader.initrdFile} ''; isolinuxMemtest86Entry = '' -- cgit 1.4.1 From f9d5de05d255dca286d12a6630a97a2b81dcaea7 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 12 Sep 2020 22:48:05 -0400 Subject: sd-image-raspberrypi4: Use u-boot for booting This includes setting up everything for the mainline Raspberry Pi 4 image. In fact, the only difference left in the Raspberry Pi 4-specific image is the kernel from the vendor. --- .../modules/installer/cd-dvd/sd-image-aarch64.nix | 27 ++++++++++++++++-- .../installer/cd-dvd/sd-image-raspberrypi4.nix | 32 +--------------------- 2 files changed, 25 insertions(+), 34 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index a5bc436be82..e73bc5a22e0 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -30,13 +30,25 @@ sdImage = { populateFirmwareCommands = let configTxt = pkgs.writeText "config.txt" '' + [pi3] kernel=u-boot-rpi3.bin + [pi4] + kernel=u-boot-rpi4.bin + enable_gic=1 + armstub=armstub8-gic.bin + + # Otherwise the resolution will be weird in most cases, compared to + # what the pi3 firmware does by default. + disable_overscan=1 + + [all] # Boot in 64-bit mode. arm_64bit=1 - # U-Boot used to need this to work, regardless of whether UART is actually used or not. - # TODO: check when/if this can be removed. + # U-Boot needs this to work, regardless of whether UART is actually used or not. + # Look in arch/arm/mach-bcm283x/Kconfig in the U-Boot tree to see if this is still + # a requirement in the future. enable_uart=1 # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel @@ -45,8 +57,17 @@ ''; in '' (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) - cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin + + # Add the config cp ${configTxt} firmware/config.txt + + # Add pi3 specific files + cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin + + # Add pi4 specific files + cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin + cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin + cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/ ''; populateRootCommands = '' mkdir -p ./files/boot diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix index 87545e84203..5bdec7de86e 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -3,36 +3,6 @@ { config, lib, pkgs, ... }: { - imports = [ - ../../profiles/base.nix - ../../profiles/installation-device.nix - ./sd-image.nix - ]; - - boot.loader.grub.enable = false; - boot.loader.raspberryPi.enable = true; - boot.loader.raspberryPi.version = 4; + imports = [ ./sd-image-aarch64.nix ]; boot.kernelPackages = pkgs.linuxPackages_rpi4; - - boot.consoleLogLevel = lib.mkDefault 7; - - sdImage = { - firmwareSize = 128; - firmwarePartitionName = "NIXOS_BOOT"; - # This is a hack to avoid replicating config.txt from boot.loader.raspberryPi - populateFirmwareCommands = - "${config.system.build.installBootLoader} ${config.system.build.toplevel} -d ./firmware"; - # As the boot process is done entirely in the firmware partition. - populateRootCommands = ""; - }; - - fileSystems."/boot/firmware" = { - # This effectively "renames" the attrsOf entry set in sd-image.nix - mountPoint = "/boot"; - neededForBoot = true; - }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; } -- cgit 1.4.1 From 4e75a31e98d2219c1deb450fc90ecd98ced83b58 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sun, 13 Sep 2020 23:26:21 -0400 Subject: linux: configure aarch64 contiguous memory allocator via kernel config As per the in-line comment, this is where distros should configure it. Not via kernel command line parameters. As found by looking at the implementation, while exploring the cause of a bug on the Raspberry Pi 4, it was found that `cma=` on the command line parameters will overwrite the values a device tree will have configured for a given platform. With this, the more recent 5.4 vendor kernel boots just fine on the Raspberry Pi 4 using our common configuration. --- nixos/modules/installer/cd-dvd/sd-image-aarch64.nix | 3 +-- pkgs/os-specific/linux/kernel/common-config.nix | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index e73bc5a22e0..e4ec2d6240d 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -17,8 +17,7 @@ # The serial ports listed here are: # - ttyS0: for Tegra (Jetson TX1) # - ttyAMA0: for QEMU's -machine virt - # Also increase the amount of CMA to ensure the virtual console on the RPi3 works. - boot.kernelParams = ["cma=32M" "console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"]; + boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"]; boot.initrd.availableKernelModules = [ # Allows early (earlier) modesetting for the Raspberry Pi diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 47e49dbe01d..2f81444f78f 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -819,6 +819,12 @@ let # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647 CRYPTO_AEGIS128_SIMD = whenAtLeast "5.4" no; + + # Distros should configure the default as a kernel option. + # We previously defined it on the kernel command line as cma= + # The kernel command line will override a platform-specific configuration from its device tree. + # https://github.com/torvalds/linux/blob/856deb866d16e29bd65952e0289066f6078af773/kernel/dma/contiguous.c#L35-L44 + CMA_SIZE_MBYTES = freeform "32"; }; }; in -- cgit 1.4.1 From 6c3d21aff953a2f61086fa9dfd22ccaa919910f0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 5 Jan 2021 08:25:53 +0000 Subject: nixos/getty: rename from services.mingetty It's been 8.5 years since NixOS used mingetty, but the option was never renamed (despite the file definining the module being renamed in 9f5051b76c1 ("Rename mingetty module to agetty")). I've chosen to rename it to services.getty here, rather than services.agetty, because getty is implemantation-neutral and also the name of the unit that is generated. --- .../installer/cd-dvd/system-tarball-fuloong2f.nix | 2 +- .../installer/cd-dvd/system-tarball-sheevaplug.nix | 2 +- nixos/modules/misc/documentation.nix | 2 +- nixos/modules/module-list.nix | 2 +- nixos/modules/profiles/installation-device.nix | 4 +- nixos/modules/services/ttys/agetty.nix | 117 -------------------- nixos/modules/services/ttys/getty.nix | 121 +++++++++++++++++++++ nixos/modules/virtualisation/lxc-container.nix | 2 +- nixos/tests/login.nix | 2 +- 9 files changed, 129 insertions(+), 125 deletions(-) delete mode 100644 nixos/modules/services/ttys/agetty.nix create mode 100644 nixos/modules/services/ttys/getty.nix (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix index 6d4ba96dba0..8159576a62a 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix @@ -104,7 +104,7 @@ in ''; # Some more help text. - services.mingetty.helpLine = + services.getty.helpLine = '' Log in as "root" with an empty password. ${ diff --git a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix index 0e67ae7de69..95579f3ca06 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix @@ -122,7 +122,7 @@ in device = "/dev/something"; }; - services.mingetty = { + services.getty = { # Some more help text. helpLine = '' Log in as "root" with an empty password. ${ diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index fe0263f158f..d81d6c6cb9b 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -261,7 +261,7 @@ in ++ optionals cfg.doc.enable ([ manual.manualHTML nixos-help ] ++ optionals config.services.xserver.enable [ pkgs.nixos-icons ]); - services.mingetty.helpLine = mkIf cfg.doc.enable ( + services.getty.helpLine = mkIf cfg.doc.enable ( "\nRun 'nixos-help' for the NixOS manual." ); }) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5041f2ace22..8fd5d4519fd 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -852,7 +852,7 @@ ./services/torrent/peerflix.nix ./services/torrent/rtorrent.nix ./services/torrent/transmission.nix - ./services/ttys/agetty.nix + ./services/ttys/getty.nix ./services/ttys/gpm.nix ./services/ttys/kmscon.nix ./services/wayland/cage.nix diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index e68ea1b0877..7dc493fb495 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -45,10 +45,10 @@ with lib; }; # Automatically log in at the virtual consoles. - services.mingetty.autologinUser = "nixos"; + services.getty.autologinUser = "nixos"; # Some more help text. - services.mingetty.helpLine = '' + services.getty.helpLine = '' The "nixos" and "root" accounts have empty passwords. An ssh daemon is running. You then must set a password diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix deleted file mode 100644 index d07746be237..00000000000 --- a/nixos/modules/services/ttys/agetty.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - autologinArg = optionalString (config.services.mingetty.autologinUser != null) "--autologin ${config.services.mingetty.autologinUser}"; - gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}"; - -in - -{ - - ###### interface - - options = { - - services.mingetty = { - - autologinUser = mkOption { - type = types.nullOr types.str; - default = null; - description = '' - Username of the account that will be automatically logged in at the console. - If unspecified, a login prompt is shown as usual. - ''; - }; - - greetingLine = mkOption { - type = types.str; - description = '' - Welcome line printed by mingetty. - The default shows current NixOS version label, machine type and tty. - ''; - }; - - helpLine = mkOption { - type = types.lines; - default = ""; - description = '' - Help line printed by mingetty below the welcome line. - Used by the installation CD to give some hints on - how to proceed. - ''; - }; - - serialSpeed = mkOption { - type = types.listOf types.int; - default = [ 115200 57600 38400 9600 ]; - example = [ 38400 9600 ]; - description = '' - Bitrates to allow for agetty's listening on serial ports. Listing more - bitrates gives more interoperability but at the cost of long delays - for getting a sync on the line. - ''; - }; - - }; - - }; - - - ###### implementation - - config = { - # Note: this is set here rather than up there so that changing - # nixos.label would not rebuild manual pages - services.mingetty.greetingLine = mkDefault ''<<< Welcome to NixOS ${config.system.nixos.label} (\m) - \l >>>''; - - systemd.services."getty@" = - { serviceConfig.ExecStart = [ - "" # override upstream default with an empty ExecStart - (gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM") - ]; - restartIfChanged = false; - }; - - systemd.services."serial-getty@" = - let speeds = concatStringsSep "," (map toString config.services.mingetty.serialSpeed); in - { serviceConfig.ExecStart = [ - "" # override upstream default with an empty ExecStart - (gettyCmd "%I ${speeds} $TERM") - ]; - restartIfChanged = false; - }; - - systemd.services."container-getty@" = - { serviceConfig.ExecStart = [ - "" # override upstream default with an empty ExecStart - (gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM") - ]; - restartIfChanged = false; - }; - - systemd.services.console-getty = - { serviceConfig.ExecStart = [ - "" # override upstream default with an empty ExecStart - (gettyCmd "--noclear --keep-baud console 115200,38400,9600 $TERM") - ]; - serviceConfig.Restart = "always"; - restartIfChanged = false; - enable = mkDefault config.boot.isContainer; - }; - - environment.etc.issue = - { # Friendly greeting on the virtual consoles. - source = pkgs.writeText "issue" '' - - ${config.services.mingetty.greetingLine} - ${config.services.mingetty.helpLine} - - ''; - }; - - }; - -} diff --git a/nixos/modules/services/ttys/getty.nix b/nixos/modules/services/ttys/getty.nix new file mode 100644 index 00000000000..68ab8183777 --- /dev/null +++ b/nixos/modules/services/ttys/getty.nix @@ -0,0 +1,121 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + autologinArg = optionalString (config.services.getty.autologinUser != null) "--autologin ${config.services.getty.autologinUser}"; + gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}"; + +in + +{ + + ###### interface + + imports = [ + (mkRenamedOptionModule [ "services" "mingetty" ] [ "services" "getty" ]) + ]; + + options = { + + services.getty = { + + autologinUser = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Username of the account that will be automatically logged in at the console. + If unspecified, a login prompt is shown as usual. + ''; + }; + + greetingLine = mkOption { + type = types.str; + description = '' + Welcome line printed by agetty. + The default shows current NixOS version label, machine type and tty. + ''; + }; + + helpLine = mkOption { + type = types.lines; + default = ""; + description = '' + Help line printed by agetty below the welcome line. + Used by the installation CD to give some hints on + how to proceed. + ''; + }; + + serialSpeed = mkOption { + type = types.listOf types.int; + default = [ 115200 57600 38400 9600 ]; + example = [ 38400 9600 ]; + description = '' + Bitrates to allow for agetty's listening on serial ports. Listing more + bitrates gives more interoperability but at the cost of long delays + for getting a sync on the line. + ''; + }; + + }; + + }; + + + ###### implementation + + config = { + # Note: this is set here rather than up there so that changing + # nixos.label would not rebuild manual pages + services.getty.greetingLine = mkDefault ''<<< Welcome to NixOS ${config.system.nixos.label} (\m) - \l >>>''; + + systemd.services."getty@" = + { serviceConfig.ExecStart = [ + "" # override upstream default with an empty ExecStart + (gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM") + ]; + restartIfChanged = false; + }; + + systemd.services."serial-getty@" = + let speeds = concatStringsSep "," (map toString config.services.getty.serialSpeed); in + { serviceConfig.ExecStart = [ + "" # override upstream default with an empty ExecStart + (gettyCmd "%I ${speeds} $TERM") + ]; + restartIfChanged = false; + }; + + systemd.services."container-getty@" = + { serviceConfig.ExecStart = [ + "" # override upstream default with an empty ExecStart + (gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM") + ]; + restartIfChanged = false; + }; + + systemd.services.console-getty = + { serviceConfig.ExecStart = [ + "" # override upstream default with an empty ExecStart + (gettyCmd "--noclear --keep-baud console 115200,38400,9600 $TERM") + ]; + serviceConfig.Restart = "always"; + restartIfChanged = false; + enable = mkDefault config.boot.isContainer; + }; + + environment.etc.issue = + { # Friendly greeting on the virtual consoles. + source = pkgs.writeText "issue" '' + + ${config.services.getty.greetingLine} + ${config.services.getty.helpLine} + + ''; + }; + + }; + +} diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix index d4936484018..e47bd59dc01 100644 --- a/nixos/modules/virtualisation/lxc-container.nix +++ b/nixos/modules/virtualisation/lxc-container.nix @@ -11,7 +11,7 @@ with lib; users.users.root.initialHashedPassword = mkOverride 150 ""; # Some more help text. - services.mingetty.helpLine = + services.getty.helpLine = '' Log in as "root" with an empty password. diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix index d36c1a91be4..ce11e1f942a 100644 --- a/nixos/tests/login.nix +++ b/nixos/tests/login.nix @@ -50,7 +50,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }: with subtest("Virtual console logout"): machine.send_chars("exit\n") machine.wait_until_fails("pgrep -u alice bash") - machine.screenshot("mingetty") + machine.screenshot("getty") with subtest("Check whether ctrl-alt-delete works"): machine.send_key("ctrl-alt-delete") -- cgit 1.4.1 From 2fcab516c4cae0bc50455abd356f60e576fec5d9 Mon Sep 17 00:00:00 2001 From: Atemu Date: Sun, 10 Jan 2021 10:03:50 +0100 Subject: iso-image: enable XZ compress filter Minimal ISO: 1m21 -> 2m25 625M -> 617M Plasma5 ISO: 2m45 -> 5m18 1.4G -> 1.3G Decompression speed stays about the same. It's just a few seconds for the whole image anyways and, with that kind of speed, you're going to be bottlenecked by IO long before the CPU. --- nixos/modules/installer/cd-dvd/iso-image.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 43d20a556f8..1418420afcd 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -425,7 +425,12 @@ in }; isoImage.squashfsCompression = mkOption { - default = "xz -Xdict-size 100%"; + default = with pkgs.stdenv.targetPlatform; "xz -Xdict-size 100% " + + lib.optionalString (isx86_32 || isx86_64) "-Xbcj x86" + # Untested but should also reduce size for these platforms + + lib.optionalString (isAarch32 || isAarch64) "-Xbcj arm" + + lib.optionalString (isPowerPC) "-Xbcj powerpc" + + lib.optionalString (isSparc) "-Xbcj sparc"; description = '' Compression settings to use for the squashfs nix store. ''; -- cgit 1.4.1 From c32f5b22f1c680a65f3ae63cf14dfed6b967e675 Mon Sep 17 00:00:00 2001 From: Domen Kožar Date: Fri, 15 Jan 2021 20:03:07 +0100 Subject: move nixos-rebuild into pkgs --- nixos/modules/installer/tools/nixos-rebuild.sh | 506 --------------------- nixos/modules/installer/tools/tools.nix | 12 +- pkgs/os-specific/linux/nixos-rebuild/default.nix | 14 + .../linux/nixos-rebuild/nixos-rebuild.sh | 506 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 5 files changed, 523 insertions(+), 517 deletions(-) delete mode 100644 nixos/modules/installer/tools/nixos-rebuild.sh create mode 100644 pkgs/os-specific/linux/nixos-rebuild/default.nix create mode 100644 pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh deleted file mode 100644 index e452e24d263..00000000000 --- a/nixos/modules/installer/tools/nixos-rebuild.sh +++ /dev/null @@ -1,506 +0,0 @@ -#! @runtimeShell@ - -if [ -x "@runtimeShell@" ]; then export SHELL="@runtimeShell@"; fi; - -set -e -set -o pipefail - -export PATH=@path@:$PATH - -showSyntax() { - exec man nixos-rebuild - exit 1 -} - - -# Parse the command line. -origArgs=("$@") -extraBuildFlags=() -lockFlags=() -flakeFlags=() -action= -buildNix=1 -fast= -rollback= -upgrade= -upgrade_all= -repair= -profile=/nix/var/nix/profiles/system -buildHost= -targetHost= -maybeSudo=() - -while [ "$#" -gt 0 ]; do - i="$1"; shift 1 - case "$i" in - --help) - showSyntax - ;; - switch|boot|test|build|edit|dry-build|dry-run|dry-activate|build-vm|build-vm-with-bootloader) - if [ "$i" = dry-run ]; then i=dry-build; fi - action="$i" - ;; - --install-grub) - echo "$0: --install-grub deprecated, use --install-bootloader instead" >&2 - export NIXOS_INSTALL_BOOTLOADER=1 - ;; - --install-bootloader) - export NIXOS_INSTALL_BOOTLOADER=1 - ;; - --no-build-nix) - buildNix= - ;; - --rollback) - rollback=1 - ;; - --upgrade) - upgrade=1 - ;; - --upgrade-all) - upgrade=1 - upgrade_all=1 - ;; - --repair) - repair=1 - extraBuildFlags+=("$i") - ;; - --max-jobs|-j|--cores|-I|--builders) - j="$1"; shift 1 - extraBuildFlags+=("$i" "$j") - ;; - --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--impure) - extraBuildFlags+=("$i") - ;; - --option) - j="$1"; shift 1 - k="$1"; shift 1 - extraBuildFlags+=("$i" "$j" "$k") - ;; - --fast) - buildNix= - fast=1 - extraBuildFlags+=(--show-trace) - ;; - --profile-name|-p) - if [ -z "$1" ]; then - echo "$0: ‘--profile-name’ requires an argument" - exit 1 - fi - if [ "$1" != system ]; then - profile="/nix/var/nix/profiles/system-profiles/$1" - mkdir -p -m 0755 "$(dirname "$profile")" - fi - shift 1 - ;; - --build-host|h) - buildHost="$1" - shift 1 - ;; - --target-host|t) - targetHost="$1" - shift 1 - ;; - --use-remote-sudo) - maybeSudo=(sudo --) - ;; - --flake) - flake="$1" - flakeFlags=(--experimental-features 'nix-command flakes') - shift 1 - ;; - --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) - lockFlags+=("$i") - ;; - --update-input) - j="$1"; shift 1 - lockFlags+=("$i" "$j") - ;; - --override-input) - j="$1"; shift 1 - k="$1"; shift 1 - lockFlags+=("$i" "$j" "$k") - ;; - *) - echo "$0: unknown option \`$i'" - exit 1 - ;; - esac -done - -if [ -n "$SUDO_USER" ]; then - maybeSudo=(sudo --) -fi - -if [ -z "$buildHost" -a -n "$targetHost" ]; then - buildHost="$targetHost" -fi -if [ "$targetHost" = localhost ]; then - targetHost= -fi -if [ "$buildHost" = localhost ]; then - buildHost= -fi - -buildHostCmd() { - if [ -z "$buildHost" ]; then - "$@" - elif [ -n "$remoteNix" ]; then - ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "${maybeSudo[@]}" "$@" - else - ssh $SSHOPTS "$buildHost" "${maybeSudo[@]}" "$@" - fi -} - -targetHostCmd() { - if [ -z "$targetHost" ]; then - "${maybeSudo[@]}" "$@" - else - ssh $SSHOPTS "$targetHost" "${maybeSudo[@]}" "$@" - fi -} - -copyToTarget() { - if ! [ "$targetHost" = "$buildHost" ]; then - if [ -z "$targetHost" ]; then - NIX_SSHOPTS=$SSHOPTS nix-copy-closure --from "$buildHost" "$1" - elif [ -z "$buildHost" ]; then - NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$targetHost" "$1" - else - buildHostCmd nix-copy-closure --to "$targetHost" "$1" - fi - fi -} - -nixBuild() { - if [ -z "$buildHost" ]; then - nix-build "$@" - else - local instArgs=() - local buildArgs=() - - while [ "$#" -gt 0 ]; do - local i="$1"; shift 1 - case "$i" in - -o) - local out="$1"; shift 1 - buildArgs+=("--add-root" "$out" "--indirect") - ;; - -A) - local j="$1"; shift 1 - instArgs+=("$i" "$j") - ;; - -I) # We don't want this in buildArgs - shift 1 - ;; - --no-out-link) # We don't want this in buildArgs - ;; - "<"*) # nix paths - instArgs+=("$i") - ;; - *) - buildArgs+=("$i") - ;; - esac - done - - local drv="$(nix-instantiate "${instArgs[@]}" "${extraBuildFlags[@]}")" - if [ -a "$drv" ]; then - NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$buildHost" "$drv" - buildHostCmd nix-store -r "$drv" "${buildArgs[@]}" - else - echo "nix-instantiate failed" - exit 1 - fi - fi -} - - -if [ -z "$action" ]; then showSyntax; fi - -# Only run shell scripts from the Nixpkgs tree if the action is -# "switch", "boot", or "test". With other actions (such as "build"), -# the user may reasonably expect that no code from the Nixpkgs tree is -# executed, so it's safe to run nixos-rebuild against a potentially -# untrusted tree. -canRun= -if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then - canRun=1 -fi - - -# If ‘--upgrade’ or `--upgrade-all` is given, -# run ‘nix-channel --update nixos’. -if [[ -n $upgrade && -z $_NIXOS_REBUILD_REEXEC && -z $flake ]]; then - # If --upgrade-all is passed, or there are other channels that - # contain a file called ".update-on-nixos-rebuild", update them as - # well. Also upgrade the nixos channel. - - for channelpath in /nix/var/nix/profiles/per-user/root/channels/*; do - channel_name=$(basename "$channelpath") - - if [[ "$channel_name" == "nixos" ]]; then - nix-channel --update "$channel_name" - elif [ -e "$channelpath/.update-on-nixos-rebuild" ]; then - nix-channel --update "$channel_name" - elif [[ -n $upgrade_all ]] ; then - nix-channel --update "$channel_name" - fi - done -fi - -# Make sure that we use the Nix package we depend on, not something -# else from the PATH for nix-{env,instantiate,build}. This is -# important, because NixOS defaults the architecture of the rebuilt -# system to the architecture of the nix-* binaries used. So if on an -# amd64 system the user has an i686 Nix package in her PATH, then we -# would silently downgrade the whole system to be i686 NixOS on the -# next reboot. -if [ -z "$_NIXOS_REBUILD_REEXEC" ]; then - export PATH=@nix@/bin:$PATH -fi - -# Use /etc/nixos/flake.nix if it exists. It can be a symlink to the -# actual flake. -if [[ -z $flake && -e /etc/nixos/flake.nix ]]; then - flake="$(dirname "$(readlink -f /etc/nixos/flake.nix)")" -fi - -# Re-execute nixos-rebuild from the Nixpkgs tree. -# FIXME: get nixos-rebuild from $flake. -if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast && -z $flake ]]; then - if p=$(nix-build --no-out-link --expr 'with import {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then - export _NIXOS_REBUILD_REEXEC=1 - exec $p/bin/nixos-rebuild "${origArgs[@]}" - exit 1 - fi -fi - -# For convenience, use the hostname as the default configuration to -# build from the flake. -if [[ -n $flake ]]; then - if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then - flake="${BASH_REMATCH[1]}" - flakeAttr="${BASH_REMATCH[2]}" - fi - if [[ -z $flakeAttr ]]; then - read -r hostname < /proc/sys/kernel/hostname - if [[ -z $hostname ]]; then - hostname=default - fi - flakeAttr="nixosConfigurations.\"$hostname\"" - else - flakeAttr="nixosConfigurations.\"$flakeAttr\"" - fi -fi - -# Resolve the flake. -if [[ -n $flake ]]; then - flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) -fi - -# Find configuration.nix and open editor instead of building. -if [ "$action" = edit ]; then - if [[ -z $flake ]]; then - NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)} - if [[ -d $NIXOS_CONFIG ]]; then - NIXOS_CONFIG=$NIXOS_CONFIG/default.nix - fi - exec ${EDITOR:-nano} "$NIXOS_CONFIG" - else - exec nix "${flakeFlags[@]}" edit "${lockFlags[@]}" -- "$flake#$flakeAttr" - fi - exit 1 -fi - - -tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX) -SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" - -cleanup() { - for ctrl in "$tmpDir"/ssh-*; do - ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true - done - rm -rf "$tmpDir" -} -trap cleanup EXIT - - - -# If the Nix daemon is running, then use it. This allows us to use -# the latest Nix from Nixpkgs (below) for expression evaluation, while -# still using the old Nix (via the daemon) for actual store access. -# This matters if the new Nix in Nixpkgs has a schema change. It -# would upgrade the schema, which should only happen once we actually -# switch to the new configuration. -# If --repair is given, don't try to use the Nix daemon, because the -# flag can only be used directly. -if [ -z "$repair" ] && systemctl show nix-daemon.socket nix-daemon.service | grep -q ActiveState=active; then - export NIX_REMOTE=${NIX_REMOTE-daemon} -fi - - -# First build Nix, since NixOS may require a newer version than the -# current one. -if [ -n "$rollback" -o "$action" = dry-build ]; then - buildNix= -fi - -nixSystem() { - machine="$(uname -m)" - if [[ "$machine" =~ i.86 ]]; then - machine=i686 - fi - echo $machine-linux -} - -prebuiltNix() { - machine="$1" - if [ "$machine" = x86_64 ]; then - echo @nix_x86_64_linux@ - elif [[ "$machine" =~ i.86 ]]; then - echo @nix_i686_linux@ - else - echo "$0: unsupported platform" - exit 1 - fi -} - -remotePATH= - -if [[ -n $buildNix && -z $flake ]]; then - echo "building Nix..." >&2 - nixDrv= - if ! nixDrv="$(nix-instantiate '' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then - if ! nixDrv="$(nix-instantiate '' --add-root $tmpDir/nix.drv --indirect -A nix "${extraBuildFlags[@]}")"; then - if ! nixStorePath="$(nix-instantiate --eval '' -A $(nixSystem) | sed -e 's/^"//' -e 's/"$//')"; then - nixStorePath="$(prebuiltNix "$(uname -m)")" - fi - if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \ - --option extra-binary-caches https://cache.nixos.org/; then - echo "warning: don't know how to get latest Nix" >&2 - fi - # Older version of nix-store -r don't support --add-root. - [ -e $tmpDir/nix ] || ln -sf $nixStorePath $tmpDir/nix - if [ -n "$buildHost" ]; then - remoteNixStorePath="$(prebuiltNix "$(buildHostCmd uname -m)")" - remoteNix="$remoteNixStorePath/bin" - if ! buildHostCmd nix-store -r $remoteNixStorePath \ - --option extra-binary-caches https://cache.nixos.org/ >/dev/null; then - remoteNix= - echo "warning: don't know how to get latest Nix" >&2 - fi - fi - fi - fi - if [ -a "$nixDrv" ]; then - nix-store -r "$nixDrv"'!'"out" --add-root $tmpDir/nix --indirect >/dev/null - if [ -n "$buildHost" ]; then - nix-copy-closure --to "$buildHost" "$nixDrv" - # The nix build produces multiple outputs, we add them all to the remote path - for p in $(buildHostCmd nix-store -r "$(readlink "$nixDrv")" "${buildArgs[@]}"); do - remoteNix="$remoteNix${remoteNix:+:}$p/bin" - done - fi - fi - PATH="$tmpDir/nix/bin:$PATH" -fi - - -# Update the version suffix if we're building from Git (so that -# nixos-version shows something useful). -if [[ -n $canRun && -z $flake ]]; then - if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then - suffix=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true) - if [ -n "$suffix" ]; then - echo -n "$suffix" > "$nixpkgs/.version-suffix" || true - fi - fi -fi - - -if [ "$action" = dry-build ]; then - extraBuildFlags+=(--dry-run) -fi - - -# Either upgrade the configuration in the system profile (for "switch" -# or "boot"), or just build it and create a symlink "result" in the -# current directory (for "build" and "test"). -if [ -z "$rollback" ]; then - echo "building the system configuration..." >&2 - if [ "$action" = switch -o "$action" = boot ]; then - if [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' --no-out-link -A system "${extraBuildFlags[@]}")" - else - outLink=$tmpDir/result - nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \ - "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink - pathToConfig="$(readlink -f $outLink)" - fi - copyToTarget "$pathToConfig" - targetHostCmd nix-env -p "$profile" --set "$pathToConfig" - elif [ "$action" = test -o "$action" = build -o "$action" = dry-build -o "$action" = dry-activate ]; then - if [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A system -k "${extraBuildFlags[@]}")" - else - nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}" - pathToConfig="$(readlink -f ./result)" - fi - elif [ "$action" = build-vm ]; then - if [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A vm -k "${extraBuildFlags[@]}")" - else - nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vm" \ - "${extraBuildFlags[@]}" "${lockFlags[@]}" - pathToConfig="$(readlink -f ./result)" - fi - elif [ "$action" = build-vm-with-bootloader ]; then - if [[ -z $flake ]]; then - pathToConfig="$(nixBuild '' -A vmWithBootLoader -k "${extraBuildFlags[@]}")" - else - nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vmWithBootLoader" \ - "${extraBuildFlags[@]}" "${lockFlags[@]}" - pathToConfig="$(readlink -f ./result)" - fi - else - showSyntax - fi - # Copy build to target host if we haven't already done it - if ! [ "$action" = switch -o "$action" = boot ]; then - copyToTarget "$pathToConfig" - fi -else # [ -n "$rollback" ] - if [ "$action" = switch -o "$action" = boot ]; then - targetHostCmd nix-env --rollback -p "$profile" - pathToConfig="$profile" - elif [ "$action" = test -o "$action" = build ]; then - systemNumber=$( - targetHostCmd nix-env -p "$profile" --list-generations | - sed -n '/current/ {g; p;}; s/ *\([0-9]*\).*/\1/; h' - ) - pathToConfig="$profile"-${systemNumber}-link - if [ -z "$targetHost" ]; then - ln -sT "$pathToConfig" ./result - fi - else - showSyntax - fi -fi - - -# If we're not just building, then make the new configuration the boot -# default and/or activate it now. -if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = dry-activate ]; then - if ! targetHostCmd $pathToConfig/bin/switch-to-configuration "$action"; then - echo "warning: error(s) occurred while switching to the new configuration" >&2 - exit 1 - fi -fi - - -if [ "$action" = build-vm ]; then - cat >&2 <&2 + export NIXOS_INSTALL_BOOTLOADER=1 + ;; + --install-bootloader) + export NIXOS_INSTALL_BOOTLOADER=1 + ;; + --no-build-nix) + buildNix= + ;; + --rollback) + rollback=1 + ;; + --upgrade) + upgrade=1 + ;; + --upgrade-all) + upgrade=1 + upgrade_all=1 + ;; + --repair) + repair=1 + extraBuildFlags+=("$i") + ;; + --max-jobs|-j|--cores|-I|--builders) + j="$1"; shift 1 + extraBuildFlags+=("$i" "$j") + ;; + --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--impure) + extraBuildFlags+=("$i") + ;; + --option) + j="$1"; shift 1 + k="$1"; shift 1 + extraBuildFlags+=("$i" "$j" "$k") + ;; + --fast) + buildNix= + fast=1 + extraBuildFlags+=(--show-trace) + ;; + --profile-name|-p) + if [ -z "$1" ]; then + echo "$0: ‘--profile-name’ requires an argument" + exit 1 + fi + if [ "$1" != system ]; then + profile="/nix/var/nix/profiles/system-profiles/$1" + mkdir -p -m 0755 "$(dirname "$profile")" + fi + shift 1 + ;; + --build-host|h) + buildHost="$1" + shift 1 + ;; + --target-host|t) + targetHost="$1" + shift 1 + ;; + --use-remote-sudo) + maybeSudo=(sudo --) + ;; + --flake) + flake="$1" + flakeFlags=(--experimental-features 'nix-command flakes') + shift 1 + ;; + --recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file) + lockFlags+=("$i") + ;; + --update-input) + j="$1"; shift 1 + lockFlags+=("$i" "$j") + ;; + --override-input) + j="$1"; shift 1 + k="$1"; shift 1 + lockFlags+=("$i" "$j" "$k") + ;; + *) + echo "$0: unknown option \`$i'" + exit 1 + ;; + esac +done + +if [ -n "$SUDO_USER" ]; then + maybeSudo=(sudo --) +fi + +if [ -z "$buildHost" -a -n "$targetHost" ]; then + buildHost="$targetHost" +fi +if [ "$targetHost" = localhost ]; then + targetHost= +fi +if [ "$buildHost" = localhost ]; then + buildHost= +fi + +buildHostCmd() { + if [ -z "$buildHost" ]; then + "$@" + elif [ -n "$remoteNix" ]; then + ssh $SSHOPTS "$buildHost" env PATH="$remoteNix:$PATH" "${maybeSudo[@]}" "$@" + else + ssh $SSHOPTS "$buildHost" "${maybeSudo[@]}" "$@" + fi +} + +targetHostCmd() { + if [ -z "$targetHost" ]; then + "${maybeSudo[@]}" "$@" + else + ssh $SSHOPTS "$targetHost" "${maybeSudo[@]}" "$@" + fi +} + +copyToTarget() { + if ! [ "$targetHost" = "$buildHost" ]; then + if [ -z "$targetHost" ]; then + NIX_SSHOPTS=$SSHOPTS nix-copy-closure --from "$buildHost" "$1" + elif [ -z "$buildHost" ]; then + NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$targetHost" "$1" + else + buildHostCmd nix-copy-closure --to "$targetHost" "$1" + fi + fi +} + +nixBuild() { + if [ -z "$buildHost" ]; then + nix-build "$@" + else + local instArgs=() + local buildArgs=() + + while [ "$#" -gt 0 ]; do + local i="$1"; shift 1 + case "$i" in + -o) + local out="$1"; shift 1 + buildArgs+=("--add-root" "$out" "--indirect") + ;; + -A) + local j="$1"; shift 1 + instArgs+=("$i" "$j") + ;; + -I) # We don't want this in buildArgs + shift 1 + ;; + --no-out-link) # We don't want this in buildArgs + ;; + "<"*) # nix paths + instArgs+=("$i") + ;; + *) + buildArgs+=("$i") + ;; + esac + done + + local drv="$(nix-instantiate "${instArgs[@]}" "${extraBuildFlags[@]}")" + if [ -a "$drv" ]; then + NIX_SSHOPTS=$SSHOPTS nix-copy-closure --to "$buildHost" "$drv" + buildHostCmd nix-store -r "$drv" "${buildArgs[@]}" + else + echo "nix-instantiate failed" + exit 1 + fi + fi +} + + +if [ -z "$action" ]; then showSyntax; fi + +# Only run shell scripts from the Nixpkgs tree if the action is +# "switch", "boot", or "test". With other actions (such as "build"), +# the user may reasonably expect that no code from the Nixpkgs tree is +# executed, so it's safe to run nixos-rebuild against a potentially +# untrusted tree. +canRun= +if [ "$action" = switch -o "$action" = boot -o "$action" = test ]; then + canRun=1 +fi + + +# If ‘--upgrade’ or `--upgrade-all` is given, +# run ‘nix-channel --update nixos’. +if [[ -n $upgrade && -z $_NIXOS_REBUILD_REEXEC && -z $flake ]]; then + # If --upgrade-all is passed, or there are other channels that + # contain a file called ".update-on-nixos-rebuild", update them as + # well. Also upgrade the nixos channel. + + for channelpath in /nix/var/nix/profiles/per-user/root/channels/*; do + channel_name=$(basename "$channelpath") + + if [[ "$channel_name" == "nixos" ]]; then + nix-channel --update "$channel_name" + elif [ -e "$channelpath/.update-on-nixos-rebuild" ]; then + nix-channel --update "$channel_name" + elif [[ -n $upgrade_all ]] ; then + nix-channel --update "$channel_name" + fi + done +fi + +# Make sure that we use the Nix package we depend on, not something +# else from the PATH for nix-{env,instantiate,build}. This is +# important, because NixOS defaults the architecture of the rebuilt +# system to the architecture of the nix-* binaries used. So if on an +# amd64 system the user has an i686 Nix package in her PATH, then we +# would silently downgrade the whole system to be i686 NixOS on the +# next reboot. +if [ -z "$_NIXOS_REBUILD_REEXEC" ]; then + export PATH=@nix@/bin:$PATH +fi + +# Use /etc/nixos/flake.nix if it exists. It can be a symlink to the +# actual flake. +if [[ -z $flake && -e /etc/nixos/flake.nix ]]; then + flake="$(dirname "$(readlink -f /etc/nixos/flake.nix)")" +fi + +# Re-execute nixos-rebuild from the Nixpkgs tree. +# FIXME: get nixos-rebuild from $flake. +if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast && -z $flake ]]; then + if p=$(nix-build --no-out-link --expr 'with import {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then + export _NIXOS_REBUILD_REEXEC=1 + exec $p/bin/nixos-rebuild "${origArgs[@]}" + exit 1 + fi +fi + +# For convenience, use the hostname as the default configuration to +# build from the flake. +if [[ -n $flake ]]; then + if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then + flake="${BASH_REMATCH[1]}" + flakeAttr="${BASH_REMATCH[2]}" + fi + if [[ -z $flakeAttr ]]; then + read -r hostname < /proc/sys/kernel/hostname + if [[ -z $hostname ]]; then + hostname=default + fi + flakeAttr="nixosConfigurations.\"$hostname\"" + else + flakeAttr="nixosConfigurations.\"$flakeAttr\"" + fi +fi + +# Resolve the flake. +if [[ -n $flake ]]; then + flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) +fi + +# Find configuration.nix and open editor instead of building. +if [ "$action" = edit ]; then + if [[ -z $flake ]]; then + NIXOS_CONFIG=${NIXOS_CONFIG:-$(nix-instantiate --find-file nixos-config)} + if [[ -d $NIXOS_CONFIG ]]; then + NIXOS_CONFIG=$NIXOS_CONFIG/default.nix + fi + exec ${EDITOR:-nano} "$NIXOS_CONFIG" + else + exec nix "${flakeFlags[@]}" edit "${lockFlags[@]}" -- "$flake#$flakeAttr" + fi + exit 1 +fi + + +tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX) +SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60" + +cleanup() { + for ctrl in "$tmpDir"/ssh-*; do + ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true + done + rm -rf "$tmpDir" +} +trap cleanup EXIT + + + +# If the Nix daemon is running, then use it. This allows us to use +# the latest Nix from Nixpkgs (below) for expression evaluation, while +# still using the old Nix (via the daemon) for actual store access. +# This matters if the new Nix in Nixpkgs has a schema change. It +# would upgrade the schema, which should only happen once we actually +# switch to the new configuration. +# If --repair is given, don't try to use the Nix daemon, because the +# flag can only be used directly. +if [ -z "$repair" ] && systemctl show nix-daemon.socket nix-daemon.service | grep -q ActiveState=active; then + export NIX_REMOTE=${NIX_REMOTE-daemon} +fi + + +# First build Nix, since NixOS may require a newer version than the +# current one. +if [ -n "$rollback" -o "$action" = dry-build ]; then + buildNix= +fi + +nixSystem() { + machine="$(uname -m)" + if [[ "$machine" =~ i.86 ]]; then + machine=i686 + fi + echo $machine-linux +} + +prebuiltNix() { + machine="$1" + if [ "$machine" = x86_64 ]; then + echo @nix_x86_64_linux@ + elif [[ "$machine" =~ i.86 ]]; then + echo @nix_i686_linux@ + else + echo "$0: unsupported platform" + exit 1 + fi +} + +remotePATH= + +if [[ -n $buildNix && -z $flake ]]; then + echo "building Nix..." >&2 + nixDrv= + if ! nixDrv="$(nix-instantiate '' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then + if ! nixDrv="$(nix-instantiate '' --add-root $tmpDir/nix.drv --indirect -A nix "${extraBuildFlags[@]}")"; then + if ! nixStorePath="$(nix-instantiate --eval '' -A $(nixSystem) | sed -e 's/^"//' -e 's/"$//')"; then + nixStorePath="$(prebuiltNix "$(uname -m)")" + fi + if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \ + --option extra-binary-caches https://cache.nixos.org/; then + echo "warning: don't know how to get latest Nix" >&2 + fi + # Older version of nix-store -r don't support --add-root. + [ -e $tmpDir/nix ] || ln -sf $nixStorePath $tmpDir/nix + if [ -n "$buildHost" ]; then + remoteNixStorePath="$(prebuiltNix "$(buildHostCmd uname -m)")" + remoteNix="$remoteNixStorePath/bin" + if ! buildHostCmd nix-store -r $remoteNixStorePath \ + --option extra-binary-caches https://cache.nixos.org/ >/dev/null; then + remoteNix= + echo "warning: don't know how to get latest Nix" >&2 + fi + fi + fi + fi + if [ -a "$nixDrv" ]; then + nix-store -r "$nixDrv"'!'"out" --add-root $tmpDir/nix --indirect >/dev/null + if [ -n "$buildHost" ]; then + nix-copy-closure --to "$buildHost" "$nixDrv" + # The nix build produces multiple outputs, we add them all to the remote path + for p in $(buildHostCmd nix-store -r "$(readlink "$nixDrv")" "${buildArgs[@]}"); do + remoteNix="$remoteNix${remoteNix:+:}$p/bin" + done + fi + fi + PATH="$tmpDir/nix/bin:$PATH" +fi + + +# Update the version suffix if we're building from Git (so that +# nixos-version shows something useful). +if [[ -n $canRun && -z $flake ]]; then + if nixpkgs=$(nix-instantiate --find-file nixpkgs "${extraBuildFlags[@]}"); then + suffix=$($SHELL $nixpkgs/nixos/modules/installer/tools/get-version-suffix "${extraBuildFlags[@]}" || true) + if [ -n "$suffix" ]; then + echo -n "$suffix" > "$nixpkgs/.version-suffix" || true + fi + fi +fi + + +if [ "$action" = dry-build ]; then + extraBuildFlags+=(--dry-run) +fi + + +# Either upgrade the configuration in the system profile (for "switch" +# or "boot"), or just build it and create a symlink "result" in the +# current directory (for "build" and "test"). +if [ -z "$rollback" ]; then + echo "building the system configuration..." >&2 + if [ "$action" = switch -o "$action" = boot ]; then + if [[ -z $flake ]]; then + pathToConfig="$(nixBuild '' --no-out-link -A system "${extraBuildFlags[@]}")" + else + outLink=$tmpDir/result + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \ + "${extraBuildFlags[@]}" "${lockFlags[@]}" --out-link $outLink + pathToConfig="$(readlink -f $outLink)" + fi + copyToTarget "$pathToConfig" + targetHostCmd nix-env -p "$profile" --set "$pathToConfig" + elif [ "$action" = test -o "$action" = build -o "$action" = dry-build -o "$action" = dry-activate ]; then + if [[ -z $flake ]]; then + pathToConfig="$(nixBuild '' -A system -k "${extraBuildFlags[@]}")" + else + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" "${extraBuildFlags[@]}" "${lockFlags[@]}" + pathToConfig="$(readlink -f ./result)" + fi + elif [ "$action" = build-vm ]; then + if [[ -z $flake ]]; then + pathToConfig="$(nixBuild '' -A vm -k "${extraBuildFlags[@]}")" + else + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vm" \ + "${extraBuildFlags[@]}" "${lockFlags[@]}" + pathToConfig="$(readlink -f ./result)" + fi + elif [ "$action" = build-vm-with-bootloader ]; then + if [[ -z $flake ]]; then + pathToConfig="$(nixBuild '' -A vmWithBootLoader -k "${extraBuildFlags[@]}")" + else + nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.vmWithBootLoader" \ + "${extraBuildFlags[@]}" "${lockFlags[@]}" + pathToConfig="$(readlink -f ./result)" + fi + else + showSyntax + fi + # Copy build to target host if we haven't already done it + if ! [ "$action" = switch -o "$action" = boot ]; then + copyToTarget "$pathToConfig" + fi +else # [ -n "$rollback" ] + if [ "$action" = switch -o "$action" = boot ]; then + targetHostCmd nix-env --rollback -p "$profile" + pathToConfig="$profile" + elif [ "$action" = test -o "$action" = build ]; then + systemNumber=$( + targetHostCmd nix-env -p "$profile" --list-generations | + sed -n '/current/ {g; p;}; s/ *\([0-9]*\).*/\1/; h' + ) + pathToConfig="$profile"-${systemNumber}-link + if [ -z "$targetHost" ]; then + ln -sT "$pathToConfig" ./result + fi + else + showSyntax + fi +fi + + +# If we're not just building, then make the new configuration the boot +# default and/or activate it now. +if [ "$action" = switch -o "$action" = boot -o "$action" = test -o "$action" = dry-activate ]; then + if ! targetHostCmd $pathToConfig/bin/switch-to-configuration "$action"; then + echo "warning: error(s) occurred while switching to the new configuration" >&2 + exit 1 + fi +fi + + +if [ "$action" = build-vm ]; then + cat >&2 < Date: Sun, 17 Jan 2021 21:14:59 +0100 Subject: nixos/modules: stdenv.lib -> lib --- maintainers/scripts/nixpkgs-lint.nix | 8 ++++---- nixos/modules/config/gnu.nix | 10 ++++------ nixos/modules/installer/tools/nixos-option/default.nix | 6 +++--- .../hardware/sane_extra_backends/brscan4_etc_files.nix | 14 ++++++-------- nixos/modules/virtualisation/google-compute-image.nix | 2 +- nixos/tests/searx.nix | 2 +- 6 files changed, 19 insertions(+), 23 deletions(-) (limited to 'nixos/modules/installer') diff --git a/maintainers/scripts/nixpkgs-lint.nix b/maintainers/scripts/nixpkgs-lint.nix index 6d99c94bf33..b0267281b38 100644 --- a/maintainers/scripts/nixpkgs-lint.nix +++ b/maintainers/scripts/nixpkgs-lint.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, perl, perlPackages }: +{ stdenv, lib, makeWrapper, perl, perlPackages }: stdenv.mkDerivation { name = "nixpkgs-lint-1"; @@ -15,9 +15,9 @@ stdenv.mkDerivation { wrapProgram $out/bin/nixpkgs-lint --set PERL5LIB $PERL5LIB ''; - meta = { - maintainers = [ stdenv.lib.maintainers.eelco ]; + meta = with lib; { + maintainers = [ maintainers.eelco ]; description = "A utility for Nixpkgs contributors to check Nixpkgs for common errors"; - platforms = stdenv.lib.platforms.unix; + platforms = platforms.unix; }; } diff --git a/nixos/modules/config/gnu.nix b/nixos/modules/config/gnu.nix index 93d13097019..255d9741ba7 100644 --- a/nixos/modules/config/gnu.nix +++ b/nixos/modules/config/gnu.nix @@ -1,11 +1,9 @@ { config, lib, pkgs, ... }: -with lib; - { options = { - gnu = mkOption { - type = types.bool; + gnu = lib.mkOption { + type = lib.types.bool; default = false; description = '' When enabled, GNU software is chosen by default whenever a there is @@ -15,7 +13,7 @@ with lib; }; }; - config = mkIf config.gnu { + config = lib.mkIf config.gnu { environment.systemPackages = with pkgs; # TODO: Adjust `requiredPackages' from `system-path.nix'. @@ -26,7 +24,7 @@ with lib; nano zile texinfo # for the stand-alone Info reader ] - ++ stdenv.lib.optional (!stdenv.isAarch32) grub2; + ++ lib.optional (!stdenv.isAarch32) grub2; # GNU GRUB, where available. diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix index 753fd92c7bb..f18f6911c97 100644 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -4,8 +4,8 @@ stdenv.mkDerivation rec { src = ./.; nativeBuildInputs = [ cmake pkgconfig ]; buildInputs = [ boost nix ]; - meta = { - license = stdenv.lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ chkno ]; + meta = with lib; { + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ chkno ]; }; } diff --git a/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix b/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix index ec0457bbd58..556f6bbb419 100644 --- a/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix +++ b/nixos/modules/services/hardware/sane_extra_backends/brscan4_etc_files.nix @@ -19,18 +19,16 @@ nix-shell -E 'with import { }; brscan4-etc-files.override{netDevices=[ */ -with lib; - let addNetDev = nd: '' brsaneconfig4 -a \ name="${nd.name}" \ model="${nd.model}" \ - ${if (hasAttr "nodename" nd && nd.nodename != null) then + ${if (lib.hasAttr "nodename" nd && nd.nodename != null) then ''nodename="${nd.nodename}"'' else ''ip="${nd.ip}"''}''; - addAllNetDev = xs: concatStringsSep "\n" (map addNetDev xs); + addAllNetDev = xs: lib.concatStringsSep "\n" (map addNetDev xs); in stdenv.mkDerivation { @@ -61,11 +59,11 @@ stdenv.mkDerivation { dontStrip = true; dontPatchELF = true; - meta = { + meta = with lib; { description = "Brother brscan4 sane backend driver etc files"; homepage = "http://www.brother.com"; - platforms = stdenv.lib.platforms.linux; - license = stdenv.lib.licenses.unfree; - maintainers = with stdenv.lib.maintainers; [ jraygauthier ]; + platforms = platforms.linux; + license = licenses.unfree; + maintainers = with maintainers; [ jraygauthier ]; }; } diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index d172ae38fdc..e2332df611a 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -43,7 +43,7 @@ in system.build.googleComputeImage = import ../../lib/make-disk-image.nix { name = "google-compute-image"; postVM = '' - PATH=$PATH:${with pkgs; stdenv.lib.makeBinPath [ gnutar gzip ]} + PATH=$PATH:${with pkgs; lib.makeBinPath [ gnutar gzip ]} pushd $out mv $diskImage disk.raw tar -Szcf nixos-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.raw.tar.gz disk.raw diff --git a/nixos/tests/searx.nix b/nixos/tests/searx.nix index 357ade10535..22c1967b816 100644 --- a/nixos/tests/searx.nix +++ b/nixos/tests/searx.nix @@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { name = "searx"; - meta = with pkgs.stdenv.lib.maintainers; { + meta = with pkgs.lib.maintainers; { maintainers = [ rnhmjoj ]; }; -- cgit 1.4.1 From e2fcf81d2a312f0bf83a7939988db2e63f79cf9f Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Tue, 19 Jan 2021 00:59:07 -0800 Subject: nixos/modules: pkgconfig -> pkg-config --- nixos/modules/installer/tools/nixos-option/default.nix | 4 ++-- nixos/modules/services/networking/dnscrypt-wrapper.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix index 753fd92c7bb..be521651cbe 100644 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -1,8 +1,8 @@ -{lib, stdenv, boost, cmake, pkgconfig, nix, ... }: +{lib, stdenv, boost, cmake, pkg-config, nix, ... }: stdenv.mkDerivation rec { name = "nixos-option"; src = ./.; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ boost nix ]; meta = { license = stdenv.lib.licenses.lgpl2Plus; diff --git a/nixos/modules/services/networking/dnscrypt-wrapper.nix b/nixos/modules/services/networking/dnscrypt-wrapper.nix index ee7e9b0454d..89360f4bf37 100644 --- a/nixos/modules/services/networking/dnscrypt-wrapper.nix +++ b/nixos/modules/services/networking/dnscrypt-wrapper.nix @@ -83,7 +83,7 @@ let # correctly implement key rotation of dnscrypt-wrapper ephemeral keys. dnscrypt-proxy1 = pkgs.callPackage ({ stdenv, fetchFromGitHub, autoreconfHook - , pkgconfig, libsodium, ldns, openssl, systemd }: + , pkg-config, libsodium, ldns, openssl, systemd }: stdenv.mkDerivation rec { pname = "dnscrypt-proxy"; @@ -98,7 +98,7 @@ let configureFlags = optional stdenv.isLinux "--with-systemd"; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; # depends on buildInputs = [ libsodium openssl.dev ldns ] ++ optional stdenv.isLinux systemd; -- cgit 1.4.1 From 8929989614589ee3acd070a6409b2b9700c92d65 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sun, 29 Nov 2020 00:01:14 +0000 Subject: lib: Clean up how linux and gcc config is specified The `platform` field is pointless nesting: it's just stuff that happens to be defined together, and that should be an implementation detail. This instead makes `linux-kernel` and `gcc` top level fields in platform configs. They join `rustc` there [all are optional], which was put there and not in `platform` in anticipation of a change like this. `linux-kernel.arch` in particular also becomes `linuxArch`, to match the other `*Arch`es. The next step after is this to combine the *specific* machines from `lib.systems.platforms` with `lib.systems.examples`, keeping just the "multiplatform" ones for defaulting. --- lib/systems/default.nix | 13 +- lib/systems/examples.nix | 48 +- lib/systems/platforms.nix | 670 +++++++++++---------- nixos/doc/manual/release-notes/rl-2103.xml | 16 + nixos/modules/hardware/device-tree.nix | 8 +- nixos/modules/installer/netboot/netboot.nix | 2 +- nixos/modules/services/misc/nix-daemon.nix | 8 +- nixos/modules/system/activation/top-level.nix | 2 +- .../loader/generations-dir/generations-dir.nix | 2 +- .../system/boot/loader/raspberrypi/raspberrypi.nix | 2 +- nixos/release.nix | 4 +- pkgs/applications/audio/virtual-ans/default.nix | 2 +- .../applications/virtualization/crosvm/default.nix | 2 +- pkgs/applications/virtualization/vpcs/default.nix | 2 +- pkgs/build-support/bintools-wrapper/default.nix | 2 +- pkgs/build-support/cc-wrapper/default.nix | 16 +- pkgs/build-support/kernel/make-initrd.nix | 4 +- pkgs/build-support/vm/default.nix | 2 +- .../compilers/gcc/common/platform-flags.nix | 2 +- pkgs/development/compilers/julia/1.0.nix | 2 +- pkgs/development/compilers/julia/1.3.nix | 2 +- pkgs/development/compilers/julia/1.5.nix | 2 +- pkgs/development/libraries/glibc/common.nix | 2 +- .../libraries/qt-5/modules/qtwebengine.nix | 2 +- .../tools/poetry2nix/poetry2nix/pep425.nix | 6 +- .../tools/poetry2nix/poetry2nix/pep508.nix | 2 +- pkgs/development/web/nodejs/nodejs.nix | 11 +- pkgs/os-specific/linux/exfat/default.nix | 2 +- pkgs/os-specific/linux/kernel-headers/default.nix | 2 +- pkgs/os-specific/linux/kernel/generic.nix | 18 +- pkgs/os-specific/linux/kernel/manual-config.nix | 30 +- pkgs/os-specific/linux/klibc/default.nix | 4 +- pkgs/os-specific/linux/rtl8723bs/default.nix | 2 +- pkgs/os-specific/linux/rtl8812au/default.nix | 2 +- pkgs/os-specific/linux/uclibc/default.nix | 2 +- pkgs/stdenv/generic/make-derivation.nix | 2 +- pkgs/top-level/all-packages.nix | 2 +- 37 files changed, 454 insertions(+), 448 deletions(-) (limited to 'nixos/modules/installer') diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 4edcbeb36f1..84d0b34805a 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -24,8 +24,6 @@ rec { # Either of these can be losslessly-extracted from `parsed` iff parsing succeeds. system = parse.doubleFromSystem final.parsed; config = parse.tripleFromSystem final.parsed; - # Just a guess, based on `system` - platform = platforms.select final; # Determine whether we are compatible with the provided CPU isCompatible = platform: parse.isCompatible final.parsed.cpu platform.parsed.cpu; # Derived meta-data @@ -79,7 +77,16 @@ rec { }; isStatic = final.isWasm || final.isRedox; - kernelArch = + # Just a guess, based on `system` + inherit + ({ + linux-kernel = args.linux-kernel or {}; + gcc = args.gcc or {}; + rustc = args.rust or {}; + } // platforms.select final) + linux-kernel gcc rustc; + + linuxArch = if final.isAarch32 then "arm" else if final.isAarch64 then "arm64" else if final.isx86_32 then "x86" diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 16002450f2d..de12e0b83c1 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -7,7 +7,6 @@ let riscv = bits: { config = "riscv${bits}-unknown-linux-gnu"; - platform = platforms.riscv-multiplatform; }; in @@ -17,84 +16,68 @@ rec { # powernv = { config = "powerpc64le-unknown-linux-gnu"; - platform = platforms.powernv; }; musl-power = { config = "powerpc64le-unknown-linux-musl"; - platform = platforms.powernv; }; sheevaplug = { config = "armv5tel-unknown-linux-gnueabi"; - platform = platforms.sheevaplug; - }; + } // platforms.sheevaplug; raspberryPi = { config = "armv6l-unknown-linux-gnueabihf"; - platform = platforms.raspberrypi; - }; + } // platforms.raspberrypi; remarkable1 = { config = "armv7l-unknown-linux-gnueabihf"; - platform = platforms.zero-gravitas; - }; + } // platforms.zero-gravitas; remarkable2 = { config = "armv7l-unknown-linux-gnueabihf"; - platform = platforms.zero-sugar; - }; + } // platforms.zero-sugar; armv7l-hf-multiplatform = { config = "armv7l-unknown-linux-gnueabihf"; - platform = platforms.armv7l-hf-multiplatform; }; aarch64-multiplatform = { config = "aarch64-unknown-linux-gnu"; - platform = platforms.aarch64-multiplatform; }; armv7a-android-prebuilt = { config = "armv7a-unknown-linux-androideabi"; sdkVer = "29"; ndkVer = "21"; - platform = platforms.armv7a-android; useAndroidPrebuilt = true; - }; + } // platforms.armv7a-android; aarch64-android-prebuilt = { config = "aarch64-unknown-linux-android"; sdkVer = "29"; ndkVer = "21"; - platform = platforms.aarch64-multiplatform; useAndroidPrebuilt = true; }; - scaleway-c1 = armv7l-hf-multiplatform // rec { - platform = platforms.scaleway-c1; - inherit (platform.gcc) fpu; - }; + scaleway-c1 = armv7l-hf-multiplatform // platforms.scaleway-c1; pogoplug4 = { config = "armv5tel-unknown-linux-gnueabi"; - platform = platforms.pogoplug4; - }; + } // platforms.pogoplug4; ben-nanonote = { config = "mipsel-unknown-linux-uclibc"; - platform = platforms.ben_nanonote; - }; + } // platforms.ben_nanonote; fuloongminipc = { config = "mipsel-unknown-linux-gnu"; - platform = platforms.fuloong2f_n32; - }; + } // platforms.fuloong2f_n32; muslpi = raspberryPi // { config = "armv6l-unknown-linux-musleabihf"; }; - aarch64-multiplatform-musl = aarch64-multiplatform // { + aarch64-multiplatform-musl = { config = "aarch64-unknown-linux-musl"; }; @@ -110,13 +93,11 @@ rec { riscv64-embedded = { config = "riscv64-none-elf"; libc = "newlib"; - platform = platforms.riscv-multiplatform; }; riscv32-embedded = { config = "riscv32-none-elf"; libc = "newlib"; - platform = platforms.riscv-multiplatform; }; mmix = { @@ -136,13 +117,11 @@ rec { vc4 = { config = "vc4-elf"; libc = "newlib"; - platform = {}; }; or1k = { config = "or1k-elf"; libc = "newlib"; - platform = {}; }; arm-embedded = { @@ -204,7 +183,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneOS"; useiOSPrebuilt = true; - platform = {}; }; iphone32 = { @@ -214,7 +192,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneOS"; useiOSPrebuilt = true; - platform = {}; }; iphone64-simulator = { @@ -224,7 +201,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneSimulator"; useiOSPrebuilt = true; - platform = {}; }; iphone32-simulator = { @@ -234,7 +210,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneSimulator"; useiOSPrebuilt = true; - platform = {}; }; # @@ -245,7 +220,6 @@ rec { mingw32 = { config = "i686-w64-mingw32"; libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain - platform = {}; }; # 64 bit mingw-w64 @@ -253,7 +227,6 @@ rec { # That's the triplet they use in the mingw-w64 docs. config = "x86_64-w64-mingw32"; libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain - platform = {}; }; # BSDs @@ -275,6 +248,5 @@ rec { # Ghcjs ghcjs = { config = "js-unknown-ghcjs"; - platform = {}; }; } diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index e869de488c1..f399c1873f5 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -1,39 +1,36 @@ { lib }: rec { - pcBase = { - name = "pc"; - kernelBaseConfig = "defconfig"; - # Build whatever possible as a module, if not stated in the extra config. - kernelAutoModules = true; - kernelTarget = "bzImage"; - }; - - pc64 = pcBase // { kernelArch = "x86_64"; }; - - pc32 = pcBase // { kernelArch = "i386"; }; - - pc32_simplekernel = pc32 // { - kernelAutoModules = false; + pc = { + linux-kernel = { + name = "pc"; + + baseConfig = "defconfig"; + # Build whatever possible as a module, if not stated in the extra config. + autoModules = true; + target = "bzImage"; + }; }; - pc64_simplekernel = pc64 // { - kernelAutoModules = false; + pc_simplekernel = lib.recursiveUpdate pc { + linux-kernel.autoModules = false; }; powernv = { - name = "PowerNV"; - kernelArch = "powerpc"; - kernelBaseConfig = "powernv_defconfig"; - kernelTarget = "zImage"; - kernelInstallTarget = "install"; - kernelFile = "vmlinux"; - kernelAutoModules = true; - # avoid driver/FS trouble arising from unusual page size - kernelExtraConfig = '' - PPC_64K_PAGES n - PPC_4K_PAGES y - IPV6 y - ''; + linux-kernel = { + name = "PowerNV"; + + baseConfig = "powernv_defconfig"; + target = "zImage"; + installTarget = "install"; + file = "vmlinux"; + autoModules = true; + # avoid driver/FS trouble arising from unusual page size + extraConfig = '' + PPC_64K_PAGES n + PPC_4K_PAGES y + IPV6 y + ''; + }; }; ## @@ -41,17 +38,121 @@ rec { ## pogoplug4 = { - name = "pogoplug4"; + linux-kernel = { + name = "pogoplug4"; + baseConfig = "multi_v5_defconfig"; + autoModules = false; + extraConfig = '' + # Ubi for the mtd + MTD_UBI y + UBIFS_FS y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + UBIFS_FS_LZO y + UBIFS_FS_ZLIB y + UBIFS_FS_DEBUG n + ''; + makeFlags = [ "LOADADDR=0x8000" ]; + target = "uImage"; + # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working + #DTB = true; + }; gcc = { arch = "armv5te"; }; + }; + + sheevaplug = { + linux-kernel = { + name = "sheevaplug"; + + baseConfig = "multi_v5_defconfig"; + autoModules = false; + extraConfig = '' + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + BTRFS_FS m + XFS_FS m + JFS_FS m + EXT4_FS m + USB_STORAGE_CYPRESS_ATACB m + + # mv cesa requires this sw fallback, for mv-sha1 + CRYPTO_SHA1 y + # Fast crypto + CRYPTO_TWOFISH y + CRYPTO_TWOFISH_COMMON y + CRYPTO_BLOWFISH y + CRYPTO_BLOWFISH_COMMON y + + IP_PNP y + IP_PNP_DHCP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + NETFILTER y + IP_NF_IPTABLES y + IP_NF_FILTER y + IP_NF_MATCH_ADDRTYPE y + IP_NF_TARGET_LOG y + IP_NF_MANGLE y + IPV6 m + VLAN_8021Q m + + CIFS y + CIFS_XATTR y + CIFS_POSIX y + CIFS_FSCACHE y + CIFS_ACL y + + WATCHDOG y + WATCHDOG_CORE y + ORION_WATCHDOG m + + ZRAM m + NETCONSOLE m + + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # systemd uses cgroups + CGROUPS y + + # Latencytop + LATENCYTOP y - kernelBaseConfig = "multi_v5_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = - '' # Ubi for the mtd MTD_UBI y UBIFS_FS y @@ -60,137 +161,36 @@ rec { UBIFS_FS_LZO y UBIFS_FS_ZLIB y UBIFS_FS_DEBUG n - ''; - kernelMakeFlags = [ "LOADADDR=0x8000" ]; - kernelTarget = "uImage"; - # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working - #kernelDTB = true; - }; - sheevaplug = { - name = "sheevaplug"; - kernelBaseConfig = "multi_v5_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = '' - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - BTRFS_FS m - XFS_FS m - JFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - # mv cesa requires this sw fallback, for mv-sha1 - CRYPTO_SHA1 y - # Fast crypto - CRYPTO_TWOFISH y - CRYPTO_TWOFISH_COMMON y - CRYPTO_BLOWFISH y - CRYPTO_BLOWFISH_COMMON y - - IP_PNP y - IP_PNP_DHCP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NETFILTER y - IP_NF_IPTABLES y - IP_NF_FILTER y - IP_NF_MATCH_ADDRTYPE y - IP_NF_TARGET_LOG y - IP_NF_MANGLE y - IPV6 m - VLAN_8021Q m - - CIFS y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - CIFS_ACL y - - WATCHDOG y - WATCHDOG_CORE y - ORION_WATCHDOG m - - ZRAM m - NETCONSOLE m - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # systemd uses cgroups - CGROUPS y - - # Latencytop - LATENCYTOP y - - # Ubi for the mtd - MTD_UBI y - UBIFS_FS y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - UBIFS_FS_LZO y - UBIFS_FS_ZLIB y - UBIFS_FS_DEBUG n - - # Kdb, for kernel troubles - KGDB y - KGDB_SERIAL_CONSOLE y - KGDB_KDB y - ''; - kernelMakeFlags = [ "LOADADDR=0x0200000" ]; - kernelTarget = "uImage"; - kernelDTB = true; # Beyond 3.10 + # Kdb, for kernel troubles + KGDB y + KGDB_SERIAL_CONSOLE y + KGDB_KDB y + ''; + makeFlags = [ "LOADADDR=0x0200000" ]; + target = "uImage"; + DTB = true; # Beyond 3.10 + }; gcc = { arch = "armv5te"; }; }; raspberrypi = { - name = "raspberrypi"; - kernelBaseConfig = "bcm2835_defconfig"; - kernelDTB = true; - kernelArch = "arm"; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelExtraConfig = '' - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - ''; - kernelTarget = "zImage"; + linux-kernel = { + name = "raspberrypi"; + + baseConfig = "bcm2835_defconfig"; + DTB = true; + autoModules = true; + preferBuiltin = true; + extraConfig = '' + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + ''; + target = "zImage"; + }; gcc = { arch = "armv6"; fpu = "vfp"; @@ -201,13 +201,15 @@ rec { raspberrypi2 = armv7l-hf-multiplatform; zero-gravitas = { - name = "zero-gravitas"; - kernelBaseConfig = "zero-gravitas_defconfig"; - kernelArch = "arm"; - # kernelTarget verified by checking /boot on reMarkable 1 device - kernelTarget = "zImage"; - kernelAutoModules = false; - kernelDTB = true; + linux-kernel = { + name = "zero-gravitas"; + + baseConfig = "zero-gravitas_defconfig"; + # Target verified by checking /boot on reMarkable 1 device + target = "zImage"; + autoModules = false; + DTB = true; + }; gcc = { fpu = "neon"; cpu = "cortex-a9"; @@ -215,13 +217,15 @@ rec { }; zero-sugar = { - name = "zero-sugar"; - kernelBaseConfig = "zero-sugar_defconfig"; - kernelArch = "arm"; - kernelDTB = true; - kernelAutoModules = false; - kernelPreferBuiltin = true; - kernelTarget = "zImage"; + linux-kernel = { + name = "zero-sugar"; + + baseConfig = "zero-sugar_defconfig"; + DTB = true; + autoModules = false; + preferBuiltin = true; + target = "zImage"; + }; gcc = { cpu = "cortex-a7"; fpu = "neon-vfpv4"; @@ -229,7 +233,7 @@ rec { }; }; - scaleway-c1 = armv7l-hf-multiplatform // { + scaleway-c1 = lib.recursiveUpdate armv7l-hf-multiplatform { gcc = { cpu = "cortex-a9"; fpu = "vfpv3"; @@ -237,12 +241,11 @@ rec { }; utilite = { - name = "utilite"; - kernelBaseConfig = "multi_v7_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = - '' + linux-kernel = { + name = "utilite"; + maseConfig = "multi_v7_defconfig"; + autoModules = false; + extraConfig = '' # Ubi for the mtd MTD_UBI y UBIFS_FS y @@ -252,35 +255,37 @@ rec { UBIFS_FS_ZLIB y UBIFS_FS_DEBUG n ''; - kernelMakeFlags = [ "LOADADDR=0x10800000" ]; - kernelTarget = "uImage"; - kernelDTB = true; + makeFlags = [ "LOADADDR=0x10800000" ]; + target = "uImage"; + DTB = true; + }; gcc = { cpu = "cortex-a9"; fpu = "neon"; }; }; - guruplug = sheevaplug // { + guruplug = lib.recursiveUpdate sheevaplug { # Define `CONFIG_MACH_GURUPLUG' (see # ) # and other GuruPlug-specific things. Requires the `guruplug-defconfig' # patch. - - kernelBaseConfig = "guruplug_defconfig"; + linux-kernel.baseConfig = "guruplug_defconfig"; }; - beaglebone = armv7l-hf-multiplatform // { - name = "beaglebone"; - kernelBaseConfig = "bb.org_defconfig"; - kernelAutoModules = false; - kernelExtraConfig = ""; # TBD kernel config - kernelTarget = "zImage"; + beaglebone = lib.recursiveUpdate armv7l-hf-multiplatform { + linux-kernel = { + name = "beaglebone"; + baseConfig = "bb.org_defconfig"; + autoModules = false; + extraConfig = ""; # TBD kernel config + target = "zImage"; + }; }; # https://developer.android.com/ndk/guides/abis#v7a - armv7a-android = { - name = "armeabi-v7a"; + armv7a-android = { + linux-kernel.name = "armeabi-v7a"; gcc = { arch = "armv7-a"; float-abi = "softfp"; @@ -289,29 +294,31 @@ rec { }; armv7l-hf-multiplatform = { - name = "armv7l-hf-multiplatform"; - kernelBaseConfig = "multi_v7_defconfig"; - kernelArch = "arm"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelTarget = "zImage"; - kernelExtraConfig = '' - # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Fix broken sunxi-sid nvmem driver. - TI_CPTS y - - # Hangs ODROID-XU4 - ARM_BIG_LITTLE_CPUIDLE n - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - ''; + linux-kernel = { + name = "armv7l-hf-multiplatform"; + Major = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. + baseConfig = "multi_v7_defconfig"; + DTB = true; + autoModules = true; + PreferBuiltin = true; + target = "zImage"; + extraConfig = '' + # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Fix broken sunxi-sid nvmem driver. + TI_CPTS y + + # Hangs ODROID-XU4 + ARM_BIG_LITTLE_CPUIDLE n + + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + ''; + }; gcc = { # Some table about fpu flags: # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png @@ -336,34 +343,35 @@ rec { }; aarch64-multiplatform = { - name = "aarch64-multiplatform"; - kernelBaseConfig = "defconfig"; - kernelArch = "arm64"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelExtraConfig = '' - # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10. - ARCH_BCM2835 y - BCM2835_MBOX y - BCM2835_WDT y - RASPBERRYPI_FIRMWARE y - RASPBERRYPI_POWER y - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Cavium ThunderX stuff. - PCI_HOST_THUNDER_ECAM y - - # Nvidia Tegra stuff. - PCI_TEGRA y - - # The default (=y) forces us to have the XHCI firmware available in initrd, - # which our initrd builder can't currently do easily. - USB_XHCI_TEGRA m - ''; - kernelTarget = "Image"; + linux-kernel = { + name = "aarch64-multiplatform"; + baseConfig = "defconfig"; + DTB = true; + autoModules = true; + preferBuiltin = true; + extraConfig = '' + # Raspberry Pi 3 stuff. Not needed for s >= 4.10. + ARCH_BCM2835 y + BCM2835_MBOX y + BCM2835_WDT y + RASPBERRYPI_FIRMWARE y + RASPBERRYPI_POWER y + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Cavium ThunderX stuff. + PCI_HOST_THUNDER_ECAM y + + # Nvidia Tegra stuff. + PCI_TEGRA y + + # The default (=y) forces us to have the XHCI firmware available in initrd, + # which our initrd builder can't currently do easily. + USB_XHCI_TEGRA m + ''; + target = "Image"; + }; gcc = { arch = "armv8-a"; }; @@ -374,8 +382,9 @@ rec { ## ben_nanonote = { - name = "ben_nanonote"; - kernelArch = "mips"; + linux-kernel = { + name = "ben_nanonote"; + }; gcc = { arch = "mips32"; float = "soft"; @@ -383,75 +392,76 @@ rec { }; fuloong2f_n32 = { - name = "fuloong2f_n32"; - kernelBaseConfig = "lemote2f_defconfig"; - kernelArch = "mips"; - kernelAutoModules = false; - kernelExtraConfig = '' - MIGRATION n - COMPACTION n - - # nixos mounts some cgroup - CGROUPS y - - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - IP_PNP y - IP_PNP_DHCP y - IP_PNP_BOOTP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # Needed for udev >= 150 - SYSFS_DEPRECATED_V2 n - - VGA_CONSOLE n - VT_HW_CONSOLE_BINDING y - SERIAL_8250_CONSOLE y - FRAMEBUFFER_CONSOLE y - EXT2_FS y - EXT3_FS y - REISERFS_FS y - MAGIC_SYSRQ y - - # The kernel doesn't boot at all, with FTRACE - FTRACE n - ''; - kernelTarget = "vmlinux"; + linux-kernel = { + name = "fuloong2f_n32"; + baseConfig = "lemote2f_defconfig"; + autoModules = false; + extraConfig = '' + MIGRATION n + COMPACTION n + + # nixos mounts some cgroup + CGROUPS y + + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + EXT4_FS m + USB_STORAGE_CYPRESS_ATACB m + + IP_PNP y + IP_PNP_DHCP y + IP_PNP_BOOTP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # Needed for udev >= 150 + SYSFS_DEPRECATED_V2 n + + VGA_CONSOLE n + VT_HW_CONSOLE_BINDING y + SERIAL_8250_CONSOLE y + FRAMEBUFFER_CONSOLE y + EXT2_FS y + EXT3_FS y + REISERFS_FS y + MAGIC_SYSRQ y + + # The kernel doesn't boot at all, with FTRACE + FTRACE n + ''; + target = "vmlinux"; + }; gcc = { arch = "loongson2f"; float = "hard"; @@ -464,34 +474,36 @@ rec { ## riscv-multiplatform = { - name = "riscv-multiplatform"; - kernelArch = "riscv"; - kernelTarget = "vmlinux"; - kernelAutoModules = true; - kernelBaseConfig = "defconfig"; - kernelExtraConfig = '' - FTRACE n - SERIAL_OF_PLATFORM y - ''; + linux-kernel = { + name = "riscv-multiplatform"; + target = "vmlinux"; + autoModules = true; + baseConfig = "defconfig"; + extraConfig = '' + FTRACE n + SERIAL_OF_PLATFORM y + ''; + }; }; select = platform: # x86 - /**/ if platform.isx86_32 then pc32 - else if platform.isx86_64 then pc64 + /**/ if platform.isx86 then pc # ARM else if platform.isAarch32 then let version = platform.parsed.cpu.version or null; - in if version == null then pcBase + in if version == null then pc else if lib.versionOlder version "6" then sheevaplug else if lib.versionOlder version "7" then raspberrypi else armv7l-hf-multiplatform else if platform.isAarch64 then aarch64-multiplatform + else if platform.isRiscV then riscv-multiplatform + else if platform.parsed.cpu == lib.systems.parse.cpuTypes.mipsel then fuloong2f_n32 else if platform.parsed.cpu == lib.systems.parse.cpuTypes.powerpc64le then powernv - else pcBase; + else pc; } diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index e46d1ca403f..408c896defe 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -592,6 +592,22 @@ http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/e /etc/netgroup defines network-wide groups and may affect to setups using NIS. + + + Platforms, like stdenv.hostPlatform, no longer have a platform attribute. + It has been (mostly) flattoned away: + + + platform.gcc is now gcc + platform.kernel* is now linux-kernel.* + + + Additionally, platform.kernelArch moved to the top level as linuxArch to match the other *Arch variables. + + + The platform grouping of these things never meant anything, and was just a historial/implementation artifact that was overdue removal. + + diff --git a/nixos/modules/hardware/device-tree.nix b/nixos/modules/hardware/device-tree.nix index e0ab37bca63..4aa1d6369d1 100644 --- a/nixos/modules/hardware/device-tree.nix +++ b/nixos/modules/hardware/device-tree.nix @@ -68,11 +68,11 @@ let patchShebangs scripts/* substituteInPlace scripts/Makefile.lib \ --replace 'DTC_FLAGS += $(DTC_FLAGS_$(basetarget))' 'DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) -@' - make ${pkgs.stdenv.hostPlatform.platform.kernelBaseConfig} ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" - make dtbs ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" + make ${pkgs.stdenv.hostPlatform.linux-kernel.baseConfig} ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" + make dtbs ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" ''; installPhase = '' - make dtbs_install INSTALL_DTBS_PATH=$out/dtbs ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" + make dtbs_install INSTALL_DTBS_PATH=$out/dtbs ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" ''; }; @@ -115,7 +115,7 @@ in options = { hardware.deviceTree = { enable = mkOption { - default = pkgs.stdenv.hostPlatform.platform.kernelDTB or false; + default = pkgs.stdenv.hostPlatform.linux-kernel.DTB or false; type = types.bool; description = '' Build device tree files. These are used to describe the diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix index 95eba86bcb6..fa074fdfcc6 100644 --- a/nixos/modules/installer/netboot/netboot.nix +++ b/nixos/modules/installer/netboot/netboot.nix @@ -88,7 +88,7 @@ with lib; system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" '' #!ipxe - kernel ${pkgs.stdenv.hostPlatform.platform.kernelTarget} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} + kernel ${pkgs.stdenv.hostPlatform.linux-kernel.target} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} initrd initrd boot ''; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 0eeff31d6c4..64bdbf159d5 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -587,10 +587,10 @@ in nix.systemFeatures = mkDefault ( [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ - optionals (pkgs.hostPlatform.platform ? gcc.arch) ( - # a builder can run code for `platform.gcc.arch` and inferior architectures - [ "gccarch-${pkgs.hostPlatform.platform.gcc.arch}" ] ++ - map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.platform.gcc.arch} + optionals (pkgs.hostPlatform ? gcc.arch) ( + # a builder can run code for `gcc.arch` and inferior architectures + [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++ + map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch} ) ); diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 03d7e749323..b0f77ca3fb8 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -190,7 +190,7 @@ in system.boot.loader.kernelFile = mkOption { internal = true; - default = pkgs.stdenv.hostPlatform.platform.kernelTarget; + default = pkgs.stdenv.hostPlatform.linux-kernel.target; type = types.str; description = '' Name of the kernel file to be passed to the bootloader. diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix index 2d27611946e..fee567a510b 100644 --- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix +++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix @@ -59,7 +59,7 @@ in system.build.installBootLoader = generationsDirBuilder; system.boot.loader.id = "generationsDir"; - system.boot.loader.kernelFile = platform.kernelTarget; + system.boot.loader.kernelFile = linux-kernel.target; }; } diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix index ba936b26573..db22dd36cbe 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix @@ -103,6 +103,6 @@ in system.build.installBootLoader = builder; system.boot.loader.id = "raspberrypi"; - system.boot.loader.kernelFile = platform.kernelTarget; + system.boot.loader.kernelFile = linux-kernel.target; }; } diff --git a/nixos/release.nix b/nixos/release.nix index 1f5c1581269..109747945f7 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -79,7 +79,7 @@ let in tarball // { meta = { - description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.platform.name}"; + description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.linux-kernel.name}"; maintainers = map (x: lib.maintainers.${x}) maintainers; }; inherit config; @@ -105,7 +105,7 @@ let modules = makeModules module {}; }; build = configEvaled.config.system.build; - kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.platform.kernelTarget; + kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.linux-kernel.target; in pkgs.symlinkJoin { name = "netboot"; diff --git a/pkgs/applications/audio/virtual-ans/default.nix b/pkgs/applications/audio/virtual-ans/default.nix index dd7e8b062da..1cb9c0f18bf 100644 --- a/pkgs/applications/audio/virtual-ans/default.nix +++ b/pkgs/applications/audio/virtual-ans/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { startScript = if stdenv.isx86_32 then "START_LINUX_X86" else if stdenv.isx86_64 then "START_LINUX_X86_64" #else if stdenv.isDarwin then "START_MACOS.app" # disabled because I cannot test on Darwin - else abort "Unsupported platform: ${stdenv.platform.kernelArch}."; + else abort "Unsupported platform: ${stdenv.hostPlatform.linuxArch}."; linuxExecutable = if stdenv.isx86_32 then "pixilang_linux_x86" else if stdenv.isx86_64 then "pixilang_linux_x86_64" diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 3ad540e5307..848b93a5381 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -75,7 +75,7 @@ in CROSVM_CARGO_TEST_KERNEL_BINARY = lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) - "${linux}/${stdenv.hostPlatform.platform.kernelTarget}"; + "${linux}/${stdenv.hostPlatform.linux-kernel.target}"; passthru = { inherit adhdSrc; diff --git a/pkgs/applications/virtualization/vpcs/default.nix b/pkgs/applications/virtualization/vpcs/default.nix index 33d707a5007..8c41a1f4c27 100644 --- a/pkgs/applications/virtualization/vpcs/default.nix +++ b/pkgs/applications/virtualization/vpcs/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildPhase = ''( cd src - ./mk.sh ${stdenv.buildPlatform.platform.kernelArch} + ./mk.sh ${stdenv.buildPlatform.linuxArch} )''; installPhase = '' diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index bd3ebdf800e..e0d43739668 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -190,7 +190,7 @@ stdenv.mkDerivation { else if targetPlatform.isRiscV then "lriscv" else throw "unknown emulation for platform: ${targetPlatform.config}"; in if targetPlatform.useLLVM or false then "" - else targetPlatform.platform.bfdEmulation or (fmt + sep + arch); + else targetPlatform.bfdEmulation or (fmt + sep + arch); strictDeps = true; depsTargetTargetPropagated = extraPackages; diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index d1d5f8e6c86..faa62cb5b12 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -403,31 +403,31 @@ stdenv.mkDerivation { # discrepency (x86_64 vs. x86-64), so we provide an "arch" arg in # that case. + optionalString ((targetPlatform ? platform.gcc.arch) && - isGccArchSupported targetPlatform.platform.gcc.arch) '' - echo "-march=${targetPlatform.platform.gcc.arch}" >> $out/nix-support/cc-cflags-before + isGccArchSupported targetPlatform.gcc.arch) '' + echo "-march=${targetPlatform.gcc.arch}" >> $out/nix-support/cc-cflags-before '' # -mcpu is not very useful. You should use mtune and march # instead. It’s provided here for backwards compatibility. + optionalString (targetPlatform ? platform.gcc.cpu) '' - echo "-mcpu=${targetPlatform.platform.gcc.cpu}" >> $out/nix-support/cc-cflags-before + echo "-mcpu=${targetPlatform.gcc.cpu}" >> $out/nix-support/cc-cflags-before '' # -mfloat-abi only matters on arm32 but we set it here # unconditionally just in case. If the abi specifically sets hard # vs. soft floats we use it here. + optionalString (targetPlatform ? platform.gcc.float-abi) '' - echo "-mfloat-abi=${targetPlatform.platform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before + echo "-mfloat-abi=${targetPlatform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before '' + optionalString (targetPlatform ? platform.gcc.fpu) '' - echo "-mfpu=${targetPlatform.platform.gcc.fpu}" >> $out/nix-support/cc-cflags-before + echo "-mfpu=${targetPlatform.gcc.fpu}" >> $out/nix-support/cc-cflags-before '' + optionalString (targetPlatform ? platform.gcc.mode) '' - echo "-mmode=${targetPlatform.platform.gcc.mode}" >> $out/nix-support/cc-cflags-before + echo "-mmode=${targetPlatform.gcc.mode}" >> $out/nix-support/cc-cflags-before '' + optionalString (targetPlatform ? platform.gcc.tune && - isGccArchSupported targetPlatform.platform.gcc.tune) '' - echo "-mtune=${targetPlatform.platform.gcc.tune}" >> $out/nix-support/cc-cflags-before + isGccArchSupported targetPlatform.gcc.tune) '' + echo "-mtune=${targetPlatform.gcc.tune}" >> $out/nix-support/cc-cflags-before '' # TODO: categorize these and figure out a better place for them diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 901eb311a88..9af40d33242 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -56,13 +56,13 @@ in , prepend ? [] # Whether to wrap the initramfs in a u-boot image. -, makeUInitrd ? stdenvNoCC.hostPlatform.platform.kernelTarget == "uImage" +, makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target == "uImage" # If generating a u-boot image, the architecture to use. The default # guess may not align with u-boot's nomenclature correctly, so it can # be overridden. # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. -, uInitrdArch ? stdenvNoCC.hostPlatform.kernelArch +, uInitrdArch ? stdenvNoCC.hostPlatform.linuxArch # The name of the compression, as recognised by u-boot. # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 5f3c7e1d621..215782368f6 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1,6 +1,6 @@ { pkgs , kernel ? pkgs.linux -, img ? pkgs.stdenv.hostPlatform.platform.kernelTarget +, img ? pkgs.stdenv.hostPlatform.linux-kernel.target , storeDir ? builtins.storeDir , rootModules ? [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ] diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index f3cdce41193..66af8c4a4cc 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -1,7 +1,7 @@ { lib, targetPlatform }: let - p = targetPlatform.platform.gcc or {} + p = targetPlatform.gcc or {} // targetPlatform.parsed.abi; in lib.concatLists [ (lib.optional (!targetPlatform.isx86_64 && p ? arch) "--with-arch=${p.arch}") # --with-arch= is unknown flag on x86_64 diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix index 0325632ad0a..78f7c2ef1b9 100644 --- a/pkgs/development/compilers/julia/1.0.nix +++ b/pkgs/development/compilers/julia/1.0.nix @@ -123,7 +123,7 @@ stdenv.mkDerivation rec { let arch = stdenv.lib.head (stdenv.lib.splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/compilers/julia/1.3.nix b/pkgs/development/compilers/julia/1.3.nix index 8096af0b320..2a270b7c72c 100644 --- a/pkgs/development/compilers/julia/1.3.nix +++ b/pkgs/development/compilers/julia/1.3.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { let arch = head (splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/compilers/julia/1.5.nix b/pkgs/development/compilers/julia/1.5.nix index be3cfc39635..778a9c3a9d7 100644 --- a/pkgs/development/compilers/julia/1.5.nix +++ b/pkgs/development/compilers/julia/1.5.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { let arch = head (splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 6b17e463d76..6637a9bb2a3 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -158,7 +158,7 @@ stdenv.mkDerivation ({ "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ (lib.flip lib.withFeature "fp" - (stdenv.hostPlatform.platform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) + (stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) "--with-__thread" ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch32) [ "--host=arm-linux-gnueabi" diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index e6ab23073b1..1a3f1948f84 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -88,7 +88,7 @@ qtModule { NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit "-Wno-class-memaccess" - ] ++ lib.optionals (stdenv.hostPlatform.platform.gcc.arch or "" == "sandybridge") [ + ] ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [ # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940 # TODO: investigate and fix properly "-march=westmere" diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix index e333bd49718..edf556377b3 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix @@ -73,9 +73,9 @@ let if isLinux then ( - x: x.platform == "manylinux1_${stdenv.platform.kernelArch}" - || x.platform == "manylinux2010_${stdenv.platform.kernelArch}" - || x.platform == "manylinux2014_${stdenv.platform.kernelArch}" + x: x.platform == "manylinux1_${stdenv.hostPlatform.linuxArch}" + || x.platform == "manylinux2010_${stdenv.hostPlatform.linuxArch}" + || x.platform == "manylinux2014_${stdenv.hostPlatform.linuxArch}" || x.platform == "any" ) else (x: hasInfix "macosx" x.platform || x.platform == "any"); diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix index ba8145398f5..ea2f27b0e22 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix @@ -95,7 +95,7 @@ let else if stdenv.isDarwin then "darwin" else throw "Unsupported platform" ); - platform_machine = stdenv.platform.kernelArch; + platform_machine = stdenv.hostPlatform.linuxArch; platform_python_implementation = let impl = python.passthru.implementation; diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 5308149c26b..ccea8ee4553 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -60,18 +60,17 @@ in configureFlags = let isCross = stdenv.hostPlatform != stdenv.buildPlatform; - host = stdenv.hostPlatform.platform; - isAarch32 = stdenv.hostPlatform.isAarch32; + inherit (stdenv.hostPlatform) gcc isArch32; in sharedConfigureFlags ++ [ "--without-dtrace" ] ++ (optionals isCross [ "--cross-compiling" "--without-intl" "--without-snapshot" - ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" host.gcc) [ - "--with-arm-fpu=${host.gcc.fpu}" - ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" host.gcc) [ - "--with-arm-float-abi=${host.gcc.float-abi}" + ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" gcc) [ + "--with-arm-fpu=${gcc.fpu}" + ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" gcc) [ + "--with-arm-float-abi=${gcc.float-abi}" ]) ++ (optionals (isCross && isAarch32) [ "--dest-cpu=arm" ]) ++ extraConfigFlags; diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix index 88792346d70..958bcdb9f16 100644 --- a/pkgs/os-specific/linux/exfat/default.nix +++ b/pkgs/os-specific/linux/exfat/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" + "ARCH=${stdenv.hostPlatform.linuxArch}" ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index cadf65a7220..d6ed7bccba3 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -7,7 +7,7 @@ let pname = "linux-headers"; inherit version; - ARCH = stdenvNoCC.hostPlatform.platform.kernelArch or stdenvNoCC.hostPlatform.kernelArch; + ARCH = stdenvNoCC.hostPlatform.linuxArch; # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. # We do this so we have a build->build, not build->host, C compiler. diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 31a90dc740f..ac9d6fbb2b5 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -42,7 +42,7 @@ # symbolic name and `patch' is the actual patch. The patch may # optionally be compressed with gzip or bzip2. kernelPatches ? [] -, ignoreConfigErrors ? stdenv.hostPlatform.platform.name != "pc" || +, ignoreConfigErrors ? stdenv.hostPlatform.linux-kernel.name != "pc" || stdenv.hostPlatform != stdenv.buildPlatform , extraMeta ? {} @@ -51,10 +51,10 @@ , isLibre ? false , isHardened ? false -# easy overrides to stdenv.hostPlatform.platform members -, autoModules ? stdenv.hostPlatform.platform.kernelAutoModules -, preferBuiltin ? stdenv.hostPlatform.platform.kernelPreferBuiltin or false -, kernelArch ? stdenv.hostPlatform.platform.kernelArch +# easy overrides to stdenv.hostPlatform.linux-kernel members +, autoModules ? stdenv.hostPlatform.linux-kernel.autoModules +, preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false +, kernelArch ? stdenv.hostPlatform.linuxArch , ... }: @@ -87,7 +87,7 @@ let intermediateNixConfig = configfile.moduleStructuredConfig.intermediateNixConfig # extra config in legacy string format + extraConfig - + lib.optionalString (stdenv.hostPlatform.platform ? kernelExtraConfig) stdenv.hostPlatform.platform.kernelExtraConfig; + + stdenv.hostPlatform.linux-kernel.extraConfig or ""; structuredConfigFromPatches = map ({extraStructuredConfig ? {}, ...}: {settings=extraStructuredConfig;}) kernelPatches; @@ -113,11 +113,11 @@ let nativeBuildInputs = [ perl gmp libmpc mpfr ] ++ lib.optionals (lib.versionAtLeast version "4.16") [ bison flex ]; - platformName = stdenv.hostPlatform.platform.name; + platformName = stdenv.hostPlatform.linux-kernel.name; # e.g. "defconfig" - kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.platform.kernelBaseConfig; + kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig; # e.g. "bzImage" - kernelTarget = stdenv.hostPlatform.platform.kernelTarget; + kernelTarget = stdenv.hostPlatform.linux-kernel.target; prePatch = kernel.prePatch + '' # Patch kconfig to print "###" after every question so that diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 67016b71918..2fc63322f5b 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -64,10 +64,10 @@ let commonMakeFlags = [ "O=$(buildRoot)" - ] ++ lib.optionals (stdenv.hostPlatform.platform ? kernelMakeFlags) - stdenv.hostPlatform.platform.kernelMakeFlags; + ] ++ lib.optionals (stdenv.hostPlatform.linux-kernel ? makeFlags) + stdenv.hostPlatform.linux-kernel.makeFlags; - drvAttrs = config_: platform: kernelPatches: configfile: + drvAttrs = config_: kernelConf: kernelPatches: configfile: let config = let attrName = attr: "CONFIG_" + attr; in { isSet = attr: hasAttr (attrName attr) config; @@ -171,7 +171,7 @@ let buildFlags = [ "KBUILD_BUILD_VERSION=1-NixOS" - platform.kernelTarget + kernelConf.target "vmlinux" # for "perf" and things like that ] ++ optional isModular "modules"; @@ -186,16 +186,16 @@ let ''; # Some image types need special install targets (e.g. uImage is installed with make uinstall) - installTargets = [ ( - if platform ? kernelInstallTarget then platform.kernelInstallTarget - else if platform.kernelTarget == "uImage" then "uinstall" - else if platform.kernelTarget == "zImage" || platform.kernelTarget == "Image.gz" then "zinstall" - else "install" - ) ]; + installTargets = [ + (kernelConf.installTarget or ( + /**/ if kernelConf.target == "uImage" then "uinstall" + else if kernelConf.target == "zImage" || kernelConf.target == "Image.gz" then "zinstall" + else "install")) + ]; postInstall = (optionalString installsFirmware '' mkdir -p $out/lib/firmware - '') + (if (platform ? kernelDTB && platform.kernelDTB) then '' + '') + (if (kernelConf.DTB or false) then '' make $makeFlags "''${makeFlagsArray[@]}" dtbs dtbs_install INSTALL_DTBS_PATH=$out/dtbs '' else "") + (if isModular then '' mkdir -p $dev @@ -300,7 +300,7 @@ in assert (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") -> libelf != null; assert lib.versionAtLeast version "5.8" -> elfutils != null; -stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches configfile) // { +stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile) // { pname = "linux"; inherit version; @@ -308,7 +308,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr gawk zstd ] - ++ optional (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools + ++ optional (stdenv.hostPlatform.linux-kernel.target == "uImage") buildPackages.ubootTools ++ optional (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") libelf # Removed util-linuxMinimal since it should not be a dependency. ++ optionals (lib.versionAtLeast version "4.16") [ bison flex ] @@ -322,10 +322,10 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches makeFlags = commonMakeFlags ++ [ "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" + "ARCH=${stdenv.hostPlatform.linuxArch}" ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; - karch = stdenv.hostPlatform.platform.kernelArch; + karch = stdenv.hostPlatform.linuxArch; }) diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 65ab71bd562..dc96f3b6a62 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" "stackprotector" ]; makeFlags = commonMakeFlags ++ [ - "KLIBCARCH=${stdenv.hostPlatform.platform.kernelArch}" + "KLIBCARCH=${stdenv.hostPlatform.linuxArch}" "KLIBCKERNELSRC=${linuxHeaders}" ] # TODO(@Ericson2314): We now can get the ABI from # `stdenv.hostPlatform.parsed.abi`, is this still a good idea? - ++ lib.optional (stdenv.hostPlatform.platform.kernelArch == "arm") "CONFIG_AEABI=y" + ++ lib.optional (stdenv.hostPlatform.linuxArch == "arm") "CONFIG_AEABI=y" ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; # Install static binaries as well. diff --git a/pkgs/os-specific/linux/rtl8723bs/default.nix b/pkgs/os-specific/linux/rtl8723bs/default.nix index 056fd40d252..a862b351716 100644 --- a/pkgs/os-specific/linux/rtl8723bs/default.nix +++ b/pkgs/os-specific/linux/rtl8723bs/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ nukeReferences ]; makeFlags = [ - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" # Normally not needed, but the Makefile sets ARCH in a broken way. + "ARCH=${stdenv.hostPlatform.linuxArch}" # Normally not needed, but the Makefile sets ARCH in a broken way. "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" # Makefile uses $(uname -r); breaks us. ]; diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index aeed87d3c19..68a88fb6778 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" + "ARCH=${stdenv.hostPlatform.linuxArch}" "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n")) ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n")) diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index 7c95a98372d..7508e1faf15 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation { cat << EOF | parseconfig ${nixConfig} ${extraConfig} - ${stdenv.hostPlatform.platform.uclibc.extraConfig or ""} + ${stdenv.hostPlatform.uclibc.extraConfig or ""} EOF ( set +o pipefail; yes "" | make oldconfig ) ''; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 0eb799e4525..e8ccd02c041 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -279,7 +279,7 @@ in rec { } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) { NIX_HARDENING_ENABLE = enabledHardeningOptions; } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? platform.gcc.arch) { - requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.platform.gcc.arch}" ]; + requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.gcc.arch}" ]; } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) { inherit __darwinAllowLocalNetworking; # TODO: remove lib.unique once nix has a list canonicalization primitive diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5985483c4ed..5db97df7b29 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19284,7 +19284,7 @@ in buildPhase = '' set -x make \ - ARCH=${stdenv.hostPlatform.kernelArch} \ + ARCH=${stdenv.hostPlatform.linuxArch} \ HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ ${makeTarget} ''; -- cgit 1.4.1 From 0bc275e63423456d6deb650e146120c39c1e0723 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Fri, 22 Jan 2021 14:07:06 -0800 Subject: Revert "lib: Clean up how linux and gcc config is specified" This is a stdenv-rebuild, and should not be merged into master This reverts commit 8929989614589ee3acd070a6409b2b9700c92d65. --- lib/systems/default.nix | 13 +- lib/systems/examples.nix | 48 +- lib/systems/platforms.nix | 670 ++++++++++----------- nixos/doc/manual/release-notes/rl-2103.xml | 16 - nixos/modules/hardware/device-tree.nix | 8 +- nixos/modules/installer/netboot/netboot.nix | 2 +- nixos/modules/services/misc/nix-daemon.nix | 8 +- nixos/modules/system/activation/top-level.nix | 2 +- .../loader/generations-dir/generations-dir.nix | 2 +- .../system/boot/loader/raspberrypi/raspberrypi.nix | 2 +- nixos/release.nix | 4 +- pkgs/applications/audio/virtual-ans/default.nix | 2 +- .../applications/virtualization/crosvm/default.nix | 2 +- pkgs/applications/virtualization/vpcs/default.nix | 2 +- pkgs/build-support/bintools-wrapper/default.nix | 2 +- pkgs/build-support/cc-wrapper/default.nix | 16 +- pkgs/build-support/kernel/make-initrd.nix | 4 +- pkgs/build-support/vm/default.nix | 2 +- .../compilers/gcc/common/platform-flags.nix | 2 +- pkgs/development/compilers/julia/1.0.nix | 2 +- pkgs/development/compilers/julia/1.3.nix | 2 +- pkgs/development/compilers/julia/1.5.nix | 2 +- pkgs/development/libraries/glibc/common.nix | 2 +- .../libraries/qt-5/modules/qtwebengine.nix | 2 +- .../tools/poetry2nix/poetry2nix/pep425.nix | 6 +- .../tools/poetry2nix/poetry2nix/pep508.nix | 2 +- pkgs/development/web/nodejs/nodejs.nix | 11 +- pkgs/os-specific/linux/exfat/default.nix | 2 +- pkgs/os-specific/linux/kernel-headers/default.nix | 2 +- pkgs/os-specific/linux/kernel/generic.nix | 18 +- pkgs/os-specific/linux/kernel/manual-config.nix | 30 +- pkgs/os-specific/linux/klibc/default.nix | 4 +- pkgs/os-specific/linux/rtl8723bs/default.nix | 2 +- pkgs/os-specific/linux/rtl8812au/default.nix | 2 +- pkgs/os-specific/linux/uclibc/default.nix | 2 +- pkgs/stdenv/generic/make-derivation.nix | 2 +- pkgs/top-level/all-packages.nix | 2 +- 37 files changed, 448 insertions(+), 454 deletions(-) (limited to 'nixos/modules/installer') diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 84d0b34805a..4edcbeb36f1 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -24,6 +24,8 @@ rec { # Either of these can be losslessly-extracted from `parsed` iff parsing succeeds. system = parse.doubleFromSystem final.parsed; config = parse.tripleFromSystem final.parsed; + # Just a guess, based on `system` + platform = platforms.select final; # Determine whether we are compatible with the provided CPU isCompatible = platform: parse.isCompatible final.parsed.cpu platform.parsed.cpu; # Derived meta-data @@ -77,16 +79,7 @@ rec { }; isStatic = final.isWasm || final.isRedox; - # Just a guess, based on `system` - inherit - ({ - linux-kernel = args.linux-kernel or {}; - gcc = args.gcc or {}; - rustc = args.rust or {}; - } // platforms.select final) - linux-kernel gcc rustc; - - linuxArch = + kernelArch = if final.isAarch32 then "arm" else if final.isAarch64 then "arm64" else if final.isx86_32 then "x86" diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index de12e0b83c1..16002450f2d 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -7,6 +7,7 @@ let riscv = bits: { config = "riscv${bits}-unknown-linux-gnu"; + platform = platforms.riscv-multiplatform; }; in @@ -16,68 +17,84 @@ rec { # powernv = { config = "powerpc64le-unknown-linux-gnu"; + platform = platforms.powernv; }; musl-power = { config = "powerpc64le-unknown-linux-musl"; + platform = platforms.powernv; }; sheevaplug = { config = "armv5tel-unknown-linux-gnueabi"; - } // platforms.sheevaplug; + platform = platforms.sheevaplug; + }; raspberryPi = { config = "armv6l-unknown-linux-gnueabihf"; - } // platforms.raspberrypi; + platform = platforms.raspberrypi; + }; remarkable1 = { config = "armv7l-unknown-linux-gnueabihf"; - } // platforms.zero-gravitas; + platform = platforms.zero-gravitas; + }; remarkable2 = { config = "armv7l-unknown-linux-gnueabihf"; - } // platforms.zero-sugar; + platform = platforms.zero-sugar; + }; armv7l-hf-multiplatform = { config = "armv7l-unknown-linux-gnueabihf"; + platform = platforms.armv7l-hf-multiplatform; }; aarch64-multiplatform = { config = "aarch64-unknown-linux-gnu"; + platform = platforms.aarch64-multiplatform; }; armv7a-android-prebuilt = { config = "armv7a-unknown-linux-androideabi"; sdkVer = "29"; ndkVer = "21"; + platform = platforms.armv7a-android; useAndroidPrebuilt = true; - } // platforms.armv7a-android; + }; aarch64-android-prebuilt = { config = "aarch64-unknown-linux-android"; sdkVer = "29"; ndkVer = "21"; + platform = platforms.aarch64-multiplatform; useAndroidPrebuilt = true; }; - scaleway-c1 = armv7l-hf-multiplatform // platforms.scaleway-c1; + scaleway-c1 = armv7l-hf-multiplatform // rec { + platform = platforms.scaleway-c1; + inherit (platform.gcc) fpu; + }; pogoplug4 = { config = "armv5tel-unknown-linux-gnueabi"; - } // platforms.pogoplug4; + platform = platforms.pogoplug4; + }; ben-nanonote = { config = "mipsel-unknown-linux-uclibc"; - } // platforms.ben_nanonote; + platform = platforms.ben_nanonote; + }; fuloongminipc = { config = "mipsel-unknown-linux-gnu"; - } // platforms.fuloong2f_n32; + platform = platforms.fuloong2f_n32; + }; muslpi = raspberryPi // { config = "armv6l-unknown-linux-musleabihf"; }; - aarch64-multiplatform-musl = { + aarch64-multiplatform-musl = aarch64-multiplatform // { config = "aarch64-unknown-linux-musl"; }; @@ -93,11 +110,13 @@ rec { riscv64-embedded = { config = "riscv64-none-elf"; libc = "newlib"; + platform = platforms.riscv-multiplatform; }; riscv32-embedded = { config = "riscv32-none-elf"; libc = "newlib"; + platform = platforms.riscv-multiplatform; }; mmix = { @@ -117,11 +136,13 @@ rec { vc4 = { config = "vc4-elf"; libc = "newlib"; + platform = {}; }; or1k = { config = "or1k-elf"; libc = "newlib"; + platform = {}; }; arm-embedded = { @@ -183,6 +204,7 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneOS"; useiOSPrebuilt = true; + platform = {}; }; iphone32 = { @@ -192,6 +214,7 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneOS"; useiOSPrebuilt = true; + platform = {}; }; iphone64-simulator = { @@ -201,6 +224,7 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneSimulator"; useiOSPrebuilt = true; + platform = {}; }; iphone32-simulator = { @@ -210,6 +234,7 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneSimulator"; useiOSPrebuilt = true; + platform = {}; }; # @@ -220,6 +245,7 @@ rec { mingw32 = { config = "i686-w64-mingw32"; libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain + platform = {}; }; # 64 bit mingw-w64 @@ -227,6 +253,7 @@ rec { # That's the triplet they use in the mingw-w64 docs. config = "x86_64-w64-mingw32"; libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain + platform = {}; }; # BSDs @@ -248,5 +275,6 @@ rec { # Ghcjs ghcjs = { config = "js-unknown-ghcjs"; + platform = {}; }; } diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index f399c1873f5..e869de488c1 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -1,36 +1,39 @@ { lib }: rec { - pc = { - linux-kernel = { - name = "pc"; - - baseConfig = "defconfig"; - # Build whatever possible as a module, if not stated in the extra config. - autoModules = true; - target = "bzImage"; - }; + pcBase = { + name = "pc"; + kernelBaseConfig = "defconfig"; + # Build whatever possible as a module, if not stated in the extra config. + kernelAutoModules = true; + kernelTarget = "bzImage"; + }; + + pc64 = pcBase // { kernelArch = "x86_64"; }; + + pc32 = pcBase // { kernelArch = "i386"; }; + + pc32_simplekernel = pc32 // { + kernelAutoModules = false; }; - pc_simplekernel = lib.recursiveUpdate pc { - linux-kernel.autoModules = false; + pc64_simplekernel = pc64 // { + kernelAutoModules = false; }; powernv = { - linux-kernel = { - name = "PowerNV"; - - baseConfig = "powernv_defconfig"; - target = "zImage"; - installTarget = "install"; - file = "vmlinux"; - autoModules = true; - # avoid driver/FS trouble arising from unusual page size - extraConfig = '' - PPC_64K_PAGES n - PPC_4K_PAGES y - IPV6 y - ''; - }; + name = "PowerNV"; + kernelArch = "powerpc"; + kernelBaseConfig = "powernv_defconfig"; + kernelTarget = "zImage"; + kernelInstallTarget = "install"; + kernelFile = "vmlinux"; + kernelAutoModules = true; + # avoid driver/FS trouble arising from unusual page size + kernelExtraConfig = '' + PPC_64K_PAGES n + PPC_4K_PAGES y + IPV6 y + ''; }; ## @@ -38,121 +41,17 @@ rec { ## pogoplug4 = { - linux-kernel = { - name = "pogoplug4"; + name = "pogoplug4"; - baseConfig = "multi_v5_defconfig"; - autoModules = false; - extraConfig = '' - # Ubi for the mtd - MTD_UBI y - UBIFS_FS y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - UBIFS_FS_LZO y - UBIFS_FS_ZLIB y - UBIFS_FS_DEBUG n - ''; - makeFlags = [ "LOADADDR=0x8000" ]; - target = "uImage"; - # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working - #DTB = true; - }; gcc = { arch = "armv5te"; }; - }; - - sheevaplug = { - linux-kernel = { - name = "sheevaplug"; - - baseConfig = "multi_v5_defconfig"; - autoModules = false; - extraConfig = '' - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - BTRFS_FS m - XFS_FS m - JFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - # mv cesa requires this sw fallback, for mv-sha1 - CRYPTO_SHA1 y - # Fast crypto - CRYPTO_TWOFISH y - CRYPTO_TWOFISH_COMMON y - CRYPTO_BLOWFISH y - CRYPTO_BLOWFISH_COMMON y - - IP_PNP y - IP_PNP_DHCP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NETFILTER y - IP_NF_IPTABLES y - IP_NF_FILTER y - IP_NF_MATCH_ADDRTYPE y - IP_NF_TARGET_LOG y - IP_NF_MANGLE y - IPV6 m - VLAN_8021Q m - - CIFS y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - CIFS_ACL y - - WATCHDOG y - WATCHDOG_CORE y - ORION_WATCHDOG m - - ZRAM m - NETCONSOLE m - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # systemd uses cgroups - CGROUPS y - - # Latencytop - LATENCYTOP y + kernelBaseConfig = "multi_v5_defconfig"; + kernelArch = "arm"; + kernelAutoModules = false; + kernelExtraConfig = + '' # Ubi for the mtd MTD_UBI y UBIFS_FS y @@ -161,36 +60,137 @@ rec { UBIFS_FS_LZO y UBIFS_FS_ZLIB y UBIFS_FS_DEBUG n - - # Kdb, for kernel troubles - KGDB y - KGDB_SERIAL_CONSOLE y - KGDB_KDB y ''; - makeFlags = [ "LOADADDR=0x0200000" ]; - target = "uImage"; - DTB = true; # Beyond 3.10 - }; + kernelMakeFlags = [ "LOADADDR=0x8000" ]; + kernelTarget = "uImage"; + # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working + #kernelDTB = true; + }; + + sheevaplug = { + name = "sheevaplug"; + kernelBaseConfig = "multi_v5_defconfig"; + kernelArch = "arm"; + kernelAutoModules = false; + kernelExtraConfig = '' + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + BTRFS_FS m + XFS_FS m + JFS_FS m + EXT4_FS m + USB_STORAGE_CYPRESS_ATACB m + + # mv cesa requires this sw fallback, for mv-sha1 + CRYPTO_SHA1 y + # Fast crypto + CRYPTO_TWOFISH y + CRYPTO_TWOFISH_COMMON y + CRYPTO_BLOWFISH y + CRYPTO_BLOWFISH_COMMON y + + IP_PNP y + IP_PNP_DHCP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + NETFILTER y + IP_NF_IPTABLES y + IP_NF_FILTER y + IP_NF_MATCH_ADDRTYPE y + IP_NF_TARGET_LOG y + IP_NF_MANGLE y + IPV6 m + VLAN_8021Q m + + CIFS y + CIFS_XATTR y + CIFS_POSIX y + CIFS_FSCACHE y + CIFS_ACL y + + WATCHDOG y + WATCHDOG_CORE y + ORION_WATCHDOG m + + ZRAM m + NETCONSOLE m + + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # systemd uses cgroups + CGROUPS y + + # Latencytop + LATENCYTOP y + + # Ubi for the mtd + MTD_UBI y + UBIFS_FS y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + UBIFS_FS_LZO y + UBIFS_FS_ZLIB y + UBIFS_FS_DEBUG n + + # Kdb, for kernel troubles + KGDB y + KGDB_SERIAL_CONSOLE y + KGDB_KDB y + ''; + kernelMakeFlags = [ "LOADADDR=0x0200000" ]; + kernelTarget = "uImage"; + kernelDTB = true; # Beyond 3.10 gcc = { arch = "armv5te"; }; }; raspberrypi = { - linux-kernel = { - name = "raspberrypi"; - - baseConfig = "bcm2835_defconfig"; - DTB = true; - autoModules = true; - preferBuiltin = true; - extraConfig = '' - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - ''; - target = "zImage"; - }; + name = "raspberrypi"; + kernelBaseConfig = "bcm2835_defconfig"; + kernelDTB = true; + kernelArch = "arm"; + kernelAutoModules = true; + kernelPreferBuiltin = true; + kernelExtraConfig = '' + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + ''; + kernelTarget = "zImage"; gcc = { arch = "armv6"; fpu = "vfp"; @@ -201,15 +201,13 @@ rec { raspberrypi2 = armv7l-hf-multiplatform; zero-gravitas = { - linux-kernel = { - name = "zero-gravitas"; - - baseConfig = "zero-gravitas_defconfig"; - # Target verified by checking /boot on reMarkable 1 device - target = "zImage"; - autoModules = false; - DTB = true; - }; + name = "zero-gravitas"; + kernelBaseConfig = "zero-gravitas_defconfig"; + kernelArch = "arm"; + # kernelTarget verified by checking /boot on reMarkable 1 device + kernelTarget = "zImage"; + kernelAutoModules = false; + kernelDTB = true; gcc = { fpu = "neon"; cpu = "cortex-a9"; @@ -217,15 +215,13 @@ rec { }; zero-sugar = { - linux-kernel = { - name = "zero-sugar"; - - baseConfig = "zero-sugar_defconfig"; - DTB = true; - autoModules = false; - preferBuiltin = true; - target = "zImage"; - }; + name = "zero-sugar"; + kernelBaseConfig = "zero-sugar_defconfig"; + kernelArch = "arm"; + kernelDTB = true; + kernelAutoModules = false; + kernelPreferBuiltin = true; + kernelTarget = "zImage"; gcc = { cpu = "cortex-a7"; fpu = "neon-vfpv4"; @@ -233,7 +229,7 @@ rec { }; }; - scaleway-c1 = lib.recursiveUpdate armv7l-hf-multiplatform { + scaleway-c1 = armv7l-hf-multiplatform // { gcc = { cpu = "cortex-a9"; fpu = "vfpv3"; @@ -241,11 +237,12 @@ rec { }; utilite = { - linux-kernel = { - name = "utilite"; - maseConfig = "multi_v7_defconfig"; - autoModules = false; - extraConfig = '' + name = "utilite"; + kernelBaseConfig = "multi_v7_defconfig"; + kernelArch = "arm"; + kernelAutoModules = false; + kernelExtraConfig = + '' # Ubi for the mtd MTD_UBI y UBIFS_FS y @@ -255,37 +252,35 @@ rec { UBIFS_FS_ZLIB y UBIFS_FS_DEBUG n ''; - makeFlags = [ "LOADADDR=0x10800000" ]; - target = "uImage"; - DTB = true; - }; + kernelMakeFlags = [ "LOADADDR=0x10800000" ]; + kernelTarget = "uImage"; + kernelDTB = true; gcc = { cpu = "cortex-a9"; fpu = "neon"; }; }; - guruplug = lib.recursiveUpdate sheevaplug { + guruplug = sheevaplug // { # Define `CONFIG_MACH_GURUPLUG' (see # ) # and other GuruPlug-specific things. Requires the `guruplug-defconfig' # patch. - linux-kernel.baseConfig = "guruplug_defconfig"; + + kernelBaseConfig = "guruplug_defconfig"; }; - beaglebone = lib.recursiveUpdate armv7l-hf-multiplatform { - linux-kernel = { - name = "beaglebone"; - baseConfig = "bb.org_defconfig"; - autoModules = false; - extraConfig = ""; # TBD kernel config - target = "zImage"; - }; + beaglebone = armv7l-hf-multiplatform // { + name = "beaglebone"; + kernelBaseConfig = "bb.org_defconfig"; + kernelAutoModules = false; + kernelExtraConfig = ""; # TBD kernel config + kernelTarget = "zImage"; }; # https://developer.android.com/ndk/guides/abis#v7a - armv7a-android = { - linux-kernel.name = "armeabi-v7a"; + armv7a-android = { + name = "armeabi-v7a"; gcc = { arch = "armv7-a"; float-abi = "softfp"; @@ -294,31 +289,29 @@ rec { }; armv7l-hf-multiplatform = { - linux-kernel = { - name = "armv7l-hf-multiplatform"; - Major = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. - baseConfig = "multi_v7_defconfig"; - DTB = true; - autoModules = true; - PreferBuiltin = true; - target = "zImage"; - extraConfig = '' - # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Fix broken sunxi-sid nvmem driver. - TI_CPTS y - - # Hangs ODROID-XU4 - ARM_BIG_LITTLE_CPUIDLE n - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - ''; - }; + name = "armv7l-hf-multiplatform"; + kernelBaseConfig = "multi_v7_defconfig"; + kernelArch = "arm"; + kernelDTB = true; + kernelAutoModules = true; + kernelPreferBuiltin = true; + kernelTarget = "zImage"; + kernelExtraConfig = '' + # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Fix broken sunxi-sid nvmem driver. + TI_CPTS y + + # Hangs ODROID-XU4 + ARM_BIG_LITTLE_CPUIDLE n + + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + ''; gcc = { # Some table about fpu flags: # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png @@ -343,35 +336,34 @@ rec { }; aarch64-multiplatform = { - linux-kernel = { - name = "aarch64-multiplatform"; - baseConfig = "defconfig"; - DTB = true; - autoModules = true; - preferBuiltin = true; - extraConfig = '' - # Raspberry Pi 3 stuff. Not needed for s >= 4.10. - ARCH_BCM2835 y - BCM2835_MBOX y - BCM2835_WDT y - RASPBERRYPI_FIRMWARE y - RASPBERRYPI_POWER y - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Cavium ThunderX stuff. - PCI_HOST_THUNDER_ECAM y - - # Nvidia Tegra stuff. - PCI_TEGRA y - - # The default (=y) forces us to have the XHCI firmware available in initrd, - # which our initrd builder can't currently do easily. - USB_XHCI_TEGRA m - ''; - target = "Image"; - }; + name = "aarch64-multiplatform"; + kernelBaseConfig = "defconfig"; + kernelArch = "arm64"; + kernelDTB = true; + kernelAutoModules = true; + kernelPreferBuiltin = true; + kernelExtraConfig = '' + # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10. + ARCH_BCM2835 y + BCM2835_MBOX y + BCM2835_WDT y + RASPBERRYPI_FIRMWARE y + RASPBERRYPI_POWER y + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Cavium ThunderX stuff. + PCI_HOST_THUNDER_ECAM y + + # Nvidia Tegra stuff. + PCI_TEGRA y + + # The default (=y) forces us to have the XHCI firmware available in initrd, + # which our initrd builder can't currently do easily. + USB_XHCI_TEGRA m + ''; + kernelTarget = "Image"; gcc = { arch = "armv8-a"; }; @@ -382,9 +374,8 @@ rec { ## ben_nanonote = { - linux-kernel = { - name = "ben_nanonote"; - }; + name = "ben_nanonote"; + kernelArch = "mips"; gcc = { arch = "mips32"; float = "soft"; @@ -392,76 +383,75 @@ rec { }; fuloong2f_n32 = { - linux-kernel = { - name = "fuloong2f_n32"; - baseConfig = "lemote2f_defconfig"; - autoModules = false; - extraConfig = '' - MIGRATION n - COMPACTION n - - # nixos mounts some cgroup - CGROUPS y - - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - IP_PNP y - IP_PNP_DHCP y - IP_PNP_BOOTP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # Needed for udev >= 150 - SYSFS_DEPRECATED_V2 n - - VGA_CONSOLE n - VT_HW_CONSOLE_BINDING y - SERIAL_8250_CONSOLE y - FRAMEBUFFER_CONSOLE y - EXT2_FS y - EXT3_FS y - REISERFS_FS y - MAGIC_SYSRQ y - - # The kernel doesn't boot at all, with FTRACE - FTRACE n - ''; - target = "vmlinux"; - }; + name = "fuloong2f_n32"; + kernelBaseConfig = "lemote2f_defconfig"; + kernelArch = "mips"; + kernelAutoModules = false; + kernelExtraConfig = '' + MIGRATION n + COMPACTION n + + # nixos mounts some cgroup + CGROUPS y + + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + EXT4_FS m + USB_STORAGE_CYPRESS_ATACB m + + IP_PNP y + IP_PNP_DHCP y + IP_PNP_BOOTP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # Needed for udev >= 150 + SYSFS_DEPRECATED_V2 n + + VGA_CONSOLE n + VT_HW_CONSOLE_BINDING y + SERIAL_8250_CONSOLE y + FRAMEBUFFER_CONSOLE y + EXT2_FS y + EXT3_FS y + REISERFS_FS y + MAGIC_SYSRQ y + + # The kernel doesn't boot at all, with FTRACE + FTRACE n + ''; + kernelTarget = "vmlinux"; gcc = { arch = "loongson2f"; float = "hard"; @@ -474,36 +464,34 @@ rec { ## riscv-multiplatform = { - linux-kernel = { - name = "riscv-multiplatform"; - target = "vmlinux"; - autoModules = true; - baseConfig = "defconfig"; - extraConfig = '' - FTRACE n - SERIAL_OF_PLATFORM y - ''; - }; + name = "riscv-multiplatform"; + kernelArch = "riscv"; + kernelTarget = "vmlinux"; + kernelAutoModules = true; + kernelBaseConfig = "defconfig"; + kernelExtraConfig = '' + FTRACE n + SERIAL_OF_PLATFORM y + ''; }; select = platform: # x86 - /**/ if platform.isx86 then pc + /**/ if platform.isx86_32 then pc32 + else if platform.isx86_64 then pc64 # ARM else if platform.isAarch32 then let version = platform.parsed.cpu.version or null; - in if version == null then pc + in if version == null then pcBase else if lib.versionOlder version "6" then sheevaplug else if lib.versionOlder version "7" then raspberrypi else armv7l-hf-multiplatform else if platform.isAarch64 then aarch64-multiplatform - else if platform.isRiscV then riscv-multiplatform - else if platform.parsed.cpu == lib.systems.parse.cpuTypes.mipsel then fuloong2f_n32 else if platform.parsed.cpu == lib.systems.parse.cpuTypes.powerpc64le then powernv - else pc; + else pcBase; } diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index c706cd30fce..94e42369b60 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -603,22 +603,6 @@ http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/e /etc/netgroup defines network-wide groups and may affect to setups using NIS. - - - Platforms, like stdenv.hostPlatform, no longer have a platform attribute. - It has been (mostly) flattoned away: - - - platform.gcc is now gcc - platform.kernel* is now linux-kernel.* - - - Additionally, platform.kernelArch moved to the top level as linuxArch to match the other *Arch variables. - - - The platform grouping of these things never meant anything, and was just a historial/implementation artifact that was overdue removal. - - diff --git a/nixos/modules/hardware/device-tree.nix b/nixos/modules/hardware/device-tree.nix index 4aa1d6369d1..e0ab37bca63 100644 --- a/nixos/modules/hardware/device-tree.nix +++ b/nixos/modules/hardware/device-tree.nix @@ -68,11 +68,11 @@ let patchShebangs scripts/* substituteInPlace scripts/Makefile.lib \ --replace 'DTC_FLAGS += $(DTC_FLAGS_$(basetarget))' 'DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) -@' - make ${pkgs.stdenv.hostPlatform.linux-kernel.baseConfig} ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" - make dtbs ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" + make ${pkgs.stdenv.hostPlatform.platform.kernelBaseConfig} ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" + make dtbs ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" ''; installPhase = '' - make dtbs_install INSTALL_DTBS_PATH=$out/dtbs ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" + make dtbs_install INSTALL_DTBS_PATH=$out/dtbs ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" ''; }; @@ -115,7 +115,7 @@ in options = { hardware.deviceTree = { enable = mkOption { - default = pkgs.stdenv.hostPlatform.linux-kernel.DTB or false; + default = pkgs.stdenv.hostPlatform.platform.kernelDTB or false; type = types.bool; description = '' Build device tree files. These are used to describe the diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix index fa074fdfcc6..95eba86bcb6 100644 --- a/nixos/modules/installer/netboot/netboot.nix +++ b/nixos/modules/installer/netboot/netboot.nix @@ -88,7 +88,7 @@ with lib; system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" '' #!ipxe - kernel ${pkgs.stdenv.hostPlatform.linux-kernel.target} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} + kernel ${pkgs.stdenv.hostPlatform.platform.kernelTarget} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} initrd initrd boot ''; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 64bdbf159d5..0eeff31d6c4 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -587,10 +587,10 @@ in nix.systemFeatures = mkDefault ( [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ - optionals (pkgs.hostPlatform ? gcc.arch) ( - # a builder can run code for `gcc.arch` and inferior architectures - [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++ - map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch} + optionals (pkgs.hostPlatform.platform ? gcc.arch) ( + # a builder can run code for `platform.gcc.arch` and inferior architectures + [ "gccarch-${pkgs.hostPlatform.platform.gcc.arch}" ] ++ + map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.platform.gcc.arch} ) ); diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index b0f77ca3fb8..03d7e749323 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -190,7 +190,7 @@ in system.boot.loader.kernelFile = mkOption { internal = true; - default = pkgs.stdenv.hostPlatform.linux-kernel.target; + default = pkgs.stdenv.hostPlatform.platform.kernelTarget; type = types.str; description = '' Name of the kernel file to be passed to the bootloader. diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix index fee567a510b..2d27611946e 100644 --- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix +++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix @@ -59,7 +59,7 @@ in system.build.installBootLoader = generationsDirBuilder; system.boot.loader.id = "generationsDir"; - system.boot.loader.kernelFile = linux-kernel.target; + system.boot.loader.kernelFile = platform.kernelTarget; }; } diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix index db22dd36cbe..ba936b26573 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix @@ -103,6 +103,6 @@ in system.build.installBootLoader = builder; system.boot.loader.id = "raspberrypi"; - system.boot.loader.kernelFile = linux-kernel.target; + system.boot.loader.kernelFile = platform.kernelTarget; }; } diff --git a/nixos/release.nix b/nixos/release.nix index 109747945f7..1f5c1581269 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -79,7 +79,7 @@ let in tarball // { meta = { - description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.linux-kernel.name}"; + description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.platform.name}"; maintainers = map (x: lib.maintainers.${x}) maintainers; }; inherit config; @@ -105,7 +105,7 @@ let modules = makeModules module {}; }; build = configEvaled.config.system.build; - kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.linux-kernel.target; + kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.platform.kernelTarget; in pkgs.symlinkJoin { name = "netboot"; diff --git a/pkgs/applications/audio/virtual-ans/default.nix b/pkgs/applications/audio/virtual-ans/default.nix index 1cb9c0f18bf..dd7e8b062da 100644 --- a/pkgs/applications/audio/virtual-ans/default.nix +++ b/pkgs/applications/audio/virtual-ans/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { startScript = if stdenv.isx86_32 then "START_LINUX_X86" else if stdenv.isx86_64 then "START_LINUX_X86_64" #else if stdenv.isDarwin then "START_MACOS.app" # disabled because I cannot test on Darwin - else abort "Unsupported platform: ${stdenv.hostPlatform.linuxArch}."; + else abort "Unsupported platform: ${stdenv.platform.kernelArch}."; linuxExecutable = if stdenv.isx86_32 then "pixilang_linux_x86" else if stdenv.isx86_64 then "pixilang_linux_x86_64" diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 848b93a5381..3ad540e5307 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -75,7 +75,7 @@ in CROSVM_CARGO_TEST_KERNEL_BINARY = lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) - "${linux}/${stdenv.hostPlatform.linux-kernel.target}"; + "${linux}/${stdenv.hostPlatform.platform.kernelTarget}"; passthru = { inherit adhdSrc; diff --git a/pkgs/applications/virtualization/vpcs/default.nix b/pkgs/applications/virtualization/vpcs/default.nix index 8c41a1f4c27..33d707a5007 100644 --- a/pkgs/applications/virtualization/vpcs/default.nix +++ b/pkgs/applications/virtualization/vpcs/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildPhase = ''( cd src - ./mk.sh ${stdenv.buildPlatform.linuxArch} + ./mk.sh ${stdenv.buildPlatform.platform.kernelArch} )''; installPhase = '' diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index e0d43739668..bd3ebdf800e 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -190,7 +190,7 @@ stdenv.mkDerivation { else if targetPlatform.isRiscV then "lriscv" else throw "unknown emulation for platform: ${targetPlatform.config}"; in if targetPlatform.useLLVM or false then "" - else targetPlatform.bfdEmulation or (fmt + sep + arch); + else targetPlatform.platform.bfdEmulation or (fmt + sep + arch); strictDeps = true; depsTargetTargetPropagated = extraPackages; diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index faa62cb5b12..d1d5f8e6c86 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -403,31 +403,31 @@ stdenv.mkDerivation { # discrepency (x86_64 vs. x86-64), so we provide an "arch" arg in # that case. + optionalString ((targetPlatform ? platform.gcc.arch) && - isGccArchSupported targetPlatform.gcc.arch) '' - echo "-march=${targetPlatform.gcc.arch}" >> $out/nix-support/cc-cflags-before + isGccArchSupported targetPlatform.platform.gcc.arch) '' + echo "-march=${targetPlatform.platform.gcc.arch}" >> $out/nix-support/cc-cflags-before '' # -mcpu is not very useful. You should use mtune and march # instead. It’s provided here for backwards compatibility. + optionalString (targetPlatform ? platform.gcc.cpu) '' - echo "-mcpu=${targetPlatform.gcc.cpu}" >> $out/nix-support/cc-cflags-before + echo "-mcpu=${targetPlatform.platform.gcc.cpu}" >> $out/nix-support/cc-cflags-before '' # -mfloat-abi only matters on arm32 but we set it here # unconditionally just in case. If the abi specifically sets hard # vs. soft floats we use it here. + optionalString (targetPlatform ? platform.gcc.float-abi) '' - echo "-mfloat-abi=${targetPlatform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before + echo "-mfloat-abi=${targetPlatform.platform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before '' + optionalString (targetPlatform ? platform.gcc.fpu) '' - echo "-mfpu=${targetPlatform.gcc.fpu}" >> $out/nix-support/cc-cflags-before + echo "-mfpu=${targetPlatform.platform.gcc.fpu}" >> $out/nix-support/cc-cflags-before '' + optionalString (targetPlatform ? platform.gcc.mode) '' - echo "-mmode=${targetPlatform.gcc.mode}" >> $out/nix-support/cc-cflags-before + echo "-mmode=${targetPlatform.platform.gcc.mode}" >> $out/nix-support/cc-cflags-before '' + optionalString (targetPlatform ? platform.gcc.tune && - isGccArchSupported targetPlatform.gcc.tune) '' - echo "-mtune=${targetPlatform.gcc.tune}" >> $out/nix-support/cc-cflags-before + isGccArchSupported targetPlatform.platform.gcc.tune) '' + echo "-mtune=${targetPlatform.platform.gcc.tune}" >> $out/nix-support/cc-cflags-before '' # TODO: categorize these and figure out a better place for them diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 9af40d33242..901eb311a88 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -56,13 +56,13 @@ in , prepend ? [] # Whether to wrap the initramfs in a u-boot image. -, makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target == "uImage" +, makeUInitrd ? stdenvNoCC.hostPlatform.platform.kernelTarget == "uImage" # If generating a u-boot image, the architecture to use. The default # guess may not align with u-boot's nomenclature correctly, so it can # be overridden. # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. -, uInitrdArch ? stdenvNoCC.hostPlatform.linuxArch +, uInitrdArch ? stdenvNoCC.hostPlatform.kernelArch # The name of the compression, as recognised by u-boot. # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 215782368f6..5f3c7e1d621 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1,6 +1,6 @@ { pkgs , kernel ? pkgs.linux -, img ? pkgs.stdenv.hostPlatform.linux-kernel.target +, img ? pkgs.stdenv.hostPlatform.platform.kernelTarget , storeDir ? builtins.storeDir , rootModules ? [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ] diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index 66af8c4a4cc..f3cdce41193 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -1,7 +1,7 @@ { lib, targetPlatform }: let - p = targetPlatform.gcc or {} + p = targetPlatform.platform.gcc or {} // targetPlatform.parsed.abi; in lib.concatLists [ (lib.optional (!targetPlatform.isx86_64 && p ? arch) "--with-arch=${p.arch}") # --with-arch= is unknown flag on x86_64 diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix index 78f7c2ef1b9..0325632ad0a 100644 --- a/pkgs/development/compilers/julia/1.0.nix +++ b/pkgs/development/compilers/julia/1.0.nix @@ -123,7 +123,7 @@ stdenv.mkDerivation rec { let arch = stdenv.lib.head (stdenv.lib.splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/compilers/julia/1.3.nix b/pkgs/development/compilers/julia/1.3.nix index 2a270b7c72c..8096af0b320 100644 --- a/pkgs/development/compilers/julia/1.3.nix +++ b/pkgs/development/compilers/julia/1.3.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { let arch = head (splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/compilers/julia/1.5.nix b/pkgs/development/compilers/julia/1.5.nix index 778a9c3a9d7..be3cfc39635 100644 --- a/pkgs/development/compilers/julia/1.5.nix +++ b/pkgs/development/compilers/julia/1.5.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { let arch = head (splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 6637a9bb2a3..6b17e463d76 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -158,7 +158,7 @@ stdenv.mkDerivation ({ "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ (lib.flip lib.withFeature "fp" - (stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) + (stdenv.hostPlatform.platform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) "--with-__thread" ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch32) [ "--host=arm-linux-gnueabi" diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index 1a3f1948f84..e6ab23073b1 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -88,7 +88,7 @@ qtModule { NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit "-Wno-class-memaccess" - ] ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [ + ] ++ lib.optionals (stdenv.hostPlatform.platform.gcc.arch or "" == "sandybridge") [ # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940 # TODO: investigate and fix properly "-march=westmere" diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix index edf556377b3..e333bd49718 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix @@ -73,9 +73,9 @@ let if isLinux then ( - x: x.platform == "manylinux1_${stdenv.hostPlatform.linuxArch}" - || x.platform == "manylinux2010_${stdenv.hostPlatform.linuxArch}" - || x.platform == "manylinux2014_${stdenv.hostPlatform.linuxArch}" + x: x.platform == "manylinux1_${stdenv.platform.kernelArch}" + || x.platform == "manylinux2010_${stdenv.platform.kernelArch}" + || x.platform == "manylinux2014_${stdenv.platform.kernelArch}" || x.platform == "any" ) else (x: hasInfix "macosx" x.platform || x.platform == "any"); diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix index ea2f27b0e22..ba8145398f5 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix @@ -95,7 +95,7 @@ let else if stdenv.isDarwin then "darwin" else throw "Unsupported platform" ); - platform_machine = stdenv.hostPlatform.linuxArch; + platform_machine = stdenv.platform.kernelArch; platform_python_implementation = let impl = python.passthru.implementation; diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index ccea8ee4553..5308149c26b 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -60,17 +60,18 @@ in configureFlags = let isCross = stdenv.hostPlatform != stdenv.buildPlatform; - inherit (stdenv.hostPlatform) gcc isArch32; + host = stdenv.hostPlatform.platform; + isAarch32 = stdenv.hostPlatform.isAarch32; in sharedConfigureFlags ++ [ "--without-dtrace" ] ++ (optionals isCross [ "--cross-compiling" "--without-intl" "--without-snapshot" - ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" gcc) [ - "--with-arm-fpu=${gcc.fpu}" - ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" gcc) [ - "--with-arm-float-abi=${gcc.float-abi}" + ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" host.gcc) [ + "--with-arm-fpu=${host.gcc.fpu}" + ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" host.gcc) [ + "--with-arm-float-abi=${host.gcc.float-abi}" ]) ++ (optionals (isCross && isAarch32) [ "--dest-cpu=arm" ]) ++ extraConfigFlags; diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix index 958bcdb9f16..88792346d70 100644 --- a/pkgs/os-specific/linux/exfat/default.nix +++ b/pkgs/os-specific/linux/exfat/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "ARCH=${stdenv.hostPlatform.linuxArch}" + "ARCH=${stdenv.hostPlatform.platform.kernelArch}" ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index d6ed7bccba3..cadf65a7220 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -7,7 +7,7 @@ let pname = "linux-headers"; inherit version; - ARCH = stdenvNoCC.hostPlatform.linuxArch; + ARCH = stdenvNoCC.hostPlatform.platform.kernelArch or stdenvNoCC.hostPlatform.kernelArch; # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. # We do this so we have a build->build, not build->host, C compiler. diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index ac9d6fbb2b5..31a90dc740f 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -42,7 +42,7 @@ # symbolic name and `patch' is the actual patch. The patch may # optionally be compressed with gzip or bzip2. kernelPatches ? [] -, ignoreConfigErrors ? stdenv.hostPlatform.linux-kernel.name != "pc" || +, ignoreConfigErrors ? stdenv.hostPlatform.platform.name != "pc" || stdenv.hostPlatform != stdenv.buildPlatform , extraMeta ? {} @@ -51,10 +51,10 @@ , isLibre ? false , isHardened ? false -# easy overrides to stdenv.hostPlatform.linux-kernel members -, autoModules ? stdenv.hostPlatform.linux-kernel.autoModules -, preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false -, kernelArch ? stdenv.hostPlatform.linuxArch +# easy overrides to stdenv.hostPlatform.platform members +, autoModules ? stdenv.hostPlatform.platform.kernelAutoModules +, preferBuiltin ? stdenv.hostPlatform.platform.kernelPreferBuiltin or false +, kernelArch ? stdenv.hostPlatform.platform.kernelArch , ... }: @@ -87,7 +87,7 @@ let intermediateNixConfig = configfile.moduleStructuredConfig.intermediateNixConfig # extra config in legacy string format + extraConfig - + stdenv.hostPlatform.linux-kernel.extraConfig or ""; + + lib.optionalString (stdenv.hostPlatform.platform ? kernelExtraConfig) stdenv.hostPlatform.platform.kernelExtraConfig; structuredConfigFromPatches = map ({extraStructuredConfig ? {}, ...}: {settings=extraStructuredConfig;}) kernelPatches; @@ -113,11 +113,11 @@ let nativeBuildInputs = [ perl gmp libmpc mpfr ] ++ lib.optionals (lib.versionAtLeast version "4.16") [ bison flex ]; - platformName = stdenv.hostPlatform.linux-kernel.name; + platformName = stdenv.hostPlatform.platform.name; # e.g. "defconfig" - kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig; + kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.platform.kernelBaseConfig; # e.g. "bzImage" - kernelTarget = stdenv.hostPlatform.linux-kernel.target; + kernelTarget = stdenv.hostPlatform.platform.kernelTarget; prePatch = kernel.prePatch + '' # Patch kconfig to print "###" after every question so that diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 2fc63322f5b..67016b71918 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -64,10 +64,10 @@ let commonMakeFlags = [ "O=$(buildRoot)" - ] ++ lib.optionals (stdenv.hostPlatform.linux-kernel ? makeFlags) - stdenv.hostPlatform.linux-kernel.makeFlags; + ] ++ lib.optionals (stdenv.hostPlatform.platform ? kernelMakeFlags) + stdenv.hostPlatform.platform.kernelMakeFlags; - drvAttrs = config_: kernelConf: kernelPatches: configfile: + drvAttrs = config_: platform: kernelPatches: configfile: let config = let attrName = attr: "CONFIG_" + attr; in { isSet = attr: hasAttr (attrName attr) config; @@ -171,7 +171,7 @@ let buildFlags = [ "KBUILD_BUILD_VERSION=1-NixOS" - kernelConf.target + platform.kernelTarget "vmlinux" # for "perf" and things like that ] ++ optional isModular "modules"; @@ -186,16 +186,16 @@ let ''; # Some image types need special install targets (e.g. uImage is installed with make uinstall) - installTargets = [ - (kernelConf.installTarget or ( - /**/ if kernelConf.target == "uImage" then "uinstall" - else if kernelConf.target == "zImage" || kernelConf.target == "Image.gz" then "zinstall" - else "install")) - ]; + installTargets = [ ( + if platform ? kernelInstallTarget then platform.kernelInstallTarget + else if platform.kernelTarget == "uImage" then "uinstall" + else if platform.kernelTarget == "zImage" || platform.kernelTarget == "Image.gz" then "zinstall" + else "install" + ) ]; postInstall = (optionalString installsFirmware '' mkdir -p $out/lib/firmware - '') + (if (kernelConf.DTB or false) then '' + '') + (if (platform ? kernelDTB && platform.kernelDTB) then '' make $makeFlags "''${makeFlagsArray[@]}" dtbs dtbs_install INSTALL_DTBS_PATH=$out/dtbs '' else "") + (if isModular then '' mkdir -p $dev @@ -300,7 +300,7 @@ in assert (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") -> libelf != null; assert lib.versionAtLeast version "5.8" -> elfutils != null; -stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile) // { +stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches configfile) // { pname = "linux"; inherit version; @@ -308,7 +308,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPat depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr gawk zstd ] - ++ optional (stdenv.hostPlatform.linux-kernel.target == "uImage") buildPackages.ubootTools + ++ optional (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools ++ optional (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") libelf # Removed util-linuxMinimal since it should not be a dependency. ++ optionals (lib.versionAtLeast version "4.16") [ bison flex ] @@ -322,10 +322,10 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPat makeFlags = commonMakeFlags ++ [ "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" - "ARCH=${stdenv.hostPlatform.linuxArch}" + "ARCH=${stdenv.hostPlatform.platform.kernelArch}" ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; - karch = stdenv.hostPlatform.linuxArch; + karch = stdenv.hostPlatform.platform.kernelArch; }) diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index dc96f3b6a62..65ab71bd562 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" "stackprotector" ]; makeFlags = commonMakeFlags ++ [ - "KLIBCARCH=${stdenv.hostPlatform.linuxArch}" + "KLIBCARCH=${stdenv.hostPlatform.platform.kernelArch}" "KLIBCKERNELSRC=${linuxHeaders}" ] # TODO(@Ericson2314): We now can get the ABI from # `stdenv.hostPlatform.parsed.abi`, is this still a good idea? - ++ lib.optional (stdenv.hostPlatform.linuxArch == "arm") "CONFIG_AEABI=y" + ++ lib.optional (stdenv.hostPlatform.platform.kernelArch == "arm") "CONFIG_AEABI=y" ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; # Install static binaries as well. diff --git a/pkgs/os-specific/linux/rtl8723bs/default.nix b/pkgs/os-specific/linux/rtl8723bs/default.nix index a862b351716..056fd40d252 100644 --- a/pkgs/os-specific/linux/rtl8723bs/default.nix +++ b/pkgs/os-specific/linux/rtl8723bs/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ nukeReferences ]; makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" # Normally not needed, but the Makefile sets ARCH in a broken way. + "ARCH=${stdenv.hostPlatform.platform.kernelArch}" # Normally not needed, but the Makefile sets ARCH in a broken way. "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" # Makefile uses $(uname -r); breaks us. ]; diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index 68a88fb6778..aeed87d3c19 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "ARCH=${stdenv.hostPlatform.linuxArch}" + "ARCH=${stdenv.hostPlatform.platform.kernelArch}" "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n")) ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n")) diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index 7508e1faf15..7c95a98372d 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation { cat << EOF | parseconfig ${nixConfig} ${extraConfig} - ${stdenv.hostPlatform.uclibc.extraConfig or ""} + ${stdenv.hostPlatform.platform.uclibc.extraConfig or ""} EOF ( set +o pipefail; yes "" | make oldconfig ) ''; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index e8ccd02c041..0eb799e4525 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -279,7 +279,7 @@ in rec { } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) { NIX_HARDENING_ENABLE = enabledHardeningOptions; } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? platform.gcc.arch) { - requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.gcc.arch}" ]; + requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.platform.gcc.arch}" ]; } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) { inherit __darwinAllowLocalNetworking; # TODO: remove lib.unique once nix has a list canonicalization primitive diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ed9f3047969..bd86fed4cb2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19291,7 +19291,7 @@ in buildPhase = '' set -x make \ - ARCH=${stdenv.hostPlatform.linuxArch} \ + ARCH=${stdenv.hostPlatform.kernelArch} \ HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ ${makeTarget} ''; -- cgit 1.4.1 From 9c213398b312e0f0bb9cdf05090fd20223a82ad0 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 22 Jan 2021 20:33:55 -0500 Subject: lib: Clean up how linux and gcc config is specified Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that commit for details. This reverts commit 0bc275e63423456d6deb650e146120c39c1e0723. --- lib/systems/architectures.nix | 2 +- lib/systems/default.nix | 19 +- lib/systems/examples.nix | 48 +- lib/systems/platforms.nix | 670 +++++++++++---------- nixos/doc/manual/release-notes/rl-2103.xml | 16 + nixos/modules/hardware/device-tree.nix | 8 +- nixos/modules/installer/netboot/netboot.nix | 2 +- nixos/modules/services/misc/nix-daemon.nix | 8 +- nixos/modules/system/activation/top-level.nix | 2 +- .../loader/generations-dir/generations-dir.nix | 2 +- .../system/boot/loader/raspberrypi/raspberrypi.nix | 2 +- nixos/release.nix | 4 +- pkgs/applications/audio/virtual-ans/default.nix | 2 +- .../applications/virtualization/crosvm/default.nix | 2 +- pkgs/applications/virtualization/vpcs/default.nix | 2 +- pkgs/build-support/bintools-wrapper/default.nix | 2 +- pkgs/build-support/cc-wrapper/default.nix | 28 +- pkgs/build-support/kernel/make-initrd.nix | 4 +- pkgs/build-support/vm/default.nix | 2 +- .../compilers/gcc/common/platform-flags.nix | 2 +- pkgs/development/compilers/julia/1.0.nix | 2 +- pkgs/development/compilers/julia/1.3.nix | 2 +- pkgs/development/compilers/julia/1.5.nix | 2 +- pkgs/development/libraries/glibc/common.nix | 2 +- .../libraries/qt-5/modules/qtwebengine.nix | 2 +- .../tools/poetry2nix/poetry2nix/pep425.nix | 6 +- .../tools/poetry2nix/poetry2nix/pep508.nix | 2 +- pkgs/development/web/nodejs/nodejs.nix | 11 +- pkgs/os-specific/linux/exfat/default.nix | 2 +- pkgs/os-specific/linux/kernel-headers/default.nix | 2 +- pkgs/os-specific/linux/kernel/generic.nix | 18 +- pkgs/os-specific/linux/kernel/manual-config.nix | 30 +- pkgs/os-specific/linux/klibc/default.nix | 4 +- pkgs/os-specific/linux/rtl8723bs/default.nix | 2 +- pkgs/os-specific/linux/rtl8812au/default.nix | 2 +- pkgs/os-specific/linux/uclibc/default.nix | 2 +- pkgs/stdenv/generic/make-derivation.nix | 4 +- pkgs/top-level/all-packages.nix | 2 +- 38 files changed, 465 insertions(+), 459 deletions(-) (limited to 'nixos/modules/installer') diff --git a/lib/systems/architectures.nix b/lib/systems/architectures.nix index 8e3a56b0d7c..ddc320d24e0 100644 --- a/lib/systems/architectures.nix +++ b/lib/systems/architectures.nix @@ -1,7 +1,7 @@ { lib }: rec { - # platform.gcc.arch to its features (as in /proc/cpuinfo) + # gcc.arch to its features (as in /proc/cpuinfo) features = { default = [ ]; # x86_64 Intel diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 4edcbeb36f1..1a89120e2bf 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -24,8 +24,6 @@ rec { # Either of these can be losslessly-extracted from `parsed` iff parsing succeeds. system = parse.doubleFromSystem final.parsed; config = parse.tripleFromSystem final.parsed; - # Just a guess, based on `system` - platform = platforms.select final; # Determine whether we are compatible with the provided CPU isCompatible = platform: parse.isCompatible final.parsed.cpu platform.parsed.cpu; # Derived meta-data @@ -79,11 +77,20 @@ rec { }; isStatic = final.isWasm || final.isRedox; - kernelArch = + # Just a guess, based on `system` + inherit + ({ + linux-kernel = args.linux-kernel or {}; + gcc = args.gcc or {}; + rustc = args.rust or {}; + } // platforms.select final) + linux-kernel gcc rustc; + + linuxArch = if final.isAarch32 then "arm" else if final.isAarch64 then "arm64" - else if final.isx86_32 then "x86" - else if final.isx86_64 then "x86" + else if final.isx86_32 then "i386" + else if final.isx86_64 then "x86_64" else if final.isMips then "mips" else final.parsed.cpu.name; @@ -129,7 +136,7 @@ rec { else throw "Don't know how to run ${final.config} executables."; } // mapAttrs (n: v: v final.parsed) inspect.predicates - // mapAttrs (n: v: v final.platform.gcc.arch or "default") architectures.predicates + // mapAttrs (n: v: v final.gcc.arch or "default") architectures.predicates // args; in assert final.useAndroidPrebuilt -> final.isAndroid; assert lib.foldl diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix index 16002450f2d..de12e0b83c1 100644 --- a/lib/systems/examples.nix +++ b/lib/systems/examples.nix @@ -7,7 +7,6 @@ let riscv = bits: { config = "riscv${bits}-unknown-linux-gnu"; - platform = platforms.riscv-multiplatform; }; in @@ -17,84 +16,68 @@ rec { # powernv = { config = "powerpc64le-unknown-linux-gnu"; - platform = platforms.powernv; }; musl-power = { config = "powerpc64le-unknown-linux-musl"; - platform = platforms.powernv; }; sheevaplug = { config = "armv5tel-unknown-linux-gnueabi"; - platform = platforms.sheevaplug; - }; + } // platforms.sheevaplug; raspberryPi = { config = "armv6l-unknown-linux-gnueabihf"; - platform = platforms.raspberrypi; - }; + } // platforms.raspberrypi; remarkable1 = { config = "armv7l-unknown-linux-gnueabihf"; - platform = platforms.zero-gravitas; - }; + } // platforms.zero-gravitas; remarkable2 = { config = "armv7l-unknown-linux-gnueabihf"; - platform = platforms.zero-sugar; - }; + } // platforms.zero-sugar; armv7l-hf-multiplatform = { config = "armv7l-unknown-linux-gnueabihf"; - platform = platforms.armv7l-hf-multiplatform; }; aarch64-multiplatform = { config = "aarch64-unknown-linux-gnu"; - platform = platforms.aarch64-multiplatform; }; armv7a-android-prebuilt = { config = "armv7a-unknown-linux-androideabi"; sdkVer = "29"; ndkVer = "21"; - platform = platforms.armv7a-android; useAndroidPrebuilt = true; - }; + } // platforms.armv7a-android; aarch64-android-prebuilt = { config = "aarch64-unknown-linux-android"; sdkVer = "29"; ndkVer = "21"; - platform = platforms.aarch64-multiplatform; useAndroidPrebuilt = true; }; - scaleway-c1 = armv7l-hf-multiplatform // rec { - platform = platforms.scaleway-c1; - inherit (platform.gcc) fpu; - }; + scaleway-c1 = armv7l-hf-multiplatform // platforms.scaleway-c1; pogoplug4 = { config = "armv5tel-unknown-linux-gnueabi"; - platform = platforms.pogoplug4; - }; + } // platforms.pogoplug4; ben-nanonote = { config = "mipsel-unknown-linux-uclibc"; - platform = platforms.ben_nanonote; - }; + } // platforms.ben_nanonote; fuloongminipc = { config = "mipsel-unknown-linux-gnu"; - platform = platforms.fuloong2f_n32; - }; + } // platforms.fuloong2f_n32; muslpi = raspberryPi // { config = "armv6l-unknown-linux-musleabihf"; }; - aarch64-multiplatform-musl = aarch64-multiplatform // { + aarch64-multiplatform-musl = { config = "aarch64-unknown-linux-musl"; }; @@ -110,13 +93,11 @@ rec { riscv64-embedded = { config = "riscv64-none-elf"; libc = "newlib"; - platform = platforms.riscv-multiplatform; }; riscv32-embedded = { config = "riscv32-none-elf"; libc = "newlib"; - platform = platforms.riscv-multiplatform; }; mmix = { @@ -136,13 +117,11 @@ rec { vc4 = { config = "vc4-elf"; libc = "newlib"; - platform = {}; }; or1k = { config = "or1k-elf"; libc = "newlib"; - platform = {}; }; arm-embedded = { @@ -204,7 +183,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneOS"; useiOSPrebuilt = true; - platform = {}; }; iphone32 = { @@ -214,7 +192,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneOS"; useiOSPrebuilt = true; - platform = {}; }; iphone64-simulator = { @@ -224,7 +201,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneSimulator"; useiOSPrebuilt = true; - platform = {}; }; iphone32-simulator = { @@ -234,7 +210,6 @@ rec { xcodeVer = "11.3.1"; xcodePlatform = "iPhoneSimulator"; useiOSPrebuilt = true; - platform = {}; }; # @@ -245,7 +220,6 @@ rec { mingw32 = { config = "i686-w64-mingw32"; libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain - platform = {}; }; # 64 bit mingw-w64 @@ -253,7 +227,6 @@ rec { # That's the triplet they use in the mingw-w64 docs. config = "x86_64-w64-mingw32"; libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain - platform = {}; }; # BSDs @@ -275,6 +248,5 @@ rec { # Ghcjs ghcjs = { config = "js-unknown-ghcjs"; - platform = {}; }; } diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index e869de488c1..f399c1873f5 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -1,39 +1,36 @@ { lib }: rec { - pcBase = { - name = "pc"; - kernelBaseConfig = "defconfig"; - # Build whatever possible as a module, if not stated in the extra config. - kernelAutoModules = true; - kernelTarget = "bzImage"; - }; - - pc64 = pcBase // { kernelArch = "x86_64"; }; - - pc32 = pcBase // { kernelArch = "i386"; }; - - pc32_simplekernel = pc32 // { - kernelAutoModules = false; + pc = { + linux-kernel = { + name = "pc"; + + baseConfig = "defconfig"; + # Build whatever possible as a module, if not stated in the extra config. + autoModules = true; + target = "bzImage"; + }; }; - pc64_simplekernel = pc64 // { - kernelAutoModules = false; + pc_simplekernel = lib.recursiveUpdate pc { + linux-kernel.autoModules = false; }; powernv = { - name = "PowerNV"; - kernelArch = "powerpc"; - kernelBaseConfig = "powernv_defconfig"; - kernelTarget = "zImage"; - kernelInstallTarget = "install"; - kernelFile = "vmlinux"; - kernelAutoModules = true; - # avoid driver/FS trouble arising from unusual page size - kernelExtraConfig = '' - PPC_64K_PAGES n - PPC_4K_PAGES y - IPV6 y - ''; + linux-kernel = { + name = "PowerNV"; + + baseConfig = "powernv_defconfig"; + target = "zImage"; + installTarget = "install"; + file = "vmlinux"; + autoModules = true; + # avoid driver/FS trouble arising from unusual page size + extraConfig = '' + PPC_64K_PAGES n + PPC_4K_PAGES y + IPV6 y + ''; + }; }; ## @@ -41,17 +38,121 @@ rec { ## pogoplug4 = { - name = "pogoplug4"; + linux-kernel = { + name = "pogoplug4"; + baseConfig = "multi_v5_defconfig"; + autoModules = false; + extraConfig = '' + # Ubi for the mtd + MTD_UBI y + UBIFS_FS y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + UBIFS_FS_LZO y + UBIFS_FS_ZLIB y + UBIFS_FS_DEBUG n + ''; + makeFlags = [ "LOADADDR=0x8000" ]; + target = "uImage"; + # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working + #DTB = true; + }; gcc = { arch = "armv5te"; }; + }; + + sheevaplug = { + linux-kernel = { + name = "sheevaplug"; + + baseConfig = "multi_v5_defconfig"; + autoModules = false; + extraConfig = '' + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + BTRFS_FS m + XFS_FS m + JFS_FS m + EXT4_FS m + USB_STORAGE_CYPRESS_ATACB m + + # mv cesa requires this sw fallback, for mv-sha1 + CRYPTO_SHA1 y + # Fast crypto + CRYPTO_TWOFISH y + CRYPTO_TWOFISH_COMMON y + CRYPTO_BLOWFISH y + CRYPTO_BLOWFISH_COMMON y + + IP_PNP y + IP_PNP_DHCP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + NETFILTER y + IP_NF_IPTABLES y + IP_NF_FILTER y + IP_NF_MATCH_ADDRTYPE y + IP_NF_TARGET_LOG y + IP_NF_MANGLE y + IPV6 m + VLAN_8021Q m + + CIFS y + CIFS_XATTR y + CIFS_POSIX y + CIFS_FSCACHE y + CIFS_ACL y + + WATCHDOG y + WATCHDOG_CORE y + ORION_WATCHDOG m + + ZRAM m + NETCONSOLE m + + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # systemd uses cgroups + CGROUPS y + + # Latencytop + LATENCYTOP y - kernelBaseConfig = "multi_v5_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = - '' # Ubi for the mtd MTD_UBI y UBIFS_FS y @@ -60,137 +161,36 @@ rec { UBIFS_FS_LZO y UBIFS_FS_ZLIB y UBIFS_FS_DEBUG n - ''; - kernelMakeFlags = [ "LOADADDR=0x8000" ]; - kernelTarget = "uImage"; - # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working - #kernelDTB = true; - }; - sheevaplug = { - name = "sheevaplug"; - kernelBaseConfig = "multi_v5_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = '' - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - BTRFS_FS m - XFS_FS m - JFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - # mv cesa requires this sw fallback, for mv-sha1 - CRYPTO_SHA1 y - # Fast crypto - CRYPTO_TWOFISH y - CRYPTO_TWOFISH_COMMON y - CRYPTO_BLOWFISH y - CRYPTO_BLOWFISH_COMMON y - - IP_PNP y - IP_PNP_DHCP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - NETFILTER y - IP_NF_IPTABLES y - IP_NF_FILTER y - IP_NF_MATCH_ADDRTYPE y - IP_NF_TARGET_LOG y - IP_NF_MANGLE y - IPV6 m - VLAN_8021Q m - - CIFS y - CIFS_XATTR y - CIFS_POSIX y - CIFS_FSCACHE y - CIFS_ACL y - - WATCHDOG y - WATCHDOG_CORE y - ORION_WATCHDOG m - - ZRAM m - NETCONSOLE m - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # systemd uses cgroups - CGROUPS y - - # Latencytop - LATENCYTOP y - - # Ubi for the mtd - MTD_UBI y - UBIFS_FS y - UBIFS_FS_XATTR y - UBIFS_FS_ADVANCED_COMPR y - UBIFS_FS_LZO y - UBIFS_FS_ZLIB y - UBIFS_FS_DEBUG n - - # Kdb, for kernel troubles - KGDB y - KGDB_SERIAL_CONSOLE y - KGDB_KDB y - ''; - kernelMakeFlags = [ "LOADADDR=0x0200000" ]; - kernelTarget = "uImage"; - kernelDTB = true; # Beyond 3.10 + # Kdb, for kernel troubles + KGDB y + KGDB_SERIAL_CONSOLE y + KGDB_KDB y + ''; + makeFlags = [ "LOADADDR=0x0200000" ]; + target = "uImage"; + DTB = true; # Beyond 3.10 + }; gcc = { arch = "armv5te"; }; }; raspberrypi = { - name = "raspberrypi"; - kernelBaseConfig = "bcm2835_defconfig"; - kernelDTB = true; - kernelArch = "arm"; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelExtraConfig = '' - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - ''; - kernelTarget = "zImage"; + linux-kernel = { + name = "raspberrypi"; + + baseConfig = "bcm2835_defconfig"; + DTB = true; + autoModules = true; + preferBuiltin = true; + extraConfig = '' + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + ''; + target = "zImage"; + }; gcc = { arch = "armv6"; fpu = "vfp"; @@ -201,13 +201,15 @@ rec { raspberrypi2 = armv7l-hf-multiplatform; zero-gravitas = { - name = "zero-gravitas"; - kernelBaseConfig = "zero-gravitas_defconfig"; - kernelArch = "arm"; - # kernelTarget verified by checking /boot on reMarkable 1 device - kernelTarget = "zImage"; - kernelAutoModules = false; - kernelDTB = true; + linux-kernel = { + name = "zero-gravitas"; + + baseConfig = "zero-gravitas_defconfig"; + # Target verified by checking /boot on reMarkable 1 device + target = "zImage"; + autoModules = false; + DTB = true; + }; gcc = { fpu = "neon"; cpu = "cortex-a9"; @@ -215,13 +217,15 @@ rec { }; zero-sugar = { - name = "zero-sugar"; - kernelBaseConfig = "zero-sugar_defconfig"; - kernelArch = "arm"; - kernelDTB = true; - kernelAutoModules = false; - kernelPreferBuiltin = true; - kernelTarget = "zImage"; + linux-kernel = { + name = "zero-sugar"; + + baseConfig = "zero-sugar_defconfig"; + DTB = true; + autoModules = false; + preferBuiltin = true; + target = "zImage"; + }; gcc = { cpu = "cortex-a7"; fpu = "neon-vfpv4"; @@ -229,7 +233,7 @@ rec { }; }; - scaleway-c1 = armv7l-hf-multiplatform // { + scaleway-c1 = lib.recursiveUpdate armv7l-hf-multiplatform { gcc = { cpu = "cortex-a9"; fpu = "vfpv3"; @@ -237,12 +241,11 @@ rec { }; utilite = { - name = "utilite"; - kernelBaseConfig = "multi_v7_defconfig"; - kernelArch = "arm"; - kernelAutoModules = false; - kernelExtraConfig = - '' + linux-kernel = { + name = "utilite"; + maseConfig = "multi_v7_defconfig"; + autoModules = false; + extraConfig = '' # Ubi for the mtd MTD_UBI y UBIFS_FS y @@ -252,35 +255,37 @@ rec { UBIFS_FS_ZLIB y UBIFS_FS_DEBUG n ''; - kernelMakeFlags = [ "LOADADDR=0x10800000" ]; - kernelTarget = "uImage"; - kernelDTB = true; + makeFlags = [ "LOADADDR=0x10800000" ]; + target = "uImage"; + DTB = true; + }; gcc = { cpu = "cortex-a9"; fpu = "neon"; }; }; - guruplug = sheevaplug // { + guruplug = lib.recursiveUpdate sheevaplug { # Define `CONFIG_MACH_GURUPLUG' (see # ) # and other GuruPlug-specific things. Requires the `guruplug-defconfig' # patch. - - kernelBaseConfig = "guruplug_defconfig"; + linux-kernel.baseConfig = "guruplug_defconfig"; }; - beaglebone = armv7l-hf-multiplatform // { - name = "beaglebone"; - kernelBaseConfig = "bb.org_defconfig"; - kernelAutoModules = false; - kernelExtraConfig = ""; # TBD kernel config - kernelTarget = "zImage"; + beaglebone = lib.recursiveUpdate armv7l-hf-multiplatform { + linux-kernel = { + name = "beaglebone"; + baseConfig = "bb.org_defconfig"; + autoModules = false; + extraConfig = ""; # TBD kernel config + target = "zImage"; + }; }; # https://developer.android.com/ndk/guides/abis#v7a - armv7a-android = { - name = "armeabi-v7a"; + armv7a-android = { + linux-kernel.name = "armeabi-v7a"; gcc = { arch = "armv7-a"; float-abi = "softfp"; @@ -289,29 +294,31 @@ rec { }; armv7l-hf-multiplatform = { - name = "armv7l-hf-multiplatform"; - kernelBaseConfig = "multi_v7_defconfig"; - kernelArch = "arm"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelTarget = "zImage"; - kernelExtraConfig = '' - # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Fix broken sunxi-sid nvmem driver. - TI_CPTS y - - # Hangs ODROID-XU4 - ARM_BIG_LITTLE_CPUIDLE n - - # Disable OABI to have seccomp_filter (required for systemd) - # https://github.com/raspberrypi/firmware/issues/651 - OABI_COMPAT n - ''; + linux-kernel = { + name = "armv7l-hf-multiplatform"; + Major = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. + baseConfig = "multi_v7_defconfig"; + DTB = true; + autoModules = true; + PreferBuiltin = true; + target = "zImage"; + extraConfig = '' + # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig. + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Fix broken sunxi-sid nvmem driver. + TI_CPTS y + + # Hangs ODROID-XU4 + ARM_BIG_LITTLE_CPUIDLE n + + # Disable OABI to have seccomp_filter (required for systemd) + # https://github.com/raspberrypi/firmware/issues/651 + OABI_COMPAT n + ''; + }; gcc = { # Some table about fpu flags: # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png @@ -336,34 +343,35 @@ rec { }; aarch64-multiplatform = { - name = "aarch64-multiplatform"; - kernelBaseConfig = "defconfig"; - kernelArch = "arm64"; - kernelDTB = true; - kernelAutoModules = true; - kernelPreferBuiltin = true; - kernelExtraConfig = '' - # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10. - ARCH_BCM2835 y - BCM2835_MBOX y - BCM2835_WDT y - RASPBERRYPI_FIRMWARE y - RASPBERRYPI_POWER y - SERIAL_8250_BCM2835AUX y - SERIAL_8250_EXTENDED y - SERIAL_8250_SHARE_IRQ y - - # Cavium ThunderX stuff. - PCI_HOST_THUNDER_ECAM y - - # Nvidia Tegra stuff. - PCI_TEGRA y - - # The default (=y) forces us to have the XHCI firmware available in initrd, - # which our initrd builder can't currently do easily. - USB_XHCI_TEGRA m - ''; - kernelTarget = "Image"; + linux-kernel = { + name = "aarch64-multiplatform"; + baseConfig = "defconfig"; + DTB = true; + autoModules = true; + preferBuiltin = true; + extraConfig = '' + # Raspberry Pi 3 stuff. Not needed for s >= 4.10. + ARCH_BCM2835 y + BCM2835_MBOX y + BCM2835_WDT y + RASPBERRYPI_FIRMWARE y + RASPBERRYPI_POWER y + SERIAL_8250_BCM2835AUX y + SERIAL_8250_EXTENDED y + SERIAL_8250_SHARE_IRQ y + + # Cavium ThunderX stuff. + PCI_HOST_THUNDER_ECAM y + + # Nvidia Tegra stuff. + PCI_TEGRA y + + # The default (=y) forces us to have the XHCI firmware available in initrd, + # which our initrd builder can't currently do easily. + USB_XHCI_TEGRA m + ''; + target = "Image"; + }; gcc = { arch = "armv8-a"; }; @@ -374,8 +382,9 @@ rec { ## ben_nanonote = { - name = "ben_nanonote"; - kernelArch = "mips"; + linux-kernel = { + name = "ben_nanonote"; + }; gcc = { arch = "mips32"; float = "soft"; @@ -383,75 +392,76 @@ rec { }; fuloong2f_n32 = { - name = "fuloong2f_n32"; - kernelBaseConfig = "lemote2f_defconfig"; - kernelArch = "mips"; - kernelAutoModules = false; - kernelExtraConfig = '' - MIGRATION n - COMPACTION n - - # nixos mounts some cgroup - CGROUPS y - - BLK_DEV_RAM y - BLK_DEV_INITRD y - BLK_DEV_CRYPTOLOOP m - BLK_DEV_DM m - DM_CRYPT m - MD y - REISERFS_FS m - EXT4_FS m - USB_STORAGE_CYPRESS_ATACB m - - IP_PNP y - IP_PNP_DHCP y - IP_PNP_BOOTP y - NFS_FS y - ROOT_NFS y - TUN m - NFS_V4 y - NFS_V4_1 y - NFS_FSCACHE y - NFSD m - NFSD_V2_ACL y - NFSD_V3 y - NFSD_V3_ACL y - NFSD_V4 y - - # Fail to build - DRM n - SCSI_ADVANSYS n - USB_ISP1362_HCD n - SND_SOC n - SND_ALI5451 n - FB_SAVAGE n - SCSI_NSP32 n - ATA_SFF n - SUNGEM n - IRDA n - ATM_HE n - SCSI_ACARD n - BLK_DEV_CMD640_ENHANCED n - - FUSE_FS m - - # Needed for udev >= 150 - SYSFS_DEPRECATED_V2 n - - VGA_CONSOLE n - VT_HW_CONSOLE_BINDING y - SERIAL_8250_CONSOLE y - FRAMEBUFFER_CONSOLE y - EXT2_FS y - EXT3_FS y - REISERFS_FS y - MAGIC_SYSRQ y - - # The kernel doesn't boot at all, with FTRACE - FTRACE n - ''; - kernelTarget = "vmlinux"; + linux-kernel = { + name = "fuloong2f_n32"; + baseConfig = "lemote2f_defconfig"; + autoModules = false; + extraConfig = '' + MIGRATION n + COMPACTION n + + # nixos mounts some cgroup + CGROUPS y + + BLK_DEV_RAM y + BLK_DEV_INITRD y + BLK_DEV_CRYPTOLOOP m + BLK_DEV_DM m + DM_CRYPT m + MD y + REISERFS_FS m + EXT4_FS m + USB_STORAGE_CYPRESS_ATACB m + + IP_PNP y + IP_PNP_DHCP y + IP_PNP_BOOTP y + NFS_FS y + ROOT_NFS y + TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + + # Fail to build + DRM n + SCSI_ADVANSYS n + USB_ISP1362_HCD n + SND_SOC n + SND_ALI5451 n + FB_SAVAGE n + SCSI_NSP32 n + ATA_SFF n + SUNGEM n + IRDA n + ATM_HE n + SCSI_ACARD n + BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m + + # Needed for udev >= 150 + SYSFS_DEPRECATED_V2 n + + VGA_CONSOLE n + VT_HW_CONSOLE_BINDING y + SERIAL_8250_CONSOLE y + FRAMEBUFFER_CONSOLE y + EXT2_FS y + EXT3_FS y + REISERFS_FS y + MAGIC_SYSRQ y + + # The kernel doesn't boot at all, with FTRACE + FTRACE n + ''; + target = "vmlinux"; + }; gcc = { arch = "loongson2f"; float = "hard"; @@ -464,34 +474,36 @@ rec { ## riscv-multiplatform = { - name = "riscv-multiplatform"; - kernelArch = "riscv"; - kernelTarget = "vmlinux"; - kernelAutoModules = true; - kernelBaseConfig = "defconfig"; - kernelExtraConfig = '' - FTRACE n - SERIAL_OF_PLATFORM y - ''; + linux-kernel = { + name = "riscv-multiplatform"; + target = "vmlinux"; + autoModules = true; + baseConfig = "defconfig"; + extraConfig = '' + FTRACE n + SERIAL_OF_PLATFORM y + ''; + }; }; select = platform: # x86 - /**/ if platform.isx86_32 then pc32 - else if platform.isx86_64 then pc64 + /**/ if platform.isx86 then pc # ARM else if platform.isAarch32 then let version = platform.parsed.cpu.version or null; - in if version == null then pcBase + in if version == null then pc else if lib.versionOlder version "6" then sheevaplug else if lib.versionOlder version "7" then raspberrypi else armv7l-hf-multiplatform else if platform.isAarch64 then aarch64-multiplatform + else if platform.isRiscV then riscv-multiplatform + else if platform.parsed.cpu == lib.systems.parse.cpuTypes.mipsel then fuloong2f_n32 else if platform.parsed.cpu == lib.systems.parse.cpuTypes.powerpc64le then powernv - else pcBase; + else pc; } diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index 94e42369b60..c706cd30fce 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -603,6 +603,22 @@ http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/e /etc/netgroup defines network-wide groups and may affect to setups using NIS. + + + Platforms, like stdenv.hostPlatform, no longer have a platform attribute. + It has been (mostly) flattoned away: + + + platform.gcc is now gcc + platform.kernel* is now linux-kernel.* + + + Additionally, platform.kernelArch moved to the top level as linuxArch to match the other *Arch variables. + + + The platform grouping of these things never meant anything, and was just a historial/implementation artifact that was overdue removal. + + diff --git a/nixos/modules/hardware/device-tree.nix b/nixos/modules/hardware/device-tree.nix index e0ab37bca63..4aa1d6369d1 100644 --- a/nixos/modules/hardware/device-tree.nix +++ b/nixos/modules/hardware/device-tree.nix @@ -68,11 +68,11 @@ let patchShebangs scripts/* substituteInPlace scripts/Makefile.lib \ --replace 'DTC_FLAGS += $(DTC_FLAGS_$(basetarget))' 'DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) -@' - make ${pkgs.stdenv.hostPlatform.platform.kernelBaseConfig} ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" - make dtbs ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" + make ${pkgs.stdenv.hostPlatform.linux-kernel.baseConfig} ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" + make dtbs ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" ''; installPhase = '' - make dtbs_install INSTALL_DTBS_PATH=$out/dtbs ARCH="${pkgs.stdenv.hostPlatform.platform.kernelArch}" + make dtbs_install INSTALL_DTBS_PATH=$out/dtbs ARCH="${pkgs.stdenv.hostPlatform.linuxArch}" ''; }; @@ -115,7 +115,7 @@ in options = { hardware.deviceTree = { enable = mkOption { - default = pkgs.stdenv.hostPlatform.platform.kernelDTB or false; + default = pkgs.stdenv.hostPlatform.linux-kernel.DTB or false; type = types.bool; description = '' Build device tree files. These are used to describe the diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix index 95eba86bcb6..fa074fdfcc6 100644 --- a/nixos/modules/installer/netboot/netboot.nix +++ b/nixos/modules/installer/netboot/netboot.nix @@ -88,7 +88,7 @@ with lib; system.build.netbootIpxeScript = pkgs.writeTextDir "netboot.ipxe" '' #!ipxe - kernel ${pkgs.stdenv.hostPlatform.platform.kernelTarget} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} + kernel ${pkgs.stdenv.hostPlatform.linux-kernel.target} init=${config.system.build.toplevel}/init initrd=initrd ${toString config.boot.kernelParams} initrd initrd boot ''; diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 0eeff31d6c4..64bdbf159d5 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -587,10 +587,10 @@ in nix.systemFeatures = mkDefault ( [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++ - optionals (pkgs.hostPlatform.platform ? gcc.arch) ( - # a builder can run code for `platform.gcc.arch` and inferior architectures - [ "gccarch-${pkgs.hostPlatform.platform.gcc.arch}" ] ++ - map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.platform.gcc.arch} + optionals (pkgs.hostPlatform ? gcc.arch) ( + # a builder can run code for `gcc.arch` and inferior architectures + [ "gccarch-${pkgs.hostPlatform.gcc.arch}" ] ++ + map (x: "gccarch-${x}") lib.systems.architectures.inferiors.${pkgs.hostPlatform.gcc.arch} ) ); diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index 03d7e749323..b0f77ca3fb8 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -190,7 +190,7 @@ in system.boot.loader.kernelFile = mkOption { internal = true; - default = pkgs.stdenv.hostPlatform.platform.kernelTarget; + default = pkgs.stdenv.hostPlatform.linux-kernel.target; type = types.str; description = '' Name of the kernel file to be passed to the bootloader. diff --git a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix index 2d27611946e..fee567a510b 100644 --- a/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix +++ b/nixos/modules/system/boot/loader/generations-dir/generations-dir.nix @@ -59,7 +59,7 @@ in system.build.installBootLoader = generationsDirBuilder; system.boot.loader.id = "generationsDir"; - system.boot.loader.kernelFile = platform.kernelTarget; + system.boot.loader.kernelFile = linux-kernel.target; }; } diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix index ba936b26573..db22dd36cbe 100644 --- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix +++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix @@ -103,6 +103,6 @@ in system.build.installBootLoader = builder; system.boot.loader.id = "raspberrypi"; - system.boot.loader.kernelFile = platform.kernelTarget; + system.boot.loader.kernelFile = linux-kernel.target; }; } diff --git a/nixos/release.nix b/nixos/release.nix index 1f5c1581269..109747945f7 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -79,7 +79,7 @@ let in tarball // { meta = { - description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.platform.name}"; + description = "NixOS system tarball for ${system} - ${stdenv.hostPlatform.linux-kernel.name}"; maintainers = map (x: lib.maintainers.${x}) maintainers; }; inherit config; @@ -105,7 +105,7 @@ let modules = makeModules module {}; }; build = configEvaled.config.system.build; - kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.platform.kernelTarget; + kernelTarget = configEvaled.pkgs.stdenv.hostPlatform.linux-kernel.target; in pkgs.symlinkJoin { name = "netboot"; diff --git a/pkgs/applications/audio/virtual-ans/default.nix b/pkgs/applications/audio/virtual-ans/default.nix index dd7e8b062da..1cb9c0f18bf 100644 --- a/pkgs/applications/audio/virtual-ans/default.nix +++ b/pkgs/applications/audio/virtual-ans/default.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { startScript = if stdenv.isx86_32 then "START_LINUX_X86" else if stdenv.isx86_64 then "START_LINUX_X86_64" #else if stdenv.isDarwin then "START_MACOS.app" # disabled because I cannot test on Darwin - else abort "Unsupported platform: ${stdenv.platform.kernelArch}."; + else abort "Unsupported platform: ${stdenv.hostPlatform.linuxArch}."; linuxExecutable = if stdenv.isx86_32 then "pixilang_linux_x86" else if stdenv.isx86_64 then "pixilang_linux_x86_64" diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 3ad540e5307..848b93a5381 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -75,7 +75,7 @@ in CROSVM_CARGO_TEST_KERNEL_BINARY = lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) - "${linux}/${stdenv.hostPlatform.platform.kernelTarget}"; + "${linux}/${stdenv.hostPlatform.linux-kernel.target}"; passthru = { inherit adhdSrc; diff --git a/pkgs/applications/virtualization/vpcs/default.nix b/pkgs/applications/virtualization/vpcs/default.nix index 33d707a5007..8c41a1f4c27 100644 --- a/pkgs/applications/virtualization/vpcs/default.nix +++ b/pkgs/applications/virtualization/vpcs/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildPhase = ''( cd src - ./mk.sh ${stdenv.buildPlatform.platform.kernelArch} + ./mk.sh ${stdenv.buildPlatform.linuxArch} )''; installPhase = '' diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index bd3ebdf800e..e0d43739668 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -190,7 +190,7 @@ stdenv.mkDerivation { else if targetPlatform.isRiscV then "lriscv" else throw "unknown emulation for platform: ${targetPlatform.config}"; in if targetPlatform.useLLVM or false then "" - else targetPlatform.platform.bfdEmulation or (fmt + sep + arch); + else targetPlatform.bfdEmulation or (fmt + sep + arch); strictDeps = true; depsTargetTargetPropagated = extraPackages; diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix index d1d5f8e6c86..e0153ffc17f 100644 --- a/pkgs/build-support/cc-wrapper/default.nix +++ b/pkgs/build-support/cc-wrapper/default.nix @@ -402,32 +402,32 @@ stdenv.mkDerivation { # Always add -march based on cpu in triple. Sometimes there is a # discrepency (x86_64 vs. x86-64), so we provide an "arch" arg in # that case. - + optionalString ((targetPlatform ? platform.gcc.arch) && - isGccArchSupported targetPlatform.platform.gcc.arch) '' - echo "-march=${targetPlatform.platform.gcc.arch}" >> $out/nix-support/cc-cflags-before + + optionalString ((targetPlatform ? gcc.arch) && + isGccArchSupported targetPlatform.gcc.arch) '' + echo "-march=${targetPlatform.gcc.arch}" >> $out/nix-support/cc-cflags-before '' # -mcpu is not very useful. You should use mtune and march # instead. It’s provided here for backwards compatibility. - + optionalString (targetPlatform ? platform.gcc.cpu) '' - echo "-mcpu=${targetPlatform.platform.gcc.cpu}" >> $out/nix-support/cc-cflags-before + + optionalString (targetPlatform ? gcc.cpu) '' + echo "-mcpu=${targetPlatform.gcc.cpu}" >> $out/nix-support/cc-cflags-before '' # -mfloat-abi only matters on arm32 but we set it here # unconditionally just in case. If the abi specifically sets hard # vs. soft floats we use it here. - + optionalString (targetPlatform ? platform.gcc.float-abi) '' - echo "-mfloat-abi=${targetPlatform.platform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before + + optionalString (targetPlatform ? gcc.float-abi) '' + echo "-mfloat-abi=${targetPlatform.gcc.float-abi}" >> $out/nix-support/cc-cflags-before '' - + optionalString (targetPlatform ? platform.gcc.fpu) '' - echo "-mfpu=${targetPlatform.platform.gcc.fpu}" >> $out/nix-support/cc-cflags-before + + optionalString (targetPlatform ? gcc.fpu) '' + echo "-mfpu=${targetPlatform.gcc.fpu}" >> $out/nix-support/cc-cflags-before '' - + optionalString (targetPlatform ? platform.gcc.mode) '' - echo "-mmode=${targetPlatform.platform.gcc.mode}" >> $out/nix-support/cc-cflags-before + + optionalString (targetPlatform ? gcc.mode) '' + echo "-mmode=${targetPlatform.gcc.mode}" >> $out/nix-support/cc-cflags-before '' - + optionalString (targetPlatform ? platform.gcc.tune && - isGccArchSupported targetPlatform.platform.gcc.tune) '' - echo "-mtune=${targetPlatform.platform.gcc.tune}" >> $out/nix-support/cc-cflags-before + + optionalString (targetPlatform ? gcc.tune && + isGccArchSupported targetPlatform.gcc.tune) '' + echo "-mtune=${targetPlatform.gcc.tune}" >> $out/nix-support/cc-cflags-before '' # TODO: categorize these and figure out a better place for them diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 901eb311a88..9af40d33242 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -56,13 +56,13 @@ in , prepend ? [] # Whether to wrap the initramfs in a u-boot image. -, makeUInitrd ? stdenvNoCC.hostPlatform.platform.kernelTarget == "uImage" +, makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target == "uImage" # If generating a u-boot image, the architecture to use. The default # guess may not align with u-boot's nomenclature correctly, so it can # be overridden. # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list. -, uInitrdArch ? stdenvNoCC.hostPlatform.kernelArch +, uInitrdArch ? stdenvNoCC.hostPlatform.linuxArch # The name of the compression, as recognised by u-boot. # See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list. diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 5f3c7e1d621..215782368f6 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1,6 +1,6 @@ { pkgs , kernel ? pkgs.linux -, img ? pkgs.stdenv.hostPlatform.platform.kernelTarget +, img ? pkgs.stdenv.hostPlatform.linux-kernel.target , storeDir ? builtins.storeDir , rootModules ? [ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ] diff --git a/pkgs/development/compilers/gcc/common/platform-flags.nix b/pkgs/development/compilers/gcc/common/platform-flags.nix index f3cdce41193..66af8c4a4cc 100644 --- a/pkgs/development/compilers/gcc/common/platform-flags.nix +++ b/pkgs/development/compilers/gcc/common/platform-flags.nix @@ -1,7 +1,7 @@ { lib, targetPlatform }: let - p = targetPlatform.platform.gcc or {} + p = targetPlatform.gcc or {} // targetPlatform.parsed.abi; in lib.concatLists [ (lib.optional (!targetPlatform.isx86_64 && p ? arch) "--with-arch=${p.arch}") # --with-arch= is unknown flag on x86_64 diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix index 0325632ad0a..78f7c2ef1b9 100644 --- a/pkgs/development/compilers/julia/1.0.nix +++ b/pkgs/development/compilers/julia/1.0.nix @@ -123,7 +123,7 @@ stdenv.mkDerivation rec { let arch = stdenv.lib.head (stdenv.lib.splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/compilers/julia/1.3.nix b/pkgs/development/compilers/julia/1.3.nix index 8096af0b320..2a270b7c72c 100644 --- a/pkgs/development/compilers/julia/1.3.nix +++ b/pkgs/development/compilers/julia/1.3.nix @@ -73,7 +73,7 @@ stdenv.mkDerivation rec { let arch = head (splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/compilers/julia/1.5.nix b/pkgs/development/compilers/julia/1.5.nix index be3cfc39635..778a9c3a9d7 100644 --- a/pkgs/development/compilers/julia/1.5.nix +++ b/pkgs/development/compilers/julia/1.5.nix @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { let arch = head (splitString "-" stdenv.system); march = { - x86_64 = stdenv.hostPlatform.platform.gcc.arch or "x86-64"; + x86_64 = stdenv.hostPlatform.gcc.arch or "x86-64"; i686 = "pentium4"; aarch64 = "armv8-a"; }.${arch} diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 6b17e463d76..6637a9bb2a3 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -158,7 +158,7 @@ stdenv.mkDerivation ({ "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26 ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ (lib.flip lib.withFeature "fp" - (stdenv.hostPlatform.platform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) + (stdenv.hostPlatform.gcc.float or (stdenv.hostPlatform.parsed.abi.float or "hard") == "soft")) "--with-__thread" ] ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform && stdenv.hostPlatform.isAarch32) [ "--host=arm-linux-gnueabi" diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix index e6ab23073b1..1a3f1948f84 100644 --- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix +++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix @@ -88,7 +88,7 @@ qtModule { NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ # with gcc8, -Wclass-memaccess became part of -Wall and this exceeds the logging limit "-Wno-class-memaccess" - ] ++ lib.optionals (stdenv.hostPlatform.platform.gcc.arch or "" == "sandybridge") [ + ] ++ lib.optionals (stdenv.hostPlatform.gcc.arch or "" == "sandybridge") [ # it fails when compiled with -march=sandybridge https://github.com/NixOS/nixpkgs/pull/59148#discussion_r276696940 # TODO: investigate and fix properly "-march=westmere" diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix index e333bd49718..edf556377b3 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix @@ -73,9 +73,9 @@ let if isLinux then ( - x: x.platform == "manylinux1_${stdenv.platform.kernelArch}" - || x.platform == "manylinux2010_${stdenv.platform.kernelArch}" - || x.platform == "manylinux2014_${stdenv.platform.kernelArch}" + x: x.platform == "manylinux1_${stdenv.hostPlatform.linuxArch}" + || x.platform == "manylinux2010_${stdenv.hostPlatform.linuxArch}" + || x.platform == "manylinux2014_${stdenv.hostPlatform.linuxArch}" || x.platform == "any" ) else (x: hasInfix "macosx" x.platform || x.platform == "any"); diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix index ba8145398f5..ea2f27b0e22 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix @@ -95,7 +95,7 @@ let else if stdenv.isDarwin then "darwin" else throw "Unsupported platform" ); - platform_machine = stdenv.platform.kernelArch; + platform_machine = stdenv.hostPlatform.linuxArch; platform_python_implementation = let impl = python.passthru.implementation; diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix index 5308149c26b..ccea8ee4553 100644 --- a/pkgs/development/web/nodejs/nodejs.nix +++ b/pkgs/development/web/nodejs/nodejs.nix @@ -60,18 +60,17 @@ in configureFlags = let isCross = stdenv.hostPlatform != stdenv.buildPlatform; - host = stdenv.hostPlatform.platform; - isAarch32 = stdenv.hostPlatform.isAarch32; + inherit (stdenv.hostPlatform) gcc isArch32; in sharedConfigureFlags ++ [ "--without-dtrace" ] ++ (optionals isCross [ "--cross-compiling" "--without-intl" "--without-snapshot" - ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" host.gcc) [ - "--with-arm-fpu=${host.gcc.fpu}" - ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" host.gcc) [ - "--with-arm-float-abi=${host.gcc.float-abi}" + ]) ++ (optionals (isCross && isAarch32 && hasAttr "fpu" gcc) [ + "--with-arm-fpu=${gcc.fpu}" + ]) ++ (optionals (isCross && isAarch32 && hasAttr "float-abi" gcc) [ + "--with-arm-float-abi=${gcc.float-abi}" ]) ++ (optionals (isCross && isAarch32) [ "--dest-cpu=arm" ]) ++ extraConfigFlags; diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix index 88792346d70..958bcdb9f16 100644 --- a/pkgs/os-specific/linux/exfat/default.nix +++ b/pkgs/os-specific/linux/exfat/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" + "ARCH=${stdenv.hostPlatform.linuxArch}" ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index cadf65a7220..d6ed7bccba3 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -7,7 +7,7 @@ let pname = "linux-headers"; inherit version; - ARCH = stdenvNoCC.hostPlatform.platform.kernelArch or stdenvNoCC.hostPlatform.kernelArch; + ARCH = stdenvNoCC.hostPlatform.linuxArch; # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc. # We do this so we have a build->build, not build->host, C compiler. diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 31a90dc740f..ac9d6fbb2b5 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -42,7 +42,7 @@ # symbolic name and `patch' is the actual patch. The patch may # optionally be compressed with gzip or bzip2. kernelPatches ? [] -, ignoreConfigErrors ? stdenv.hostPlatform.platform.name != "pc" || +, ignoreConfigErrors ? stdenv.hostPlatform.linux-kernel.name != "pc" || stdenv.hostPlatform != stdenv.buildPlatform , extraMeta ? {} @@ -51,10 +51,10 @@ , isLibre ? false , isHardened ? false -# easy overrides to stdenv.hostPlatform.platform members -, autoModules ? stdenv.hostPlatform.platform.kernelAutoModules -, preferBuiltin ? stdenv.hostPlatform.platform.kernelPreferBuiltin or false -, kernelArch ? stdenv.hostPlatform.platform.kernelArch +# easy overrides to stdenv.hostPlatform.linux-kernel members +, autoModules ? stdenv.hostPlatform.linux-kernel.autoModules +, preferBuiltin ? stdenv.hostPlatform.linux-kernel.preferBuiltin or false +, kernelArch ? stdenv.hostPlatform.linuxArch , ... }: @@ -87,7 +87,7 @@ let intermediateNixConfig = configfile.moduleStructuredConfig.intermediateNixConfig # extra config in legacy string format + extraConfig - + lib.optionalString (stdenv.hostPlatform.platform ? kernelExtraConfig) stdenv.hostPlatform.platform.kernelExtraConfig; + + stdenv.hostPlatform.linux-kernel.extraConfig or ""; structuredConfigFromPatches = map ({extraStructuredConfig ? {}, ...}: {settings=extraStructuredConfig;}) kernelPatches; @@ -113,11 +113,11 @@ let nativeBuildInputs = [ perl gmp libmpc mpfr ] ++ lib.optionals (lib.versionAtLeast version "4.16") [ bison flex ]; - platformName = stdenv.hostPlatform.platform.name; + platformName = stdenv.hostPlatform.linux-kernel.name; # e.g. "defconfig" - kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.platform.kernelBaseConfig; + kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig; # e.g. "bzImage" - kernelTarget = stdenv.hostPlatform.platform.kernelTarget; + kernelTarget = stdenv.hostPlatform.linux-kernel.target; prePatch = kernel.prePatch + '' # Patch kconfig to print "###" after every question so that diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 67016b71918..2fc63322f5b 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -64,10 +64,10 @@ let commonMakeFlags = [ "O=$(buildRoot)" - ] ++ lib.optionals (stdenv.hostPlatform.platform ? kernelMakeFlags) - stdenv.hostPlatform.platform.kernelMakeFlags; + ] ++ lib.optionals (stdenv.hostPlatform.linux-kernel ? makeFlags) + stdenv.hostPlatform.linux-kernel.makeFlags; - drvAttrs = config_: platform: kernelPatches: configfile: + drvAttrs = config_: kernelConf: kernelPatches: configfile: let config = let attrName = attr: "CONFIG_" + attr; in { isSet = attr: hasAttr (attrName attr) config; @@ -171,7 +171,7 @@ let buildFlags = [ "KBUILD_BUILD_VERSION=1-NixOS" - platform.kernelTarget + kernelConf.target "vmlinux" # for "perf" and things like that ] ++ optional isModular "modules"; @@ -186,16 +186,16 @@ let ''; # Some image types need special install targets (e.g. uImage is installed with make uinstall) - installTargets = [ ( - if platform ? kernelInstallTarget then platform.kernelInstallTarget - else if platform.kernelTarget == "uImage" then "uinstall" - else if platform.kernelTarget == "zImage" || platform.kernelTarget == "Image.gz" then "zinstall" - else "install" - ) ]; + installTargets = [ + (kernelConf.installTarget or ( + /**/ if kernelConf.target == "uImage" then "uinstall" + else if kernelConf.target == "zImage" || kernelConf.target == "Image.gz" then "zinstall" + else "install")) + ]; postInstall = (optionalString installsFirmware '' mkdir -p $out/lib/firmware - '') + (if (platform ? kernelDTB && platform.kernelDTB) then '' + '') + (if (kernelConf.DTB or false) then '' make $makeFlags "''${makeFlagsArray[@]}" dtbs dtbs_install INSTALL_DTBS_PATH=$out/dtbs '' else "") + (if isModular then '' mkdir -p $dev @@ -300,7 +300,7 @@ in assert (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") -> libelf != null; assert lib.versionAtLeast version "5.8" -> elfutils != null; -stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches configfile) // { +stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPatches configfile) // { pname = "linux"; inherit version; @@ -308,7 +308,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ perl bc nettools openssl rsync gmp libmpc mpfr gawk zstd ] - ++ optional (stdenv.hostPlatform.platform.kernelTarget == "uImage") buildPackages.ubootTools + ++ optional (stdenv.hostPlatform.linux-kernel.target == "uImage") buildPackages.ubootTools ++ optional (lib.versionAtLeast version "4.14" && lib.versionOlder version "5.8") libelf # Removed util-linuxMinimal since it should not be a dependency. ++ optionals (lib.versionAtLeast version "4.16") [ bison flex ] @@ -322,10 +322,10 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.platform kernelPatches makeFlags = commonMakeFlags ++ [ "CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc" "HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" + "ARCH=${stdenv.hostPlatform.linuxArch}" ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [ "CROSS_COMPILE=${stdenv.cc.targetPrefix}" ]; - karch = stdenv.hostPlatform.platform.kernelArch; + karch = stdenv.hostPlatform.linuxArch; }) diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 65ab71bd562..dc96f3b6a62 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" "stackprotector" ]; makeFlags = commonMakeFlags ++ [ - "KLIBCARCH=${stdenv.hostPlatform.platform.kernelArch}" + "KLIBCARCH=${stdenv.hostPlatform.linuxArch}" "KLIBCKERNELSRC=${linuxHeaders}" ] # TODO(@Ericson2314): We now can get the ABI from # `stdenv.hostPlatform.parsed.abi`, is this still a good idea? - ++ lib.optional (stdenv.hostPlatform.platform.kernelArch == "arm") "CONFIG_AEABI=y" + ++ lib.optional (stdenv.hostPlatform.linuxArch == "arm") "CONFIG_AEABI=y" ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "CROSS_COMPILE=${stdenv.cc.targetPrefix}"; # Install static binaries as well. diff --git a/pkgs/os-specific/linux/rtl8723bs/default.nix b/pkgs/os-specific/linux/rtl8723bs/default.nix index 056fd40d252..a862b351716 100644 --- a/pkgs/os-specific/linux/rtl8723bs/default.nix +++ b/pkgs/os-specific/linux/rtl8723bs/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ nukeReferences ]; makeFlags = [ - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" # Normally not needed, but the Makefile sets ARCH in a broken way. + "ARCH=${stdenv.hostPlatform.linuxArch}" # Normally not needed, but the Makefile sets ARCH in a broken way. "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" # Makefile uses $(uname -r); breaks us. ]; diff --git a/pkgs/os-specific/linux/rtl8812au/default.nix b/pkgs/os-specific/linux/rtl8812au/default.nix index aeed87d3c19..68a88fb6778 100644 --- a/pkgs/os-specific/linux/rtl8812au/default.nix +++ b/pkgs/os-specific/linux/rtl8812au/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; makeFlags = [ - "ARCH=${stdenv.hostPlatform.platform.kernelArch}" + "ARCH=${stdenv.hostPlatform.linuxArch}" "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ("CONFIG_PLATFORM_I386_PC=" + (if (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) then "y" else "n")) ("CONFIG_PLATFORM_ARM_RPI=" + (if (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) then "y" else "n")) diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix index 7c95a98372d..7508e1faf15 100644 --- a/pkgs/os-specific/linux/uclibc/default.nix +++ b/pkgs/os-specific/linux/uclibc/default.nix @@ -68,7 +68,7 @@ stdenv.mkDerivation { cat << EOF | parseconfig ${nixConfig} ${extraConfig} - ${stdenv.hostPlatform.platform.uclibc.extraConfig or ""} + ${stdenv.hostPlatform.uclibc.extraConfig or ""} EOF ( set +o pipefail; yes "" | make oldconfig ) ''; diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 0eb799e4525..28d22a4bb47 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -278,8 +278,8 @@ in rec { enableParallelChecking = attrs.enableParallelChecking or true; } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) { NIX_HARDENING_ENABLE = enabledHardeningOptions; - } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? platform.gcc.arch) { - requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.platform.gcc.arch}" ]; + } // lib.optionalAttrs (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform ? gcc.arch) { + requiredSystemFeatures = attrs.requiredSystemFeatures or [] ++ [ "gccarch-${stdenv.hostPlatform.gcc.arch}" ]; } // lib.optionalAttrs (stdenv.buildPlatform.isDarwin) { inherit __darwinAllowLocalNetworking; # TODO: remove lib.unique once nix has a list canonicalization primitive diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd86fed4cb2..ed9f3047969 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19291,7 +19291,7 @@ in buildPhase = '' set -x make \ - ARCH=${stdenv.hostPlatform.kernelArch} \ + ARCH=${stdenv.hostPlatform.linuxArch} \ HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \ ${makeTarget} ''; -- cgit 1.4.1 From 94f0210e60f08640cf8a6392545b4678ffe44218 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 13 Feb 2021 18:45:27 -0500 Subject: nixos/tools: make desktopConfiguation types.listOf types.lines This fixes #108124. --- nixos/modules/installer/tools/tools.nix | 4 ++-- nixos/modules/services/x11/desktop-managers/gnome3.nix | 4 ++-- nixos/modules/services/x11/desktop-managers/plasma5.nix | 4 ++-- nixos/tests/nixos-generate-config.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index ada5f574856..68c5a686761 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -87,8 +87,8 @@ in desktopConfiguration = mkOption { internal = true; - type = types.str; - default = ""; + type = types.listOf types.lines; + default = []; description = '' Text to preseed the desktop configuration that nixos-generate-config saves to /etc/nixos/configuration.nix. diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 671301246a8..dea45729947 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -197,12 +197,12 @@ in config = mkMerge [ (mkIf (cfg.enable || flashbackEnabled) { # Seed our configuration into nixos-generate-config - system.nixos-generate-config.desktopConfiguration = '' + system.nixos-generate-config.desktopConfiguration = ['' # Enable the GNOME 3 Desktop Environment. services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome3.enable = true; - ''; + '']; services.gnome3.core-os-services.enable = true; services.gnome3.core-shell.enable = true; diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index d6cf86d3a2e..5ca2e69faf0 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -184,12 +184,12 @@ in config = mkMerge [ (mkIf cfg.enable { # Seed our configuration into nixos-generate-config - system.nixos-generate-config.desktopConfiguration = '' + system.nixos-generate-config.desktopConfiguration = ['' # Enable the Plasma 5 Desktop Environment. services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; - ''; + '']; services.xserver.desktopManager.session = singleton { name = "plasma5"; diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix index 5daa55a8abb..316950dcb01 100644 --- a/nixos/tests/nixos-generate-config.nix +++ b/nixos/tests/nixos-generate-config.nix @@ -11,12 +11,12 @@ import ./make-test-python.nix ({ lib, ... } : { } ''; - system.nixos-generate-config.desktopConfiguration = '' + system.nixos-generate-config.desktopConfiguration = ['' # DESKTOP # services.xserver.enable = true; # services.xserver.displayManager.gdm.enable = true; # services.xserver.desktopManager.gnome3.enable = true; - ''; + '']; }; testScript = '' start_all() -- cgit 1.4.1 From 452f7e14d4f4bf41400350917685e2ad98590b28 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sat, 13 Feb 2021 17:42:34 -0500 Subject: nixos/tools: generate an xserver config The desktop configuration won't enable xserver. If there's multiple desktops enabled they will now evaluate properly. --- nixos/modules/installer/tools/nixos-generate-config.pl | 18 ++++++++++++++++++ nixos/modules/installer/tools/tools.nix | 3 +++ nixos/modules/services/x11/desktop-managers/gnome3.nix | 1 - .../modules/services/x11/desktop-managers/plasma5.nix | 1 - nixos/tests/nixos-generate-config.nix | 5 ++--- 5 files changed, 23 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 6e3ddb875e1..7bc55e67134 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -585,6 +585,22 @@ EOF return $config; } +sub generateXserverConfig { + my $xserverEnabled = "@xserverEnabled@"; + + my $config = ""; + if ($xserverEnabled eq "1") { + $config = < Date: Fri, 26 Apr 2019 12:02:11 +0200 Subject: nixos: Get rid of systemConfig kernel parameter It was introduced in c10fe14 but removed in c4f910f. It remained such that people with older generations in their boot entries could still boot those. Given that the parameter hasn't had any use in quite some years, it seems safe to remove now. Fixes #60184 --- nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix | 2 +- nixos/modules/installer/cd-dvd/system-tarball-pc.nix | 4 ++-- nixos/modules/misc/crashdump.nix | 2 +- .../boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh | 2 +- nixos/modules/system/boot/loader/grub/install-grub.pl | 1 - nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix index 8159576a62a..123f487baf9 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-fuloong2f.nix @@ -26,7 +26,7 @@ let # A clue for the kernel loading kernelParams = pkgs.writeText "kernel-params.txt" '' Kernel Parameters: - init=/boot/init systemConfig=/boot/init ${toString config.boot.kernelParams} + init=/boot/init ${toString config.boot.kernelParams} ''; # System wide nixpkgs config diff --git a/nixos/modules/installer/cd-dvd/system-tarball-pc.nix b/nixos/modules/installer/cd-dvd/system-tarball-pc.nix index f2af7dcde3d..a79209d7dfe 100644 --- a/nixos/modules/installer/cd-dvd/system-tarball-pc.nix +++ b/nixos/modules/installer/cd-dvd/system-tarball-pc.nix @@ -23,13 +23,13 @@ let label nixos MENU LABEL ^NixOS using nfsroot KERNEL bzImage - append ip=dhcp nfsroot=/home/pcroot systemConfig=${config.system.build.toplevel} init=${config.system.build.toplevel}/init rw + append ip=dhcp nfsroot=/home/pcroot init=${config.system.build.toplevel}/init rw # I don't know how to make this boot with nfsroot (using the initrd) label nixos_initrd MENU LABEL NixOS booting the poor ^initrd. KERNEL bzImage - append initrd=initrd ip=dhcp nfsroot=/home/pcroot systemConfig=${config.system.build.toplevel} init=${config.system.build.toplevel}/init rw + append initrd=initrd ip=dhcp nfsroot=/home/pcroot init=${config.system.build.toplevel}/init rw label memtest MENU LABEL ^${pkgs.memtest86.name} diff --git a/nixos/modules/misc/crashdump.nix b/nixos/modules/misc/crashdump.nix index 11dec37b3fa..796078d7ef8 100644 --- a/nixos/modules/misc/crashdump.nix +++ b/nixos/modules/misc/crashdump.nix @@ -53,7 +53,7 @@ in ${pkgs.kexectools}/sbin/kexec -p /run/current-system/kernel \ --initrd=/run/current-system/initrd \ --reset-vga --console-vga \ - --command-line="systemConfig=$(readlink -f /run/current-system) init=$(readlink -f /run/current-system/init) irqpoll maxcpus=1 reset_devices ${kernelParams}" + --command-line="init=$(readlink -f /run/current-system/init) irqpoll maxcpus=1 reset_devices ${kernelParams}" ''; kernelParams = [ "crashkernel=${crashdump.reservedMemory}" diff --git a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh index 854684b87fa..5ffffb95edb 100644 --- a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh +++ b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh @@ -109,7 +109,7 @@ addEntry() { exit 1 fi fi - echo " APPEND systemConfig=$path init=$path/init $extraParams" + echo " APPEND init=$path/init $extraParams" } tmpFile="$target/extlinux/extlinux.conf.tmp.$$" diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl index 59f5638044f..7af775f88b4 100644 --- a/nixos/modules/system/boot/loader/grub/install-grub.pl +++ b/nixos/modules/system/boot/loader/grub/install-grub.pl @@ -459,7 +459,6 @@ sub addEntry { # FIXME: $confName my $kernelParams = - "systemConfig=" . Cwd::abs_path($path) . " " . "init=" . Cwd::abs_path("$path/init") . " " . readFile("$path/kernel-params"); my $xenParams = $xen && -e "$path/xen-params" ? readFile("$path/xen-params") : ""; diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py index 97e824fe629..6bee900c683 100644 --- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py +++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py @@ -101,7 +101,7 @@ def write_entry(profile, generation, machine_id): entry_file = "@efiSysMountPoint@/loader/entries/nixos-generation-%d.conf" % (generation) generation_dir = os.readlink(system_dir(profile, generation)) tmp_path = "%s.tmp" % (entry_file) - kernel_params = "systemConfig=%s init=%s/init " % (generation_dir, generation_dir) + kernel_params = "init=%s/init " % generation_dir with open("%s/kernel-params" % (generation_dir)) as params_file: kernel_params = kernel_params + params_file.read() -- cgit 1.4.1 From 3323b0ff0d669bb8b8c0551946a3ecb5f834e913 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Wed, 27 Jan 2021 21:52:22 -0500 Subject: installer: move ./cd-dvd/sd-card* -> ./sd-card/ --- .../cd-dvd/sd-image-aarch64-new-kernel.nix | 7 - .../modules/installer/cd-dvd/sd-image-aarch64.nix | 80 ------- .../cd-dvd/sd-image-armv7l-multiplatform.nix | 57 ----- .../installer/cd-dvd/sd-image-raspberrypi.nix | 46 ---- .../installer/cd-dvd/sd-image-raspberrypi4.nix | 8 - nixos/modules/installer/cd-dvd/sd-image.nix | 245 --------------------- .../sd-card/sd-image-aarch64-new-kernel.nix | 7 + .../modules/installer/sd-card/sd-image-aarch64.nix | 80 +++++++ .../sd-card/sd-image-armv7l-multiplatform.nix | 57 +++++ .../installer/sd-card/sd-image-raspberrypi.nix | 46 ++++ .../installer/sd-card/sd-image-raspberrypi4.nix | 8 + nixos/modules/installer/sd-card/sd-image.nix | 245 +++++++++++++++++++++ 12 files changed, 443 insertions(+), 443 deletions(-) delete mode 100644 nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix delete mode 100644 nixos/modules/installer/cd-dvd/sd-image-aarch64.nix delete mode 100644 nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix delete mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix delete mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix delete mode 100644 nixos/modules/installer/cd-dvd/sd-image.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-aarch64.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix create mode 100644 nixos/modules/installer/sd-card/sd-image.nix (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix deleted file mode 100644 index 2882fbcc730..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs, ... }: - -{ - imports = [ ./sd-image-aarch64.nix ]; - - boot.kernelPackages = pkgs.linuxPackages_latest; -} diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix deleted file mode 100644 index e4ec2d6240d..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ /dev/null @@ -1,80 +0,0 @@ -# To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-aarch64.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: - -{ - imports = [ - ../../profiles/base.nix - ../../profiles/installation-device.nix - ./sd-image.nix - ]; - - boot.loader.grub.enable = false; - boot.loader.generic-extlinux-compatible.enable = true; - - boot.consoleLogLevel = lib.mkDefault 7; - - # The serial ports listed here are: - # - ttyS0: for Tegra (Jetson TX1) - # - ttyAMA0: for QEMU's -machine virt - boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"]; - - boot.initrd.availableKernelModules = [ - # Allows early (earlier) modesetting for the Raspberry Pi - "vc4" "bcm2835_dma" "i2c_bcm2835" - # Allows early (earlier) modesetting for Allwinner SoCs - "sun4i_drm" "sun8i_drm_hdmi" "sun8i_mixer" - ]; - - sdImage = { - populateFirmwareCommands = let - configTxt = pkgs.writeText "config.txt" '' - [pi3] - kernel=u-boot-rpi3.bin - - [pi4] - kernel=u-boot-rpi4.bin - enable_gic=1 - armstub=armstub8-gic.bin - - # Otherwise the resolution will be weird in most cases, compared to - # what the pi3 firmware does by default. - disable_overscan=1 - - [all] - # Boot in 64-bit mode. - arm_64bit=1 - - # U-Boot needs this to work, regardless of whether UART is actually used or not. - # Look in arch/arm/mach-bcm283x/Kconfig in the U-Boot tree to see if this is still - # a requirement in the future. - enable_uart=1 - - # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel - # when attempting to show low-voltage or overtemperature warnings. - avoid_warnings=1 - ''; - in '' - (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) - - # Add the config - cp ${configTxt} firmware/config.txt - - # Add pi3 specific files - cp ${pkgs.ubootRaspberryPi3_64bit}/u-boot.bin firmware/u-boot-rpi3.bin - - # Add pi4 specific files - cp ${pkgs.ubootRaspberryPi4_64bit}/u-boot.bin firmware/u-boot-rpi4.bin - cp ${pkgs.raspberrypi-armstubs}/armstub8-gic.bin firmware/armstub8-gic.bin - cp ${pkgs.raspberrypifw}/share/raspberrypi/boot/bcm2711-rpi-4-b.dtb firmware/ - ''; - populateRootCommands = '' - mkdir -p ./files/boot - ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot - ''; - }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; -} diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix deleted file mode 100644 index d2ba611532e..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ /dev/null @@ -1,57 +0,0 @@ -# To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: - -{ - imports = [ - ../../profiles/base.nix - ../../profiles/installation-device.nix - ./sd-image.nix - ]; - - boot.loader.grub.enable = false; - boot.loader.generic-extlinux-compatible.enable = true; - - boot.consoleLogLevel = lib.mkDefault 7; - boot.kernelPackages = pkgs.linuxPackages_latest; - # The serial ports listed here are: - # - ttyS0: for Tegra (Jetson TK1) - # - ttymxc0: for i.MX6 (Wandboard) - # - ttyAMA0: for Allwinner (pcDuino3 Nano) and QEMU's -machine virt - # - ttyO0: for OMAP (BeagleBone Black) - # - ttySAC2: for Exynos (ODROID-XU3) - boot.kernelParams = ["console=ttyS0,115200n8" "console=ttymxc0,115200n8" "console=ttyAMA0,115200n8" "console=ttyO0,115200n8" "console=ttySAC2,115200n8" "console=tty0"]; - - sdImage = { - populateFirmwareCommands = let - configTxt = pkgs.writeText "config.txt" '' - # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel - # when attempting to show low-voltage or overtemperature warnings. - avoid_warnings=1 - - [pi2] - kernel=u-boot-rpi2.bin - - [pi3] - kernel=u-boot-rpi3.bin - - # U-Boot used to need this to work, regardless of whether UART is actually used or not. - # TODO: check when/if this can be removed. - enable_uart=1 - ''; - in '' - (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) - cp ${pkgs.ubootRaspberryPi2}/u-boot.bin firmware/u-boot-rpi2.bin - cp ${pkgs.ubootRaspberryPi3_32bit}/u-boot.bin firmware/u-boot-rpi3.bin - cp ${configTxt} firmware/config.txt - ''; - populateRootCommands = '' - mkdir -p ./files/boot - ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot - ''; - }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; -} diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix deleted file mode 100644 index 40a01f96177..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ /dev/null @@ -1,46 +0,0 @@ -# To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: - -{ - imports = [ - ../../profiles/base.nix - ../../profiles/installation-device.nix - ./sd-image.nix - ]; - - boot.loader.grub.enable = false; - boot.loader.generic-extlinux-compatible.enable = true; - - boot.consoleLogLevel = lib.mkDefault 7; - boot.kernelPackages = pkgs.linuxPackages_rpi1; - - sdImage = { - populateFirmwareCommands = let - configTxt = pkgs.writeText "config.txt" '' - # Prevent the firmware from smashing the framebuffer setup done by the mainline kernel - # when attempting to show low-voltage or overtemperature warnings. - avoid_warnings=1 - - [pi0] - kernel=u-boot-rpi0.bin - - [pi1] - kernel=u-boot-rpi1.bin - ''; - in '' - (cd ${pkgs.raspberrypifw}/share/raspberrypi/boot && cp bootcode.bin fixup*.dat start*.elf $NIX_BUILD_TOP/firmware/) - cp ${pkgs.ubootRaspberryPiZero}/u-boot.bin firmware/u-boot-rpi0.bin - cp ${pkgs.ubootRaspberryPi}/u-boot.bin firmware/u-boot-rpi1.bin - cp ${configTxt} firmware/config.txt - ''; - populateRootCommands = '' - mkdir -p ./files/boot - ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot - ''; - }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; -} diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix deleted file mode 100644 index 5bdec7de86e..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ /dev/null @@ -1,8 +0,0 @@ -# To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: - -{ - imports = [ ./sd-image-aarch64.nix ]; - boot.kernelPackages = pkgs.linuxPackages_rpi4; -} diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix deleted file mode 100644 index b811ae07eb0..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ /dev/null @@ -1,245 +0,0 @@ -# This module creates a bootable SD card image containing the given NixOS -# configuration. The generated image is MBR partitioned, with a FAT -# /boot/firmware partition, and ext4 root partition. The generated image -# is sized to fit its contents, and a boot script automatically resizes -# the root partition to fit the device on the first boot. -# -# The firmware partition is built with expectation to hold the Raspberry -# Pi firmware and bootloader, and be removed and replaced with a firmware -# build for the target SoC for other board families. -# -# The derivation for the SD image will be placed in -# config.system.build.sdImage - -{ config, lib, pkgs, ... }: - -with lib; - -let - rootfsImage = pkgs.callPackage ../../../lib/make-ext4-fs.nix ({ - inherit (config.sdImage) storePaths; - compressImage = true; - populateImageCommands = config.sdImage.populateRootCommands; - volumeLabel = "NIXOS_SD"; - } // optionalAttrs (config.sdImage.rootPartitionUUID != null) { - uuid = config.sdImage.rootPartitionUUID; - }); -in -{ - imports = [ - (mkRemovedOptionModule [ "sdImage" "bootPartitionID" ] "The FAT partition for SD image now only holds the Raspberry Pi firmware files. Use firmwarePartitionID to configure that partition's ID.") - (mkRemovedOptionModule [ "sdImage" "bootSize" ] "The boot files for SD image have been moved to the main ext4 partition. The FAT partition now only holds the Raspberry Pi firmware files. Changing its size may not be required.") - ]; - - options.sdImage = { - imageName = mkOption { - default = "${config.sdImage.imageBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.img"; - description = '' - Name of the generated image file. - ''; - }; - - imageBaseName = mkOption { - default = "nixos-sd-image"; - description = '' - Prefix of the name of the generated image file. - ''; - }; - - storePaths = mkOption { - type = with types; listOf package; - example = literalExample "[ pkgs.stdenv ]"; - description = '' - Derivations to be included in the Nix store in the generated SD image. - ''; - }; - - firmwarePartitionID = mkOption { - type = types.str; - default = "0x2178694e"; - description = '' - Volume ID for the /boot/firmware partition on the SD card. This value - must be a 32-bit hexadecimal number. - ''; - }; - - firmwarePartitionName = mkOption { - type = types.str; - default = "FIRMWARE"; - description = '' - Name of the filesystem which holds the boot firmware. - ''; - }; - - rootPartitionUUID = mkOption { - type = types.nullOr types.str; - default = null; - example = "14e19a7b-0ae0-484d-9d54-43bd6fdc20c7"; - description = '' - UUID for the filesystem on the main NixOS partition on the SD card. - ''; - }; - - firmwareSize = mkOption { - type = types.int; - # As of 2019-08-18 the Raspberry pi firmware + u-boot takes ~18MiB - default = 30; - description = '' - Size of the /boot/firmware partition, in megabytes. - ''; - }; - - populateFirmwareCommands = mkOption { - example = literalExample "'' cp \${pkgs.myBootLoader}/u-boot.bin firmware/ ''"; - description = '' - Shell commands to populate the ./firmware directory. - All files in that directory are copied to the - /boot/firmware partition on the SD image. - ''; - }; - - populateRootCommands = mkOption { - example = literalExample "''\${config.boot.loader.generic-extlinux-compatible.populateCmd} -c \${config.system.build.toplevel} -d ./files/boot''"; - description = '' - Shell commands to populate the ./files directory. - All files in that directory are copied to the - root (/) partition on the SD image. Use this to - populate the ./files/boot (/boot) directory. - ''; - }; - - postBuildCommands = mkOption { - example = literalExample "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''"; - default = ""; - description = '' - Shell commands to run after the image is built. - Can be used for boards requiring to dd u-boot SPL before actual partitions. - ''; - }; - - compressImage = mkOption { - type = types.bool; - default = true; - description = '' - Whether the SD image should be compressed using - zstd. - ''; - }; - - }; - - config = { - fileSystems = { - "/boot/firmware" = { - device = "/dev/disk/by-label/${config.sdImage.firmwarePartitionName}"; - fsType = "vfat"; - # Alternatively, this could be removed from the configuration. - # The filesystem is not needed at runtime, it could be treated - # as an opaque blob instead of a discrete FAT32 filesystem. - options = [ "nofail" "noauto" ]; - }; - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - }; - }; - - sdImage.storePaths = [ config.system.build.toplevel ]; - - system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, - mtools, libfaketime, util-linux, zstd }: stdenv.mkDerivation { - name = config.sdImage.imageName; - - nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ]; - - inherit (config.sdImage) compressImage; - - buildCommand = '' - mkdir -p $out/nix-support $out/sd-image - export img=$out/sd-image/${config.sdImage.imageName} - - echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system - if test -n "$compressImage"; then - echo "file sd-image $img.zst" >> $out/nix-support/hydra-build-products - else - echo "file sd-image $img" >> $out/nix-support/hydra-build-products - fi - - echo "Decompressing rootfs image" - zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img - - # Gap in front of the first partition, in MiB - gap=8 - - # Create the image file sized to fit /boot/firmware and /, plus slack for the gap. - rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }') - firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512)) - imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024)) - truncate -s $imageSize $img - - # type=b is 'W95 FAT32', type=83 is 'Linux'. - # The "bootable" partition is where u-boot will look file for the bootloader - # information (dtbs, extlinux.conf file). - sfdisk $img <zstd. + ''; + }; + + }; + + config = { + fileSystems = { + "/boot/firmware" = { + device = "/dev/disk/by-label/${config.sdImage.firmwarePartitionName}"; + fsType = "vfat"; + # Alternatively, this could be removed from the configuration. + # The filesystem is not needed at runtime, it could be treated + # as an opaque blob instead of a discrete FAT32 filesystem. + options = [ "nofail" "noauto" ]; + }; + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + }; + }; + + sdImage.storePaths = [ config.system.build.toplevel ]; + + system.build.sdImage = pkgs.callPackage ({ stdenv, dosfstools, e2fsprogs, + mtools, libfaketime, util-linux, zstd }: stdenv.mkDerivation { + name = config.sdImage.imageName; + + nativeBuildInputs = [ dosfstools e2fsprogs mtools libfaketime util-linux zstd ]; + + inherit (config.sdImage) compressImage; + + buildCommand = '' + mkdir -p $out/nix-support $out/sd-image + export img=$out/sd-image/${config.sdImage.imageName} + + echo "${pkgs.stdenv.buildPlatform.system}" > $out/nix-support/system + if test -n "$compressImage"; then + echo "file sd-image $img.zst" >> $out/nix-support/hydra-build-products + else + echo "file sd-image $img" >> $out/nix-support/hydra-build-products + fi + + echo "Decompressing rootfs image" + zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img + + # Gap in front of the first partition, in MiB + gap=8 + + # Create the image file sized to fit /boot/firmware and /, plus slack for the gap. + rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }') + firmwareSizeBlocks=$((${toString config.sdImage.firmwareSize} * 1024 * 1024 / 512)) + imageSize=$((rootSizeBlocks * 512 + firmwareSizeBlocks * 512 + gap * 1024 * 1024)) + truncate -s $imageSize $img + + # type=b is 'W95 FAT32', type=83 is 'Linux'. + # The "bootable" partition is where u-boot will look file for the bootloader + # information (dtbs, extlinux.conf file). + sfdisk $img < Date: Wed, 27 Jan 2021 22:00:45 -0500 Subject: installer: split sd-card into installer & base for bespoke image --- nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix | 6 ++++++ .../installer/sd-card/sd-image-aarch64-new-kernel-installer.nix | 6 ++++++ nixos/modules/installer/sd-card/sd-image-aarch64.nix | 1 - .../installer/sd-card/sd-image-armv7l-multiplatform-installer.nix | 6 ++++++ nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix | 1 - nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix | 6 ++++++ nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix | 6 ++++++ nixos/modules/installer/sd-card/sd-image-raspberrypi.nix | 1 - 8 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix new file mode 100644 index 00000000000..b9e8a3ec81f --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-aarch64.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix new file mode 100644 index 00000000000..fdb6da31f4c --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-aarch64-new-kernel.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix index e4ec2d6240d..ea696cbbc71 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix @@ -5,7 +5,6 @@ { imports = [ ../../profiles/base.nix - ../../profiles/installation-device.nix ./sd-image.nix ]; diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix new file mode 100644 index 00000000000..36b59b1ef93 --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-armv7l-multiplatform.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix index d2ba611532e..08f2fbaaaf2 100644 --- a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix @@ -5,7 +5,6 @@ { imports = [ ../../profiles/base.nix - ../../profiles/installation-device.nix ./sd-image.nix ]; diff --git a/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix new file mode 100644 index 00000000000..8f2715569be --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-raspberrypi4.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix new file mode 100644 index 00000000000..6bfbeb3cfcd --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-raspberrypi.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix index 40a01f96177..d16d2d0fa28 100644 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix @@ -5,7 +5,6 @@ { imports = [ ../../profiles/base.nix - ../../profiles/installation-device.nix ./sd-image.nix ]; -- cgit 1.4.1 From 481f68f1a58df48003ccfb2a5aac381e209f6324 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Tue, 2 Feb 2021 16:03:20 -0500 Subject: installer: add back-compat files for sd-card image folder move --- nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-aarch64.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image.nix | 5 +++++ 6 files changed, 30 insertions(+) create mode 100644 nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-aarch64.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image.nix (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix new file mode 100644 index 00000000000..923c775c17a --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-aarch64-new-kernel-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix new file mode 100644 index 00000000000..b2062801021 --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-aarch64-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix new file mode 100644 index 00000000000..15ddf0ad23b --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-armv7l-multiplatform-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix new file mode 100644 index 00000000000..3a67546a50f --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-raspberrypi-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix new file mode 100644 index 00000000000..e57bc37a45d --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-raspberrypi4-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix new file mode 100644 index 00000000000..aca446d097d --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image.nix + ]; +} -- cgit 1.4.1 From 68afbf9d6385032be9fc368dbfa4ad4ba2cc45e0 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Tue, 2 Feb 2021 17:40:46 -0500 Subject: installer: add deprecation warning about sd-card file move --- nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-aarch64.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image.nix | 9 +++++++++ 6 files changed, 54 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix index 923c775c17a..a669d61571f 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-aarch64-new-kernel-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-aarch64-new-kernel.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-aarch64-new-kernel-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index b2062801021..76c1509b8f7 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-aarch64-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-aarch64.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-aarch64-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix index 15ddf0ad23b..6ee0eb9e9b8 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-armv7l-multiplatform-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-armv7l-multiplatform.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-armv7l-multiplatform-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix index 3a67546a50f..747440ba9c6 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-raspberrypi-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-raspberrypi.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-raspberrypi-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix index e57bc37a45d..79db1fa29bc 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-raspberrypi4-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-raspberrypi4.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-raspberrypi4-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index aca446d097d..e2d6dcb3fe3 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image.nix, instead. + '' + ]; + }; } -- cgit 1.4.1 From 6bfaed9b2c691a93933ce3bc4a9f3c41c45becf2 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Sun, 21 Feb 2021 15:16:51 -0500 Subject: installer: fixup sd-card folder move from #110827 --- nixos/doc/manual/configuration/profiles/clone-config.xml | 2 +- nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix | 4 ++++ .../sd-card/sd-image-aarch64-new-kernel-installer.nix | 4 ++++ nixos/modules/installer/sd-card/sd-image-aarch64.nix | 6 +----- .../sd-card/sd-image-armv7l-multiplatform-installer.nix | 4 ++++ .../installer/sd-card/sd-image-armv7l-multiplatform.nix | 6 +----- .../installer/sd-card/sd-image-raspberryp4-installer.nix | 6 ------ .../installer/sd-card/sd-image-raspberrypi-installer.nix | 4 ++++ nixos/modules/installer/sd-card/sd-image-raspberrypi.nix | 6 +----- .../installer/sd-card/sd-image-raspberrypi4-installer.nix | 10 ++++++++++ nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix | 2 +- 11 files changed, 31 insertions(+), 23 deletions(-) delete mode 100644 nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/configuration/profiles/clone-config.xml b/nixos/doc/manual/configuration/profiles/clone-config.xml index 04fa1643d0f..9c70cf35204 100644 --- a/nixos/doc/manual/configuration/profiles/clone-config.xml +++ b/nixos/doc/manual/configuration/profiles/clone-config.xml @@ -16,6 +16,6 @@ On images where the installation media also becomes an installation target, copying over configuration.nix should be disabled by setting installer.cloneConfig to false. - For example, this is done in sd-image-aarch64.nix. + For example, this is done in sd-image-aarch64-installer.nix. diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix index b9e8a3ec81f..2a6b6abdf91 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix @@ -3,4 +3,8 @@ ../../profiles/installation-device.nix ./sd-image-aarch64.nix ]; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix index fdb6da31f4c..1b6b55ff291 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix @@ -3,4 +3,8 @@ ../../profiles/installation-device.nix ./sd-image-aarch64-new-kernel.nix ]; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix index ea696cbbc71..96ebb7537da 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix @@ -1,5 +1,5 @@ # To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-aarch64.nix -A config.system.build.sdImage +# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-aarch64.nix -A config.system.build.sdImage { config, lib, pkgs, ... }: { @@ -72,8 +72,4 @@ ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot ''; }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix index 36b59b1ef93..fbe04377d50 100644 --- a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix @@ -3,4 +3,8 @@ ../../profiles/installation-device.nix ./sd-image-armv7l-multiplatform.nix ]; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix index 08f2fbaaaf2..23ed9285129 100644 --- a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix @@ -1,5 +1,5 @@ # To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix -A config.system.build.sdImage +# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix -A config.system.build.sdImage { config, lib, pkgs, ... }: { @@ -49,8 +49,4 @@ ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot ''; }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix deleted file mode 100644 index 8f2715569be..00000000000 --- a/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - imports = [ - ../../profiles/installation-device.nix - ./sd-image-raspberrypi4.nix - ]; -} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix index 6bfbeb3cfcd..72ec7485b52 100644 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix @@ -3,4 +3,8 @@ ../../profiles/installation-device.nix ./sd-image-raspberrypi.nix ]; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix index d16d2d0fa28..83850f4c115 100644 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix @@ -1,5 +1,5 @@ # To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix -A config.system.build.sdImage +# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-raspberrypi.nix -A config.system.build.sdImage { config, lib, pkgs, ... }: { @@ -38,8 +38,4 @@ ${config.boot.loader.generic-extlinux-compatible.populateCmd} -c ${config.system.build.toplevel} -d ./files/boot ''; }; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; } diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix new file mode 100644 index 00000000000..59423e40b64 --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix @@ -0,0 +1,10 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-raspberrypi4.nix + ]; + + # the installation media is also the installation target, + # so we don't want to provide the installation configuration.nix. + installer.cloneConfig = false; +} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix index 5bdec7de86e..35a12c5382f 100644 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix @@ -1,5 +1,5 @@ # To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix -A config.system.build.sdImage +# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix -A config.system.build.sdImage { config, lib, pkgs, ... }: { -- cgit 1.4.1 From 61b7cab4811e0e90937bcc8b4c1ca32b387c895c Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 24 Feb 2021 20:53:45 +0100 Subject: treewide: use perl.withPackages when possible Since 03eaa48 added perl.withPackages, there is a canonical way to create a perl interpreter from a list of libraries, for use in script shebangs or generic build inputs. This method is declarative (what we are doing is clear), produces short shebangs[1] and needs not to wrap existing scripts. Unfortunately there are a few exceptions that I've found: 1. Scripts that are calling perl with the -T switch. This makes perl ignore PERL5LIB, which is what perl.withPackages is using to inform the interpreter of the library paths. 2. Perl packages that depends on libraries in their own path. This is not possible because perl.withPackages works at build time. The workaround is to add `-I $out/${perl.libPrefix}` to the shebang. In all other cases I propose to switch to perl.withPackages. [1]: https://lwn.net/Articles/779997/ --- nixos/modules/config/users-groups.nix | 6 ++-- nixos/modules/installer/tools/tools.nix | 2 +- .../command-not-found/command-not-found.nix | 4 +-- .../command-not-found/command-not-found.pl | 2 +- .../system/activation/switch-to-configuration.pl | 2 +- nixos/modules/system/activation/top-level.nix | 3 +- nixos/modules/system/boot/loader/grub/grub.nix | 8 +++-- nixos/modules/system/etc/etc.nix | 2 +- nixos/modules/testing/service-runner.nix | 2 +- pkgs/applications/graphics/feh/default.nix | 11 ++----- pkgs/build-support/writers/default.nix | 15 ++------- .../tools/misc/icon-naming-utils/default.nix | 11 ++----- pkgs/misc/screensavers/xscreensaver/default.nix | 14 ++++---- pkgs/os-specific/linux/apparmor/default.nix | 7 ++-- pkgs/os-specific/linux/rdma-core/default.nix | 8 ++--- pkgs/tools/backup/store-backup/default.nix | 8 ++--- pkgs/tools/backup/znapzend/default.nix | 31 ++++-------------- pkgs/tools/filesystems/file-rename/default.nix | 10 +++--- pkgs/tools/misc/lbdb/default.nix | 37 ++++++++++------------ pkgs/tools/networking/tgt/default.nix | 4 +-- pkgs/tools/package-management/dpkg/default.nix | 3 +- .../virtualization/nixos-container/default.nix | 4 +-- .../nixos-container/nixos-container.pl | 2 +- 23 files changed, 73 insertions(+), 123 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 1a530b9f013..1da150148b2 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -556,10 +556,8 @@ in { install -m 0700 -d /root install -m 0755 -d /home - ${pkgs.perl}/bin/perl -w \ - -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix} \ - -I${pkgs.perlPackages.JSON}/${pkgs.perl.libPrefix} \ - ${./update-users-groups.pl} ${spec} + ${pkgs.perl.withPackages (p: [ p.FileSlurp p.JSON ])}/bin/perl \ + -w ${./update-users-groups.pl} ${spec} ''; # for backwards compatibility diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index a9e5641b05a..77c974fc22c 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -34,7 +34,7 @@ let name = "nixos-generate-config"; src = ./nixos-generate-config.pl; path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ]; - perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix}"; + perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl"; inherit (config.system.nixos-generate-config) configuration desktopConfiguration; xserverEnabled = config.services.xserver.enable; }; diff --git a/nixos/modules/programs/command-not-found/command-not-found.nix b/nixos/modules/programs/command-not-found/command-not-found.nix index d8394bf73a2..79786584c66 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.nix +++ b/nixos/modules/programs/command-not-found/command-not-found.nix @@ -14,10 +14,8 @@ let dir = "bin"; src = ./command-not-found.pl; isExecutable = true; - inherit (pkgs) perl; inherit (cfg) dbPath; - perlFlags = concatStrings (map (path: "-I ${path}/${pkgs.perl.libPrefix} ") - [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]); + perl = pkgs.perl.withPackages (p: [ p.DBDSQLite p.StringShellQuote ]); }; in diff --git a/nixos/modules/programs/command-not-found/command-not-found.pl b/nixos/modules/programs/command-not-found/command-not-found.pl index 7515dd975c3..6e275bcc8be 100644 --- a/nixos/modules/programs/command-not-found/command-not-found.pl +++ b/nixos/modules/programs/command-not-found/command-not-found.pl @@ -1,4 +1,4 @@ -#! @perl@/bin/perl -w @perlFlags@ +#! @perl@/bin/perl -w use strict; use DBI; diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index b82d69b3bb8..8bd85465472 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -1,4 +1,4 @@ -#! @perl@ +#! @perl@/bin/perl use strict; use warnings; diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix index b0f77ca3fb8..9dbca4e33f3 100644 --- a/nixos/modules/system/activation/top-level.nix +++ b/nixos/modules/system/activation/top-level.nix @@ -113,8 +113,7 @@ let configurationName = config.boot.loader.grub.configurationName; # Needed by switch-to-configuration. - - perl = "${pkgs.perl}/bin/perl " + (concatMapStringsSep " " (lib: "-I${lib}/${pkgs.perl.libPrefix}") (with pkgs.perlPackages; [ FileSlurp NetDBus XMLParser XMLTwig ])); + perl = pkgs.perl.withPackages (p: with p; [ FileSlurp NetDBus XMLParser XMLTwig ]); }; # Handle assertions and warnings diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 289c2b19986..c6ec9acd54c 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -728,13 +728,17 @@ in utillinux = pkgs.util-linux; btrfsprogs = pkgs.btrfs-progs; }; + perl = pkgs.perl.withPackages (p: with p; [ + FileSlurp FileCopyRecursive + XMLLibXML XMLSAX XMLSAXBase + ListCompare JSON + ]); in pkgs.writeScript "install-grub.sh" ('' #!${pkgs.runtimeShell} set -e - export PERL5LIB=${with pkgs.perlPackages; makePerlPath [ FileSlurp FileCopyRecursive XMLLibXML XMLSAX XMLSAXBase ListCompare JSON ]} ${optionalString cfg.enableCryptodisk "export GRUB_ENABLE_CRYPTODISK=y"} '' + flip concatMapStrings cfg.mirroredBoots (args: '' - ${pkgs.perl}/bin/perl ${install-grub-pl} ${grubConfig args} $@ + ${perl}/bin/perl ${install-grub-pl} ${grubConfig args} $@ '') + cfg.extraInstallCommands); system.build.grub = grub; diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index 7478e3e8071..a450f303572 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -154,7 +154,7 @@ in '' # Set up the statically computed bits of /etc. echo "setting up /etc..." - ${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix} ${./setup-etc.pl} ${etc}/etc + ${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl ${./setup-etc.pl} ${etc}/etc ''; }; diff --git a/nixos/modules/testing/service-runner.nix b/nixos/modules/testing/service-runner.nix index 76e9d4a68c4..9060be3cca1 100644 --- a/nixos/modules/testing/service-runner.nix +++ b/nixos/modules/testing/service-runner.nix @@ -6,7 +6,7 @@ let makeScript = name: service: pkgs.writeScript "${name}-runner" '' - #! ${pkgs.perl}/bin/perl -w -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix} + #! ${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl -w use File::Slurp; diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index fac3dbb5534..40ae0235606 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, makeWrapper , xorg, imlib2, libjpeg, libpng -, curl, libexif, jpegexiforient, perlPackages +, curl, libexif, jpegexiforient, perl , enableAutoreload ? !stdenv.hostPlatform.isDarwin }: with lib; @@ -31,14 +31,7 @@ stdenv.mkDerivation rec { --add-flags '--theme=feh' ''; - checkInputs = [ perlPackages.perl perlPackages.TestCommand ]; - preCheck = '' - export PERL5LIB="${perlPackages.TestCommand}/${perlPackages.perl.libPrefix}" - ''; - postCheck = '' - unset PERL5LIB - ''; - + checkInputs = lib.singleton (perl.withPackages (p: [ p.TestCommand ])); doCheck = true; meta = { diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix index f853f37fec6..47919c251af 100644 --- a/pkgs/build-support/writers/default.nix +++ b/pkgs/build-support/writers/default.nix @@ -257,18 +257,9 @@ rec { # print "Howdy!\n" if true; # '' writePerl = name: { libraries ? [] }: - let - perl-env = pkgs.buildEnv { - name = "perl-environment"; - paths = libraries; - pathsToLink = [ - "/${pkgs.perl.libPrefix}" - ]; - }; - in - makeScriptWriter { - interpreter = "${pkgs.perl}/bin/perl -I ${perl-env}/${pkgs.perl.libPrefix}"; - } name; + makeScriptWriter { + interpreter = "${pkgs.perl.withPackages (p: libraries)}/bin/perl"; + } name; # writePerlBin takes the same arguments as writePerl but outputs a directory (like writeScriptBin) writePerlBin = name: diff --git a/pkgs/development/tools/misc/icon-naming-utils/default.nix b/pkgs/development/tools/misc/icon-naming-utils/default.nix index 8fdc448ee91..478c0a61f86 100644 --- a/pkgs/development/tools/misc/icon-naming-utils/default.nix +++ b/pkgs/development/tools/misc/icon-naming-utils/default.nix @@ -1,4 +1,4 @@ -{lib, stdenv, fetchurl, perlPackages, librsvg}: +{lib, stdenv, fetchurl, perl, librsvg}: stdenv.mkDerivation rec { name = "icon-naming-utils-0.8.90"; @@ -8,14 +8,7 @@ stdenv.mkDerivation rec { sha256 = "071fj2jm5kydlz02ic5sylhmw6h2p3cgrm3gwdfabinqkqcv4jh4"; }; - buildInputs = [ librsvg ] ++ (with perlPackages; [ perl XMLSimple ]); - - postInstall = - '' - # Add XML::Simple to the runtime search path. - substituteInPlace $out/libexec/icon-name-mapping \ - --replace '/bin/perl' '/bin/perl -I${perlPackages.XMLSimple}/${perlPackages.perl.libPrefix}' - ''; + buildInputs = [ librsvg (perl.withPackages (p: [ p.XMLSimple ])) ]; meta = with lib; { homepage = "http://tango.freedesktop.org/Standard_Icon_Naming_Specification"; diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix index 5f41090d05f..29e931fe242 100644 --- a/pkgs/misc/screensavers/xscreensaver/default.nix +++ b/pkgs/misc/screensavers/xscreensaver/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, bc, perl, perlPackages, pam, libXext, libXScrnSaver, libX11 +{ lib, stdenv, fetchurl, pkg-config, bc, perl, pam, libXext, libXScrnSaver, libX11 , libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU, libGL, gtk2 , libxml2, libglade, intltool, xorg, makeWrapper, gle, gdk-pixbuf, gdk-pixbuf-xlib , forceInstallAllHacks ? false @@ -38,11 +38,13 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/xscreensaver-text \ --prefix PATH : ${lib.makeBinPath [xorg.appres]} - wrapProgram $out/bin/xscreensaver-getimage-file \ - --set PERL5LIB "$out/${perlPackages.perl.libPrefix}:${with perlPackages; makePerlPath [ - EncodeLocale HTTPDate HTTPMessage IOSocketSSL LWP LWPProtocolHttps - MozillaCA NetHTTP NetSSLeay TryTiny URI - ]}" + + substituteInPlace $out/bin/xscreensaver-getimage-file \ + --replace '${perl}' '${perl.withPackages (p: with p; + [ EncodeLocale HTTPDate HTTPMessage IOSocketSSL + LWP LWPProtocolHttps MozillaCA NetHTTP + NetSSLeay TryTiny URI + ])}' '' + lib.optionalString forceInstallAllHacks '' make -C hacks/glx dnalogo diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix index 935b5e65b1f..bb0c0b45d6e 100644 --- a/pkgs/os-specific/linux/apparmor/default.nix +++ b/pkgs/os-specific/linux/apparmor/default.nix @@ -136,10 +136,9 @@ let wrapProgram $out/bin/$prog --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH" done - substituteInPlace $out/bin/aa-notify --replace /usr/bin/notify-send ${libnotify}/bin/notify-send - # aa-notify checks its name and does not work named ".aa-notify-wrapped" - mv $out/bin/aa-notify $out/bin/aa-notify-wrapped - makeWrapper ${perl}/bin/perl $out/bin/aa-notify --set PERL5LIB ${libapparmor}/${perl.libPrefix} --add-flags $out/bin/aa-notify-wrapped + substituteInPlace $out/bin/aa-notify \ + --replace /usr/bin/notify-send ${libnotify}/bin/notify-send \ + --replace /usr/bin/perl "${perl}/bin/perl -I ${libapparmor}/${perl.libPrefix}" ''; inherit doCheck; diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix index aef87e7c82d..b0be421cd68 100644 --- a/pkgs/os-specific/linux/rdma-core/default.nix +++ b/pkgs/os-specific/linux/rdma-core/default.nix @@ -1,7 +1,6 @@ { lib, stdenv, fetchFromGitHub, cmake, pkg-config, docutils , pandoc, ethtool, iproute, libnl, udev, python3, perl -, makeWrapper -} : +}: let version = "34.0"; @@ -17,7 +16,7 @@ in stdenv.mkDerivation { sha256 = "sha256-2HFtj595sDmWqAewIMwKMaiSDVVWKdQA9l0QsPcw8qA="; }; - nativeBuildInputs = [ cmake pkg-config pandoc docutils makeWrapper ]; + nativeBuildInputs = [ cmake pkg-config pandoc docutils ]; buildInputs = [ libnl ethtool iproute udev python3 perl ]; cmakeFlags = [ @@ -39,7 +38,8 @@ in stdenv.mkDerivation { postFixup = '' for pls in $out/bin/{ibfindnodesusing.pl,ibidsverify.pl}; do echo "wrapping $pls" - wrapProgram $pls --prefix PERL5LIB : "$out/${perl.libPrefix}" + substituteInPlace $pls --replace \ + "${perl}/bin/perl" "${perl}/bin/perl -I $out/${perl.libPrefix}" done ''; diff --git a/pkgs/tools/backup/store-backup/default.nix b/pkgs/tools/backup/store-backup/default.nix index 026a3141fed..afa667ec072 100644 --- a/pkgs/tools/backup/store-backup/default.nix +++ b/pkgs/tools/backup/store-backup/default.nix @@ -1,4 +1,4 @@ -{lib, stdenv, which, coreutils, perl, fetchurl, perlPackages, makeWrapper, diffutils , writeScriptBin, bzip2}: +{lib, stdenv, which, coreutils, perl, fetchurl, makeWrapper, diffutils , writeScriptBin, bzip2}: # quick usage: # storeBackup.pl --sourceDir /home/user --backupDir /tmp/my_backup_destination @@ -37,12 +37,10 @@ stdenv.mkDerivation rec { find $out -name "*.pl" | xargs sed -i \ -e 's@/bin/pwd@${coreutils}/bin/pwd@' \ -e 's@/bin/sync@${coreutils}/bin/sync@' \ - -e '1 s@/usr/bin/env perl@${perl}/bin/perl@' + -e '1 s@/usr/bin/env perl@${perl.withPackages (p: [ p.DBFile ])}/bin/perl@' for p in $out/bin/* - do wrapProgram "$p" \ - --prefix PERL5LIB ":" "${perlPackages.DBFile}/${perlPackages.perl.libPrefix}" \ - --prefix PATH ":" "${lib.makeBinPath [ which bzip2 ]}" + do wrapProgram "$p" --prefix PATH ":" "${lib.makeBinPath [ which bzip2 ]}" done patchShebangs $out diff --git a/pkgs/tools/backup/znapzend/default.nix b/pkgs/tools/backup/znapzend/default.nix index 1e4e84b445b..9c3e4fca95d 100644 --- a/pkgs/tools/backup/znapzend/default.nix +++ b/pkgs/tools/backup/znapzend/default.nix @@ -21,6 +21,11 @@ let propagatedBuildInputs = [ perlPackages.IOPipely Mojolicious-8-35 ]; }; + perl' = perl.withPackages (p: + [ MojoIOLoopForkCall-0-20 + p.TAPParserSourceHandlerpgTAP + ]); + version = "0.20.0"; checksum = "15lb5qwksa508m9bj6d3n4rrjpakfaas9qxspg408bcqfp7pqjw3"; in @@ -35,7 +40,7 @@ stdenv.mkDerivation { sha256 = checksum; }; - buildInputs = [ wget perl MojoIOLoopForkCall-0-20 perlPackages.TAPParserSourceHandlerpgTAP ]; + buildInputs = [ wget perl' ]; nativeBuildInputs = [ autoconf automake autoreconfHook ]; @@ -53,30 +58,6 @@ stdenv.mkDerivation { automake ''; - postInstall = '' - substituteInPlace $out/bin/znapzend --replace "${perl}/bin/perl" \ - "${perl}/bin/perl \ - -I${Mojolicious-8-35}/${perl.libPrefix} \ - -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \ - -I${MojoIOLoopForkCall-0-20}/${perl.libPrefix} \ - -I${perlPackages.IOPipely}/${perl.libPrefix} \ - " - substituteInPlace $out/bin/znapzendzetup --replace "${perl}/bin/perl" \ - "${perl}/bin/perl \ - -I${Mojolicious-8-35}/${perl.libPrefix} \ - -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \ - -I${MojoIOLoopForkCall-0-20}/${perl.libPrefix} \ - -I${perlPackages.IOPipely}/${perl.libPrefix} \ - " - substituteInPlace $out/bin/znapzendztatz --replace "${perl}/bin/perl" \ - "${perl}/bin/perl \ - -I${Mojolicious-8-35}/${perl.libPrefix} \ - -I${perlPackages.TAPParserSourceHandlerpgTAP}/${perl.libPrefix} \ - -I${MojoIOLoopForkCall-0-20}/${perl.libPrefix} \ - -I${perlPackages.IOPipely}/${perl.libPrefix} \ - " - ''; - meta = with lib; { description = "High performance open source ZFS backup with mbuffer and ssh support"; homepage = "http://www.znapzend.org"; diff --git a/pkgs/tools/filesystems/file-rename/default.nix b/pkgs/tools/filesystems/file-rename/default.nix index 6ddf5d78863..133f446f8a9 100644 --- a/pkgs/tools/filesystems/file-rename/default.nix +++ b/pkgs/tools/filesystems/file-rename/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, perlPackages, makeWrapper }: +{ lib, stdenv, fetchurl, perl, perlPackages }: perlPackages.buildPerlPackage { pname = "File-Rename"; @@ -9,17 +9,15 @@ perlPackages.buildPerlPackage { sha256 = "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy"; }; - nativeBuildInputs = [ makeWrapper ]; - # Fix an incorrect platform test that misidentifies Darwin as Windows postPatch = '' substituteInPlace Makefile.PL \ --replace '/win/i' '/MSWin32/' ''; - postInstall = '' - wrapProgram $out/bin/rename \ - --prefix PERL5LIB : $out/${perlPackages.perl.libPrefix} + postFixup = '' + substituteInPlace $out/bin/rename \ + --replace "#!${perl}/bin/perl" "#!${perl}/bin/perl -I $out/${perl.libPrefix}" ''; doCheck = !stdenv.isDarwin; diff --git a/pkgs/tools/misc/lbdb/default.nix b/pkgs/tools/misc/lbdb/default.nix index fd8b805743a..ea4b2a9cbbc 100644 --- a/pkgs/tools/misc/lbdb/default.nix +++ b/pkgs/tools/misc/lbdb/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, fetchpatch, perl, perlPackages, finger_bsd, makeWrapper +{ lib, stdenv, fetchurl, fetchpatch, perl, finger_bsd , abook ? null , gnupg ? null , goobook ? null @@ -8,9 +8,8 @@ let version = "0.48.1"; + perl' = perl.withPackages (p: with p; [ ConvertASN1 perlldap AuthenSASL ]); in -with lib; -with perlPackages; stdenv.mkDerivation { pname = "lbdb"; inherit version; @@ -19,20 +18,20 @@ stdenv.mkDerivation { sha256 = "1gr5l2fr9qbdccga8bhsrpvz6jxigvfkdxrln9wyf2xpps5cdjxh"; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ goobook perl ConvertASN1 perlldap AuthenSASL ] - ++ optional (!stdenv.isDarwin) finger_bsd - ++ optional (abook != null) abook - ++ optional (gnupg != null) gnupg - ++ optional (goobook != null) goobook - ++ optional (khard != null) khard - ++ optional (mu != null) mu; + buildInputs = [ goobook perl' ] + ++ lib.optional (!stdenv.isDarwin) finger_bsd + ++ lib.optional (abook != null) abook + ++ lib.optional (gnupg != null) gnupg + ++ lib.optional (goobook != null) goobook + ++ lib.optional (khard != null) khard + ++ lib.optional (mu != null) mu; + configureFlags = [ ] - ++ optional (abook != null) "--with-abook" - ++ optional (gnupg != null) "--with-gpg" - ++ optional (goobook != null) "--with-goobook" - ++ optional (khard != null) "--with-khard" - ++ optional (mu != null) "--with-mu"; + ++ lib.optional (abook != null) "--with-abook" + ++ lib.optional (gnupg != null) "--with-gpg" + ++ lib.optional (goobook != null) "--with-goobook" + ++ lib.optional (khard != null) "--with-khard" + ++ lib.optional (mu != null) "--with-mu"; patches = [ ./add-methods-to-rc.patch # fix undefined exec_prefix. Remove with the next release @@ -42,12 +41,8 @@ stdenv.mkDerivation { excludes = [ "debian/changelog" ]; }) ]; - postFixup = "wrapProgram $out/lib/mutt_ldap_query --prefix PERL5LIB : " - + "${AuthenSASL}/${perl.libPrefix}" - + ":${ConvertASN1}/${perl.libPrefix}" - + ":${perlldap}/${perl.libPrefix}"; - meta = { + meta = with lib; { homepage = "https://www.spinnaker.de/lbdb/"; license = licenses.gpl2; platforms = platforms.all; diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix index ca40f9a7cb7..ba1f89af433 100644 --- a/pkgs/tools/networking/tgt/default.nix +++ b/pkgs/tools/networking/tgt/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchFromGitHub, libxslt, libaio, systemd, perl, perlPackages +{ stdenv, lib, fetchFromGitHub, libxslt, libaio, systemd, perl , docbook_xsl, coreutils, lsof, rdma-core, makeWrapper, sg3_utils, util-linux }: @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { postInstall = '' substituteInPlace $out/sbin/tgt-admin \ - --replace "#!/usr/bin/perl" "#! ${perl}/bin/perl -I${perlPackages.ConfigGeneral}/${perl.libPrefix}" + --replace "#!/usr/bin/perl" "#! ${perl.withPackages (p: [ p.ConfigGeneral ])}/bin/perl" wrapProgram $out/sbin/tgt-admin --prefix PATH : \ ${lib.makeBinPath [ lsof sg3_utils (placeholder "out") ]} diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix index 459b9550b7c..0026dd37ca4 100644 --- a/pkgs/tools/package-management/dpkg/default.nix +++ b/pkgs/tools/package-management/dpkg/default.nix @@ -56,7 +56,8 @@ stdenv.mkDerivation rec { '' for i in $out/bin/*; do if head -n 1 $i | grep -q perl; then - wrapProgram $i --prefix PERL5LIB : $out/${perl.libPrefix} + substituteInPlace $i --replace \ + "${perl}/bin/perl" "${perl}/bin/perl -I $out/${perl.libPrefix}" fi done diff --git a/pkgs/tools/virtualization/nixos-container/default.nix b/pkgs/tools/virtualization/nixos-container/default.nix index badd25b4e24..17065a2aa8b 100644 --- a/pkgs/tools/virtualization/nixos-container/default.nix +++ b/pkgs/tools/virtualization/nixos-container/default.nix @@ -1,11 +1,11 @@ -{ substituteAll, perlPackages, shadow, util-linux }: +{ substituteAll, perl, shadow, util-linux }: substituteAll { name = "nixos-container"; dir = "bin"; isExecutable = true; src = ./nixos-container.pl; - perl = "${perlPackages.perl}/bin/perl -I${perlPackages.FileSlurp}/${perlPackages.perl.libPrefix}"; + perl = perl.withPackages (p: [ p.FileSlurp ]); su = "${shadow.su}/bin/su"; utillinux = util-linux; diff --git a/pkgs/tools/virtualization/nixos-container/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl index b399b3d6917..d99b4cfba4a 100755 --- a/pkgs/tools/virtualization/nixos-container/nixos-container.pl +++ b/pkgs/tools/virtualization/nixos-container/nixos-container.pl @@ -1,4 +1,4 @@ -#! @perl@ +#! @perl@/bin/perl use strict; use POSIX; -- cgit 1.4.1 From 20e0c6d5837527906a74ec5513cb9e5a2c0a73b7 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Tue, 20 Apr 2021 21:20:03 +0100 Subject: configuration template: add hint to install editor (#105771) fixes #25376 --- nixos/modules/installer/tools/tools.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 77c974fc22c..21f2e730c3f 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -163,7 +163,8 @@ in # List packages installed in system profile. To search, run: # \$ nix search wget # environment.systemPackages = with pkgs; [ - # wget vim + # nano vim # don't forget to add an editor to edit configuration.nix! + # wget # firefox # ]; -- cgit 1.4.1 From e9cf66e042dfc6ba16a00030db15bcf681162036 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Wed, 21 Apr 2021 05:43:50 +0200 Subject: configuration template: improve docs on nano --- nixos/modules/installer/tools/tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 21f2e730c3f..cb2dbf6c859 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -163,7 +163,7 @@ in # List packages installed in system profile. To search, run: # \$ nix search wget # environment.systemPackages = with pkgs; [ - # nano vim # don't forget to add an editor to edit configuration.nix! + # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # wget # firefox # ]; -- cgit 1.4.1 From c534a8434fb470aaf878ac8a398dfd6f68e008e1 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Wed, 21 Apr 2021 20:16:29 +0200 Subject: nixos-install: fix flake command --- nixos/modules/installer/tools/nixos-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh index 9d49d4055e4..ea9667995e1 100644 --- a/nixos/modules/installer/tools/nixos-install.sh +++ b/nixos/modules/installer/tools/nixos-install.sh @@ -125,7 +125,7 @@ fi # Resolve the flake. if [[ -n $flake ]]; then - flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) + flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url) fi if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then -- cgit 1.4.1 From bef4bda8dd1655ec76849059c5dbd7c5de6eaebe Mon Sep 17 00:00:00 2001 From: Colin L Rice Date: Wed, 1 Jul 2020 12:01:48 -0400 Subject: sd-image: Add option to control sd image expansion on boot. This is supeer useful to allow the normal sd-image code to be used by someone who wants to setup multiple partitions with a sd-image. Currently I'm manually copying the sd-image file and modifying it instead. --- nixos/modules/installer/sd-card/sd-image.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/sd-card/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix index b811ae07eb0..45c8c67169b 100644 --- a/nixos/modules/installer/sd-card/sd-image.nix +++ b/nixos/modules/installer/sd-card/sd-image.nix @@ -126,6 +126,13 @@ in ''; }; + expandOnBoot = mkOption { + type = types.bool; + default = true; + description = '' + Whether to configure the sd image to expand it's partition on boot. + ''; + }; }; config = { @@ -215,7 +222,7 @@ in ''; }) {}; - boot.postBootCommands = '' + boot.postBootCommands = lib.mkIf config.sdImage.expandOnBoot '' # On the first boot do some maintenance tasks if [ -f /nix-path-registration ]; then set -euo pipefail -- cgit 1.4.1 From 20d0824b150492d4b484954c64aad9f24656c130 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Tue, 20 Apr 2021 01:32:42 -0400 Subject: iso-image: Fix grub file load location With U-Boot UEFI, (hd0) is not the USB drive, it is (cd0). Though, it turns out we never needed to prefix the path! --- nixos/modules/installer/cd-dvd/iso-image.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 1418420afcd..e73bb883df5 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -186,7 +186,7 @@ let # Fonts can be loaded? # (This font is assumed to always be provided as a fallback by NixOS) - if loadfont (hd0)/EFI/boot/unicode.pf2; then + if loadfont /EFI/boot/unicode.pf2; then # Use graphical term, it can be either with background image or a theme. # input is "console", while output is "gfxterm". # This enables "serial" input and output only when possible. @@ -207,11 +207,11 @@ let ${ # When there is a theme configured, use it, otherwise use the background image. if config.isoImage.grubTheme != null then '' # Sets theme. - set theme=(hd0)/EFI/boot/grub-theme/theme.txt + set theme=/EFI/boot/grub-theme/theme.txt # Load theme fonts - $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (hd0)/EFI/boot/grub-theme/%P\n") + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont /EFI/boot/grub-theme/%P\n") '' else '' - if background_image (hd0)/EFI/boot/efi-background.png; then + if background_image /EFI/boot/efi-background.png; then # Black background means transparent background when there # is a background image set... This seems undocumented :( set color_normal=black/black -- cgit 1.4.1 From 189507a35d4fd5c88e1172aee0a410229e60ba86 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Tue, 20 Apr 2021 01:34:15 -0400 Subject: iso-image: Make graphical output work properly on AArch64 The serial output (but it's named console, not serial actually) causes issues on U-Boot's EFI, at the very least. This is inspired by OpenSUSE's approach: * https://build.opensuse.org/package/view_file/Base:System/grub2/grub2-SUSE-Add-the-t-hotkey.patch Where they add a hidden menu entry, which can be used to force the console output. The `echo` will be visible on the serial terminal (grub "console"), while the graphical interface is shown. Note that input in the serial terminal (grub "console") will continue controlling the graphical interface. Useful if you have an SBC connectedinto an HDMI monitor, but no keyboard connected to it. --- nixos/modules/installer/cd-dvd/iso-image.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index e73bb883df5..b876e83e237 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -187,6 +187,9 @@ let # Fonts can be loaded? # (This font is assumed to always be provided as a fallback by NixOS) if loadfont /EFI/boot/unicode.pf2; then + set with_fonts=true + fi + if [ "\$textmode" != "true" -a "\$with_fonts" == "true" ]; then # Use graphical term, it can be either with background image or a theme. # input is "console", while output is "gfxterm". # This enables "serial" input and output only when possible. @@ -264,6 +267,8 @@ let cat < $out/EFI/boot/grub.cfg + set with_fonts=false + set textmode=false # If you want to use serial for "terminal_*" commands, you need to set one up: # Example manual configuration: # → serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 @@ -273,8 +278,28 @@ let export with_serial clear set timeout=10 + + # This message will only be viewable when "gfxterm" is not used. + echo "" + echo "Loading graphical boot menu..." + echo "" + echo "Press 't' to use the text boot menu on this console..." + echo "" + ${grubMenuCfg} + hiddenentry 'Text mode' --hotkey 't' { + loadfont /EFI/boot/unicode.pf2 + set textmode=true + terminal_output gfxterm console + } + hiddenentry 'GUI mode' --hotkey 'g' { + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont /EFI/boot/grub-theme/%P\n") + set textmode=false + terminal_output gfxterm + } + + # If the parameter iso_path is set, append the findiso parameter to the kernel # line. We need this to allow the nixos iso to be booted from grub directly. if [ \''${iso_path} ] ; then -- cgit 1.4.1 From 9413da26fd3364d81bb744578f95512a4c2c7863 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Tue, 20 Apr 2021 17:03:15 -0400 Subject: iso-image: Provide the right rEFInd binary --- nixos/modules/installer/cd-dvd/iso-image.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index b876e83e237..7dd3bf23933 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -162,12 +162,14 @@ let isolinuxCfg = concatStringsSep "\n" ([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry); + refindBinary = if targetArch == "x64" || targetArch == "aa64" then "refind_${targetArch}.efi" else null; + # Setup instructions for rEFInd. refind = - if targetArch == "x64" then + if refindBinary != null then '' # Adds rEFInd to the ISO. - cp -v ${pkgs.refind}/share/refind/refind_x64.efi $out/EFI/boot/ + cp -v ${pkgs.refind}/share/refind/${refindBinary} $out/EFI/boot/ '' else "# No refind for ${targetArch}" @@ -362,11 +364,13 @@ let } } + ${lib.optionalString (refindBinary != null) '' menuentry 'rEFInd' --class refind { # UUID is hard-coded in the derivation. search --set=root --no-floppy --fs-uuid 1234-5678 - chainloader (\$root)/EFI/boot/refind_x64.efi + chainloader (\$root)/EFI/boot/${refindBinary} } + ''} menuentry 'Firmware Setup' --class settings { fwsetup clear -- cgit 1.4.1 From cb5c4fcd3c5d4070f040d591b2dd1da580f234d1 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Tue, 20 Apr 2021 17:11:21 -0400 Subject: iso-image: Hide rEFInd from menu in known non-working situations Looks like GRUB has issues loading EFI binaries from (cd0), which is what would be used in e.g. qemu with OVMF with `-cdrom`. Apparently also what is used with AArch64 + U-Boot USB. --- nixos/modules/installer/cd-dvd/iso-image.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 7dd3bf23933..7a4738599b0 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -365,11 +365,13 @@ let } ${lib.optionalString (refindBinary != null) '' - menuentry 'rEFInd' --class refind { - # UUID is hard-coded in the derivation. - search --set=root --no-floppy --fs-uuid 1234-5678 - chainloader (\$root)/EFI/boot/${refindBinary} - } + # GRUB apparently cannot do "chainloader" operations on "CD". + if [ "\$root" != "cd0" ]; then + menuentry 'rEFInd' --class refind { + # \$root defaults to the drive the EFI is found on. + chainloader (\$root)/EFI/boot/${refindBinary} + } + fi ''} menuentry 'Firmware Setup' --class settings { fwsetup -- cgit 1.4.1 From d053c05d19aef8f1295dcdc1e81de9103892d8db Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Thu, 22 Apr 2021 15:55:44 -0400 Subject: iso-image: Fixes for cross-compilation Note that here, since it's not a in a callPackage call, splicing won't work on nativeBuildInputs. --- nixos/modules/installer/cd-dvd/iso-image.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 7a4738599b0..e25c96d5778 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -263,7 +263,7 @@ let # Make our own efi program, we can't rely on "grub-install" since it seems to # probe for devices, even with --skip-fs-probe. - ${grubPkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ + ${pkgs.buildPackages.grub2_efi}/bin/grub-mkimage --directory=${grubPkgs.grub2_efi}/lib/grub/${grubPkgs.grub2_efi.grubTarget} -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ $MODULES cp ${grubPkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ @@ -388,7 +388,7 @@ let ${refind} ''; - efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; } + efiImg = pkgs.runCommand "efi-image_eltorito" { nativeBuildInputs = [ pkgs.buildPackages.mtools pkgs.buildPackages.libfaketime pkgs.buildPackages.dosfstools ]; } # Be careful about determinism: du --apparent-size, # dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i) '' @@ -408,10 +408,10 @@ let echo "Usage size: $usage_size" echo "Image size: $image_size" truncate --size=$image_size "$out" - ${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out" + faketime "2000-01-01 00:00:00" mkfs.vfat -i 12345678 -n EFIBOOT "$out" mcopy -psvm -i "$out" ./EFI ./boot :: # Verify the FAT partition. - ${pkgs.dosfstools}/sbin/fsck.vfat -vn "$out" + fsck.vfat -vn "$out" ''; # */ # Name used by UEFI for architectures. -- cgit 1.4.1 From f1100e15066c7f1eeff66e0e9dcdaf29131f876b Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 1 May 2021 16:59:24 -0400 Subject: iso-image: Add support for armv7l-linux --- nixos/modules/installer/cd-dvd/iso-image.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index e25c96d5778..d421e3ea428 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -420,6 +420,8 @@ let "ia32" else if pkgs.stdenv.isx86_64 then "x64" + else if pkgs.stdenv.isAarch32 then + "arm" else if pkgs.stdenv.isAarch64 then "aa64" else -- cgit 1.4.1 From 556fc32d699e2ee3b1e7fbf3bb35eb80b966e7fc Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Mon, 3 May 2021 15:52:22 -0400 Subject: iso-image: Build using strictDeps --- nixos/modules/installer/cd-dvd/iso-image.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index d421e3ea428..324b38070e4 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -233,7 +233,10 @@ let # Notes about grub: # * Yes, the grubMenuCfg has to be repeated in all submenus. Otherwise you # will get white-on-black console-like text on sub-menus. *sigh* - efiDir = pkgs.runCommand "efi-directory" {} '' + efiDir = pkgs.runCommand "efi-directory" { + nativeBuildInputs = [ pkgs.buildPackages.grub2_efi ]; + strictDeps = true; + } '' mkdir -p $out/EFI/boot/ # ALWAYS required modules. @@ -263,7 +266,7 @@ let # Make our own efi program, we can't rely on "grub-install" since it seems to # probe for devices, even with --skip-fs-probe. - ${pkgs.buildPackages.grub2_efi}/bin/grub-mkimage --directory=${grubPkgs.grub2_efi}/lib/grub/${grubPkgs.grub2_efi.grubTarget} -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ + grub-mkimage --directory=${grubPkgs.grub2_efi}/lib/grub/${grubPkgs.grub2_efi.grubTarget} -o $out/EFI/boot/boot${targetArch}.efi -p /EFI/boot -O ${grubPkgs.grub2_efi.grubTarget} \ $MODULES cp ${grubPkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ @@ -388,7 +391,10 @@ let ${refind} ''; - efiImg = pkgs.runCommand "efi-image_eltorito" { nativeBuildInputs = [ pkgs.buildPackages.mtools pkgs.buildPackages.libfaketime pkgs.buildPackages.dosfstools ]; } + efiImg = pkgs.runCommand "efi-image_eltorito" { + nativeBuildInputs = [ pkgs.buildPackages.mtools pkgs.buildPackages.libfaketime pkgs.buildPackages.dosfstools ]; + strictDeps = true; + } # Be careful about determinism: du --apparent-size, # dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i) '' -- cgit 1.4.1 From 1cb977c8588c9aa1bf30fe7fa154b5fcc763471f Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Mon, 3 May 2021 23:45:26 -0400 Subject: sd-image: Rely on profiles/all-hardware.nix This ensures that SD images and UEFI installers don't drift in compatibility with regards to early initrd. --- nixos/modules/installer/sd-card/sd-image-aarch64.nix | 7 ------- nixos/modules/installer/sd-card/sd-image.nix | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix index 96ebb7537da..165e2aac27b 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix @@ -18,13 +18,6 @@ # - ttyAMA0: for QEMU's -machine virt boot.kernelParams = ["console=ttyS0,115200n8" "console=ttyAMA0,115200n8" "console=tty0"]; - boot.initrd.availableKernelModules = [ - # Allows early (earlier) modesetting for the Raspberry Pi - "vc4" "bcm2835_dma" "i2c_bcm2835" - # Allows early (earlier) modesetting for Allwinner SoCs - "sun4i_drm" "sun8i_drm_hdmi" "sun8i_mixer" - ]; - sdImage = { populateFirmwareCommands = let configTxt = pkgs.writeText "config.txt" '' diff --git a/nixos/modules/installer/sd-card/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix index 45c8c67169b..d0fe79903d3 100644 --- a/nixos/modules/installer/sd-card/sd-image.nix +++ b/nixos/modules/installer/sd-card/sd-image.nix @@ -29,6 +29,7 @@ in imports = [ (mkRemovedOptionModule [ "sdImage" "bootPartitionID" ] "The FAT partition for SD image now only holds the Raspberry Pi firmware files. Use firmwarePartitionID to configure that partition's ID.") (mkRemovedOptionModule [ "sdImage" "bootSize" ] "The boot files for SD image have been moved to the main ext4 partition. The FAT partition now only holds the Raspberry Pi firmware files. Changing its size may not be required.") + ../../profiles/all-hardware.nix ]; options.sdImage = { -- cgit 1.4.1 From 6cb46a389741f7916d2c5746d655c76f9333b148 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Wed, 5 May 2021 15:06:20 -0400 Subject: sd_image_raspberrypi4: Remove, as planned initially The replacement is the generic AArch64 image. From there, you can customize an image that works better for your needs, if need be. --- nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix | 14 -------------- .../installer/sd-card/sd-image-raspberrypi4-installer.nix | 10 ---------- nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix | 8 -------- nixos/release.nix | 5 ----- 4 files changed, 37 deletions(-) delete mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix delete mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix delete mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix deleted file mode 100644 index 79db1fa29bc..00000000000 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ config, ... }: -{ - imports = [ - ../sd-card/sd-image-raspberrypi4-installer.nix - ]; - config = { - warnings = [ - '' - .../cd-dvd/sd-image-raspberrypi4.nix is deprecated and will eventually be removed. - Please switch to .../sd-card/sd-image-raspberrypi4-installer.nix, instead. - '' - ]; - }; -} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix deleted file mode 100644 index 59423e40b64..00000000000 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi4-installer.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - imports = [ - ../../profiles/installation-device.nix - ./sd-image-raspberrypi4.nix - ]; - - # the installation media is also the installation target, - # so we don't want to provide the installation configuration.nix. - installer.cloneConfig = false; -} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix deleted file mode 100644 index 35a12c5382f..00000000000 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix +++ /dev/null @@ -1,8 +0,0 @@ -# To build, use: -# nix-build nixos -I nixos-config=nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix -A config.system.build.sdImage -{ config, lib, pkgs, ... }: - -{ - imports = [ ./sd-image-aarch64.nix ]; - boot.kernelPackages = pkgs.linuxPackages_rpi4; -} diff --git a/nixos/release.nix b/nixos/release.nix index 327a259de7f..510cd8f82a1 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -186,11 +186,6 @@ in rec { inherit system; }); - sd_image_raspberrypi4 = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage { - module = ./modules/installer/sd-card/sd-image-raspberrypi4-installer.nix; - inherit system; - }); - # A bootable VirtualBox virtual appliance as an OVA file (i.e. packaged OVF). ova = forMatchingSystems [ "x86_64-linux" ] (system: -- cgit 1.4.1 From 468cb5980b56d348979488a74a9b5de638400160 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Fri, 7 May 2021 23:18:14 +0200 Subject: gnome: rename from gnome3 Since GNOME version is now 40, it no longer makes sense to use the old attribute name. --- doc/languages-frameworks/gnome.section.md | 4 +- maintainers/scripts/update.nix | 4 +- nixos/doc/manual/configuration/x-windows.xml | 2 +- nixos/doc/manual/release-notes/rl-1909.xml | 8 +- nixos/doc/manual/release-notes/rl-2105.xml | 4 +- .../cd-dvd/installation-cd-graphical-gnome.nix | 2 +- nixos/modules/installer/virtualbox-demo.nix | 2 +- nixos/modules/module-list.nix | 30 +- nixos/modules/programs/file-roller.nix | 4 +- nixos/modules/programs/geary.nix | 6 +- nixos/modules/programs/gnome-disks.nix | 4 +- nixos/modules/programs/gnome-documents.nix | 10 +- nixos/modules/programs/gnome-terminal.nix | 6 +- nixos/modules/programs/gpaste.nix | 8 +- nixos/modules/programs/phosh.nix | 4 +- nixos/modules/programs/seahorse.nix | 6 +- nixos/modules/security/pam.nix | 6 +- nixos/modules/services/desktops/flatpak.nix | 2 +- .../services/desktops/gnome/at-spi2-core.nix | 57 +++ .../services/desktops/gnome/chrome-gnome-shell.nix | 41 ++ .../desktops/gnome/evolution-data-server.nix | 71 +++ .../services/desktops/gnome/glib-networking.nix | 45 ++ .../desktops/gnome/gnome-initial-setup.nix | 98 ++++ .../services/desktops/gnome/gnome-keyring.nix | 61 +++ .../desktops/gnome/gnome-online-accounts.nix | 51 ++ .../desktops/gnome/gnome-online-miners.nix | 51 ++ .../desktops/gnome/gnome-remote-desktop.nix | 32 ++ .../desktops/gnome/gnome-settings-daemon.nix | 84 ++++ .../services/desktops/gnome/gnome-user-share.nix | 48 ++ nixos/modules/services/desktops/gnome/rygel.nix | 44 ++ nixos/modules/services/desktops/gnome/sushi.nix | 50 ++ .../services/desktops/gnome/tracker-miners.nix | 52 ++ nixos/modules/services/desktops/gnome/tracker.nix | 53 ++ .../services/desktops/gnome3/at-spi2-core.nix | 49 -- .../desktops/gnome3/chrome-gnome-shell.nix | 33 -- .../desktops/gnome3/evolution-data-server.nix | 59 --- .../services/desktops/gnome3/glib-networking.nix | 37 -- .../desktops/gnome3/gnome-initial-setup.nix | 90 ---- .../services/desktops/gnome3/gnome-keyring.nix | 53 -- .../desktops/gnome3/gnome-online-accounts.nix | 43 -- .../desktops/gnome3/gnome-online-miners.nix | 43 -- .../desktops/gnome3/gnome-remote-desktop.nix | 24 - .../desktops/gnome3/gnome-settings-daemon.nix | 78 --- .../services/desktops/gnome3/gnome-user-share.nix | 40 -- nixos/modules/services/desktops/gnome3/rygel.nix | 36 -- nixos/modules/services/desktops/gnome3/sushi.nix | 42 -- .../services/desktops/gnome3/tracker-miners.nix | 44 -- nixos/modules/services/desktops/gnome3/tracker.nix | 45 -- nixos/modules/services/desktops/gvfs.nix | 2 +- nixos/modules/services/desktops/telepathy.nix | 2 +- .../services/x11/desktop-managers/cinnamon.nix | 18 +- .../services/x11/desktop-managers/default.nix | 2 +- .../services/x11/desktop-managers/gnome.nix | 560 +++++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 500 ------------------ .../modules/services/x11/desktop-managers/lxqt.nix | 2 +- .../modules/services/x11/desktop-managers/mate.nix | 6 +- .../services/x11/desktop-managers/pantheon.nix | 24 +- .../modules/services/x11/desktop-managers/xfce.nix | 6 +- .../modules/services/x11/display-managers/gdm.nix | 10 +- .../display-managers/lightdm-greeters/enso-os.nix | 4 +- .../x11/display-managers/lightdm-greeters/gtk.nix | 12 +- .../services/x11/window-managers/metacity.nix | 6 +- nixos/release-combined.nix | 4 +- nixos/release.nix | 4 +- nixos/tests/all-tests.nix | 4 +- nixos/tests/gnome-xorg.nix | 81 +++ nixos/tests/gnome.nix | 82 +++ nixos/tests/gnome3-xorg.nix | 81 --- nixos/tests/gnome3.nix | 82 --- nixos/tests/installed-tests/gnome-photos.nix | 2 +- nixos/tests/installed-tests/libgdata.nix | 2 +- nixos/tests/nixos-generate-config.nix | 4 +- nixos/tests/plotinus.nix | 2 +- .../accessibility/mousetweaks/default.nix | 4 +- .../accessibility/squeekboard/default.nix | 4 +- .../applications/audio/cozy-audiobooks/default.nix | 4 +- pkgs/applications/audio/easytag/default.nix | 6 +- pkgs/applications/audio/gpodder/default.nix | 4 +- pkgs/applications/audio/gtkpod/default.nix | 4 +- pkgs/applications/audio/guitarix/default.nix | 4 +- .../audio/helio-workstation/default.nix | 6 +- .../audio/kapitonov-plugins-pack/default.nix | 2 +- pkgs/applications/audio/pavucontrol/default.nix | 4 +- pkgs/applications/audio/pithos/default.nix | 4 +- pkgs/applications/audio/quodlibet/default.nix | 4 +- pkgs/applications/audio/rhythmbox/default.nix | 6 +- pkgs/applications/audio/sfizz/default.nix | 6 +- pkgs/applications/audio/sonata/default.nix | 4 +- pkgs/applications/audio/sound-juicer/default.nix | 6 +- pkgs/applications/audio/spotify/default.nix | 4 +- .../display-managers/lightdm/default.nix | 4 +- pkgs/applications/editors/apostrophe/default.nix | 4 +- pkgs/applications/editors/bluefish/default.nix | 4 +- .../applications/editors/gnome-builder/default.nix | 6 +- pkgs/applications/editors/gnome-latex/default.nix | 6 +- pkgs/applications/editors/gobby/default.nix | 2 +- pkgs/applications/graphics/avocode/default.nix | 4 +- pkgs/applications/graphics/darktable/default.nix | 4 +- pkgs/applications/graphics/gimp/wrapper.nix | 4 +- pkgs/applications/graphics/glabels/default.nix | 6 +- pkgs/applications/graphics/glimpse/wrapper.nix | 4 +- .../applications/graphics/gnome-photos/default.nix | 6 +- pkgs/applications/graphics/gthumb/default.nix | 6 +- pkgs/applications/graphics/megapixels/default.nix | 4 +- pkgs/applications/graphics/ocrfeeder/default.nix | 2 +- pkgs/applications/graphics/shotwell/default.nix | 6 +- .../applications/graphics/synfigstudio/default.nix | 4 +- pkgs/applications/graphics/tev/default.nix | 4 +- pkgs/applications/graphics/vimiv/default.nix | 4 +- pkgs/applications/misc/almanah/default.nix | 4 +- pkgs/applications/misc/font-manager/default.nix | 4 +- pkgs/applications/misc/gksu/default.nix | 4 +- .../misc/gnome-multi-writer/default.nix | 4 +- pkgs/applications/misc/gnome-recipes/default.nix | 4 +- pkgs/applications/misc/gnome-usage/default.nix | 6 +- pkgs/applications/misc/gpx-viewer/default.nix | 4 +- pkgs/applications/misc/gummi/default.nix | 2 +- pkgs/applications/misc/lutris/fhsenv.nix | 4 +- .../misc/notify-osd-customizable/default.nix | 4 +- pkgs/applications/misc/olifant/default.nix | 4 +- pkgs/applications/misc/orca/default.nix | 6 +- pkgs/applications/misc/pcmanfm/default.nix | 4 +- pkgs/applications/misc/phoc/default.nix | 6 +- pkgs/applications/misc/plank/default.nix | 4 +- pkgs/applications/misc/pytrainer/default.nix | 4 +- pkgs/applications/misc/safeeyes/default.nix | 6 +- pkgs/applications/misc/snapper-gui/default.nix | 4 +- pkgs/applications/misc/tootle/default.nix | 4 +- pkgs/applications/misc/ulauncher/default.nix | 4 +- .../networking/browsers/brave/default.nix | 4 +- .../networking/browsers/chromium/common.nix | 4 +- .../networking/browsers/chromium/default.nix | 8 +- .../networking/browsers/eolie/default.nix | 4 +- .../networking/browsers/firefox-bin/default.nix | 4 +- .../networking/browsers/firefox/wrapper.nix | 4 +- .../networking/browsers/google-chrome/default.nix | 4 +- .../browsers/tor-browser-bundle-bin/default.nix | 4 +- pkgs/applications/networking/dropbox/cli.nix | 4 +- .../networking/feedreaders/feedreader/default.nix | 4 +- .../instant-messengers/coyim/default.nix | 4 +- .../networking/instant-messengers/dino/default.nix | 4 +- .../instant-messengers/gajim/default.nix | 4 +- .../instant-messengers/skypeforlinux/default.nix | 4 +- .../whatsapp-for-linux/default.nix | 6 +- .../networking/mailreaders/astroid/default.nix | 4 +- .../evolution/evolution-ews/default.nix | 4 +- .../mailreaders/evolution/evolution/default.nix | 8 +- .../mailreaders/evolution/evolution/wrapper.nix | 4 +- .../networking/mailreaders/thunderbird-bin/68.nix | 4 +- .../mailreaders/thunderbird-bin/default.nix | 4 +- .../networking/p2p/retroshare/default.nix | 4 +- pkgs/applications/networking/pcloud/default.nix | 4 +- .../networking/remote/citrix-workspace/generic.nix | 4 +- .../networking/remote/remmina/default.nix | 4 +- .../networking/syncthing-gtk/default.nix | 4 +- pkgs/applications/office/abiword/default.nix | 4 +- pkgs/applications/office/gnumeric/default.nix | 6 +- pkgs/applications/office/grisbi/default.nix | 4 +- pkgs/applications/office/homebank/default.nix | 4 +- pkgs/applications/office/libreoffice/default.nix | 4 +- .../office/paperwork/paperwork-gtk.nix | 4 +- pkgs/applications/office/tryton/default.nix | 4 +- pkgs/applications/office/zim/default.nix | 4 +- pkgs/applications/office/zotero/default.nix | 4 +- .../science/electronics/kicad/default.nix | 4 +- pkgs/applications/science/logic/coq/default.nix | 4 +- .../applications/science/math/wxmaxima/default.nix | 4 +- .../terminal-emulators/kgx/default.nix | 4 +- .../terminal-emulators/mlterm/default.nix | 2 +- .../version-management/gitkraken/default.nix | 4 +- .../version-management/meld/default.nix | 6 +- .../version-management/smartgithg/default.nix | 4 +- pkgs/applications/video/byzanz/default.nix | 4 +- pkgs/applications/video/pitivi/default.nix | 8 +- .../virtualization/virt-manager/default.nix | 4 +- .../applications/window-managers/phosh/default.nix | 12 +- .../window-managers/xmonad/log-applet/default.nix | 4 +- pkgs/build-support/appimage/default.nix | 2 +- .../data/documentation/gnome-user-docs/default.nix | 4 +- pkgs/data/fonts/cantarell-fonts/default.nix | 4 +- pkgs/data/icons/arc-icon-theme/default.nix | 4 +- .../icons/elementary-xfce-icon-theme/default.nix | 4 +- pkgs/data/icons/humanity-icon-theme/default.nix | 4 +- pkgs/data/icons/paper-icon-theme/default.nix | 4 +- pkgs/data/icons/pop-icon-theme/default.nix | 4 +- .../mobile-broadband-provider-info/default.nix | 4 +- pkgs/data/themes/adapta/default.nix | 4 +- pkgs/data/themes/arc/default.nix | 6 +- pkgs/data/themes/canta/default.nix | 4 +- pkgs/data/themes/equilux-theme/default.nix | 6 +- pkgs/data/themes/lounge/default.nix | 4 +- pkgs/data/themes/materia-theme/default.nix | 6 +- pkgs/data/themes/ubuntu-themes/default.nix | 4 +- pkgs/data/themes/yaru/default.nix | 4 +- pkgs/desktops/cinnamon/cinnamon-common/default.nix | 4 +- .../cinnamon/cinnamon-control-center/default.nix | 2 +- .../cinnamon/cinnamon-screensaver/default.nix | 4 +- pkgs/desktops/cinnamon/cjs/default.nix | 4 +- pkgs/desktops/cinnamon/mint-x-icons/default.nix | 4 +- pkgs/desktops/cinnamon/mint-y-icons/default.nix | 4 +- pkgs/desktops/cinnamon/muffin/default.nix | 4 +- pkgs/desktops/gnome-3/apps/accerciser/default.nix | 74 --- pkgs/desktops/gnome-3/apps/cheese/default.nix | 121 ----- pkgs/desktops/gnome-3/apps/file-roller/default.nix | 48 -- pkgs/desktops/gnome-3/apps/gedit/default.nix | 81 --- pkgs/desktops/gnome-3/apps/ghex/default.nix | 84 ---- pkgs/desktops/gnome-3/apps/gnome-books/default.nix | 86 ---- pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix | 145 ------ .../gnome-3/apps/gnome-calendar/default.nix | 84 ---- .../gnome-calendar/gtk_image_reset_crash.patch | 17 - .../gnome-3/apps/gnome-characters/default.nix | 88 ---- .../desktops/gnome-3/apps/gnome-clocks/default.nix | 87 ---- .../gnome-3/apps/gnome-connections/default.nix | 75 --- .../gnome-3/apps/gnome-documents/default.nix | 127 ----- pkgs/desktops/gnome-3/apps/gnome-logs/default.nix | 86 ---- pkgs/desktops/gnome-3/apps/gnome-maps/default.nix | 104 ---- pkgs/desktops/gnome-3/apps/gnome-music/default.nix | 113 ----- .../gnome-3/apps/gnome-nettool/default.nix | 36 -- pkgs/desktops/gnome-3/apps/gnome-notes/default.nix | 87 ---- .../gnome-3/apps/gnome-power-manager/default.nix | 60 --- .../gnome-3/apps/gnome-sound-recorder/default.nix | 72 --- pkgs/desktops/gnome-3/apps/gnome-todo/default.nix | 89 ---- .../gnome-3/apps/gnome-weather/default.nix | 76 --- pkgs/desktops/gnome-3/apps/polari/default.nix | 54 -- .../apps/polari/make-thumbnailer-wrappable.patch | 24 - pkgs/desktops/gnome-3/apps/seahorse/default.nix | 84 ---- pkgs/desktops/gnome-3/apps/vinagre/default.nix | 34 -- .../gnome-3/core/adwaita-icon-theme/default.nix | 36 -- pkgs/desktops/gnome-3/core/baobab/default.nix | 64 --- pkgs/desktops/gnome-3/core/caribou/default.nix | 54 -- .../desktops/gnome-3/core/dconf-editor/default.nix | 69 --- pkgs/desktops/gnome-3/core/empathy/default.nix | 147 ------ pkgs/desktops/gnome-3/core/eog/default.nix | 95 ---- pkgs/desktops/gnome-3/core/epiphany/default.nix | 115 ----- pkgs/desktops/gnome-3/core/evince/default.nix | 135 ----- .../gnome-3/core/evolution-data-server/default.nix | 66 --- .../core/evolution-data-server/fix-paths.patch | 11 - .../evolution-data-server/hardcode-gsettings.patch | 526 ------------------- pkgs/desktops/gnome-3/core/gdm/default.nix | 180 ------- pkgs/desktops/gnome-3/core/gdm/fix-paths.patch | 82 --- .../core/gdm/gdm-session-worker_forward-vars.patch | 31 -- .../core/gdm/gdm-x-session_extra_args.patch | 38 -- .../core/gdm/gdm-x-session_session-wrapper.patch | 40 -- .../gdm/org.gnome.login-screen.gschema.override | 2 - .../gnome-3/core/gdm/reset-environment.patch | 20 - .../gnome-3/core/gnome-backgrounds/default.nix | 22 - .../gnome-3/core/gnome-bluetooth/default.nix | 86 ---- .../gnome-3/core/gnome-calculator/default.nix | 89 ---- .../gnome-3/core/gnome-color-manager/default.nix | 66 --- .../desktops/gnome-3/core/gnome-common/default.nix | 27 - .../gnome-3/core/gnome-contacts/default.nix | 95 ---- .../gnome-3/core/gnome-control-center/default.nix | 190 ------- .../gnome-3/core/gnome-control-center/paths.patch | 194 ------- .../core/gnome-desktop/bubblewrap-paths.patch | 15 - .../gnome-3/core/gnome-desktop/default.nix | 96 ---- .../gnome-3/core/gnome-dictionary/default.nix | 36 -- .../gnome-3/core/gnome-disk-utility/default.nix | 85 ---- .../gnome-3/core/gnome-font-viewer/default.nix | 35 -- .../core/gnome-initial-setup/0001-fix-paths.patch | 62 --- .../gnome-3/core/gnome-initial-setup/default.nix | 106 ---- .../gnome-3/core/gnome-initial-setup/vendor.conf | 5 - .../gnome-3/core/gnome-keyring/default.nix | 102 ---- .../gnome-3/core/gnome-online-miners/default.nix | 116 ----- .../gnome-3/core/gnome-remote-desktop/default.nix | 64 --- .../gnome-3/core/gnome-screenshot/default.nix | 43 -- pkgs/desktops/gnome-3/core/gnome-session/ctl.nix | 42 -- .../gnome-3/core/gnome-session/default.nix | 90 ---- .../gnome-3/core/gnome-session/fix-paths.patch | 42 -- .../gnome-3/core/gnome-settings-daemon/default.nix | 133 ----- .../core/gnome-settings-daemon/fix-paths.patch | 15 - .../global-backlight-helper.patch | 26 - .../core/gnome-shell-extensions/default.nix | 73 --- .../core/gnome-shell-extensions/fix_gmenu.patch | 11 - pkgs/desktops/gnome-3/core/gnome-shell/default.nix | 225 --------- .../gnome-3/core/gnome-shell/fix-paths.patch | 30 -- .../gnome-3/core/gnome-shell/shew-gir-path.patch | 11 - .../gnome-3/core/gnome-shell/wrap-services.patch | 57 --- .../gnome-3/core/gnome-software/default.nix | 120 ----- .../gnome-3/core/gnome-software/fix-paths.patch | 11 - .../gnome-3/core/gnome-system-monitor/default.nix | 81 --- .../gnome-3/core/gnome-terminal/default.nix | 51 -- .../gnome-3/core/gnome-themes-extra/default.nix | 35 -- pkgs/desktops/gnome-3/core/gnome-tour/default.nix | 75 --- .../gnome-3/core/gnome-user-share/default.nix | 96 ---- pkgs/desktops/gnome-3/core/gucharmap/default.nix | 108 ---- .../gnome-3/core/libgnome-keyring/default.nix | 32 -- .../3.34/0001-EGL-Include-EGL-eglmesaext.h.patch | 74 --- .../core/mutter/3.34/0002-drop-inheritable.patch | 135 ----- .../mutter/3.34/0003-Fix-glitches-in-gala.patch | 33 -- ...rofiler-track-changes-in-GLib-and-Sysprof.patch | 58 --- ...ing-display.h-to-meta-workspace-manager.h.patch | 32 -- .../0006-build-bump-ABI-to-sysprof-capture-4.patch | 102 ---- .../gnome-3/core/mutter/3.34/0007-fix-paths.patch | 27 - pkgs/desktops/gnome-3/core/mutter/3.34/default.nix | 134 ----- pkgs/desktops/gnome-3/core/mutter/default.nix | 170 ------- .../gnome-3/core/mutter/drop-inheritable.patch | 132 ----- pkgs/desktops/gnome-3/core/mutter/fix-paths.patch | 13 - pkgs/desktops/gnome-3/core/nautilus/default.nix | 118 ----- .../gnome-3/core/nautilus/extension_dir.patch | 24 - .../desktops/gnome-3/core/nautilus/fix-paths.patch | 13 - .../add-option-for-installation-sysconfdir.patch | 38 -- pkgs/desktops/gnome-3/core/rygel/default.nix | 110 ---- pkgs/desktops/gnome-3/core/simple-scan/default.nix | 89 ---- pkgs/desktops/gnome-3/core/sushi/default.nix | 83 --- pkgs/desktops/gnome-3/core/totem/default.nix | 123 ----- pkgs/desktops/gnome-3/core/yelp-xsl/default.nix | 52 -- pkgs/desktops/gnome-3/core/yelp/default.nix | 36 -- pkgs/desktops/gnome-3/core/zenity/default.nix | 50 -- pkgs/desktops/gnome-3/default.nix | 364 -------------- pkgs/desktops/gnome-3/devtools/anjuta/default.nix | 44 -- pkgs/desktops/gnome-3/devtools/devhelp/default.nix | 80 --- .../gnome-3/devtools/gnome-devel-docs/default.nix | 25 - .../gnome-3/extensions/EasyScreenCast/default.nix | 38 -- .../extensions/EasyScreenCast/fix-gi-path.patch | 16 - .../gnome-3/extensions/appindicator/default.nix | 36 -- .../gnome-3/extensions/arcmenu/default.nix | 35 -- .../gnome-3/extensions/arcmenu/fix_gmenu.patch | 11 - .../gnome-3/extensions/caffeine/default.nix | 40 -- .../extensions/chrome-gnome-shell/default.nix | 71 --- .../extensions/clipboard-indicator/default.nix | 30 -- .../gnome-3/extensions/clock-override/default.nix | 37 -- .../gnome-3/extensions/dash-to-dock/default.nix | 35 -- .../gnome-3/extensions/dash-to-panel/default.nix | 28 -- .../extensions/disable-unredirect/default.nix | 31 -- .../extensions/draw-on-your-screen/default.nix | 29 -- .../extensions/drop-down-terminal/default.nix | 36 -- .../drop-down-terminal/fix_vte_and_gjs.patch | 32 -- .../dynamic-panel-transparency/default.nix | 38 -- .../gnome-3/extensions/emoji-selector/default.nix | 38 -- pkgs/desktops/gnome-3/extensions/freon/default.nix | 37 -- .../extensions/fuzzy-app-search/default.nix | 29 -- .../fuzzy-app-search/fix-desktop-file-paths.patch | 50 -- .../gnome-3/extensions/gsconnect/default.nix | 116 ----- .../gnome-3/extensions/gsconnect/fix-paths.patch | 37 -- .../gsconnect/installed-tests-path.patch | 30 -- .../gnome-3/extensions/hot-edge/default.nix | 33 -- .../gnome-3/extensions/icon-hider/default.nix | 31 -- .../gnome-3/extensions/impatience/default.nix | 39 -- .../gnome-3/extensions/material-shell/default.nix | 35 -- .../extensions/mpris-indicator-button/default.nix | 42 -- .../extensions/night-theme-switcher/default.nix | 32 -- .../gnome-3/extensions/no-title-bar/default.nix | 35 -- .../extensions/no-title-bar/fix-paths.patch | 56 --- .../gnome-3/extensions/noannoyance/default.nix | 31 -- .../gnome-3/extensions/paperwm/default.nix | 31 -- .../extensions/pidgin-im-integration/default.nix | 36 -- .../extensions/remove-dropdown-arrows/default.nix | 34 -- .../sound-output-device-chooser/default.nix | 44 -- .../sound-output-device-chooser/fix-paths.patch | 26 - .../gnome-3/extensions/system-monitor/default.nix | 50 -- .../paths_and_nonexisting_dirs.patch | 33 -- .../gnome-3/extensions/taskwhisperer/default.nix | 42 -- .../extensions/taskwhisperer/fix-paths.patch | 99 ---- .../gnome-3/extensions/tilingnome/default.nix | 38 -- .../desktops/gnome-3/extensions/timepp/default.nix | 28 -- .../gnome-3/extensions/topicons-plus/default.nix | 28 -- pkgs/desktops/gnome-3/extensions/unite/default.nix | 40 -- .../extensions/window-corner-preview/default.nix | 31 -- .../extensions/window-is-ready-remover/default.nix | 28 -- .../extensions/workspace-matrix/default.nix | 36 -- pkgs/desktops/gnome-3/find-latest-version.py | 89 ---- pkgs/desktops/gnome-3/games/aisleriot/default.nix | 77 --- pkgs/desktops/gnome-3/games/atomix/default.nix | 37 -- .../gnome-3/games/five-or-more/default.nix | 40 -- .../gnome-3/games/four-in-a-row/default.nix | 39 -- .../desktops/gnome-3/games/gnome-chess/default.nix | 68 --- .../gnome-3/games/gnome-klotski/default.nix | 43 -- .../gnome-3/games/gnome-mahjongg/default.nix | 41 -- .../desktops/gnome-3/games/gnome-mines/default.nix | 39 -- .../gnome-3/games/gnome-nibbles/default.nix | 84 ---- .../gnome-3/games/gnome-robots/default.nix | 73 --- .../gnome-3/games/gnome-sudoku/default.nix | 35 -- .../gnome-3/games/gnome-taquin/default.nix | 75 --- .../gnome-3/games/gnome-tetravex/default.nix | 39 -- pkgs/desktops/gnome-3/games/hitori/default.nix | 66 --- pkgs/desktops/gnome-3/games/iagno/default.nix | 77 --- pkgs/desktops/gnome-3/games/lightsoff/default.nix | 39 -- .../gnome-3/games/quadrapassel/default.nix | 40 -- pkgs/desktops/gnome-3/games/swell-foop/default.nix | 72 --- pkgs/desktops/gnome-3/games/tali/default.nix | 38 -- pkgs/desktops/gnome-3/installer.nix | 15 - pkgs/desktops/gnome-3/misc/geary/default.nix | 160 ------ pkgs/desktops/gnome-3/misc/gitg/default.nix | 95 ---- .../gnome-3/misc/gnome-applets/default.nix | 80 --- .../desktops/gnome-3/misc/gnome-autoar/default.nix | 48 -- .../gnome-3/misc/gnome-flashback/default.nix | 203 -------- .../gnome-3/misc/gnome-packagekit/default.nix | 37 -- pkgs/desktops/gnome-3/misc/gnome-panel/default.nix | 99 ---- .../gnome-screensaver/fix-dbus-service-dir.patch | 11 - .../desktops/gnome-3/misc/gnome-tweaks/default.nix | 81 --- pkgs/desktops/gnome-3/misc/gpaste/default.nix | 81 --- pkgs/desktops/gnome-3/misc/gpaste/fix-paths.patch | 37 -- pkgs/desktops/gnome-3/misc/gtkhtml/default.nix | 27 - .../misc/libgnome-games-support/default.nix | 58 --- pkgs/desktops/gnome-3/misc/metacity/default.nix | 74 --- .../desktops/gnome-3/misc/metacity/fix-paths.patch | 11 - .../gnome-3/misc/nautilus-python/default.nix | 63 --- pkgs/desktops/gnome-3/misc/pomodoro/default.nix | 73 --- pkgs/desktops/gnome-3/update.nix | 26 - pkgs/desktops/gnome/apps/accerciser/default.nix | 74 +++ pkgs/desktops/gnome/apps/cheese/default.nix | 121 +++++ pkgs/desktops/gnome/apps/file-roller/default.nix | 48 ++ pkgs/desktops/gnome/apps/gedit/default.nix | 81 +++ pkgs/desktops/gnome/apps/ghex/default.nix | 84 ++++ pkgs/desktops/gnome/apps/gnome-books/default.nix | 86 ++++ pkgs/desktops/gnome/apps/gnome-boxes/default.nix | 145 ++++++ .../desktops/gnome/apps/gnome-calendar/default.nix | 84 ++++ .../gnome-calendar/gtk_image_reset_crash.patch | 17 + .../gnome/apps/gnome-characters/default.nix | 88 ++++ pkgs/desktops/gnome/apps/gnome-clocks/default.nix | 87 ++++ .../gnome/apps/gnome-connections/default.nix | 75 +++ .../gnome/apps/gnome-documents/default.nix | 127 +++++ pkgs/desktops/gnome/apps/gnome-logs/default.nix | 86 ++++ pkgs/desktops/gnome/apps/gnome-maps/default.nix | 104 ++++ pkgs/desktops/gnome/apps/gnome-music/default.nix | 113 +++++ pkgs/desktops/gnome/apps/gnome-nettool/default.nix | 36 ++ pkgs/desktops/gnome/apps/gnome-notes/default.nix | 87 ++++ .../gnome/apps/gnome-power-manager/default.nix | 60 +++ .../gnome/apps/gnome-sound-recorder/default.nix | 72 +++ pkgs/desktops/gnome/apps/gnome-todo/default.nix | 89 ++++ pkgs/desktops/gnome/apps/gnome-weather/default.nix | 76 +++ pkgs/desktops/gnome/apps/polari/default.nix | 54 ++ .../apps/polari/make-thumbnailer-wrappable.patch | 24 + pkgs/desktops/gnome/apps/seahorse/default.nix | 84 ++++ pkgs/desktops/gnome/apps/vinagre/default.nix | 34 ++ .../gnome/core/adwaita-icon-theme/default.nix | 36 ++ pkgs/desktops/gnome/core/baobab/default.nix | 64 +++ pkgs/desktops/gnome/core/caribou/default.nix | 54 ++ pkgs/desktops/gnome/core/dconf-editor/default.nix | 69 +++ pkgs/desktops/gnome/core/empathy/default.nix | 147 ++++++ pkgs/desktops/gnome/core/eog/default.nix | 95 ++++ pkgs/desktops/gnome/core/epiphany/default.nix | 115 +++++ pkgs/desktops/gnome/core/evince/default.nix | 135 +++++ .../gnome/core/evolution-data-server/default.nix | 66 +++ .../core/evolution-data-server/fix-paths.patch | 11 + .../evolution-data-server/hardcode-gsettings.patch | 526 +++++++++++++++++++ pkgs/desktops/gnome/core/gdm/default.nix | 180 +++++++ pkgs/desktops/gnome/core/gdm/fix-paths.patch | 82 +++ .../core/gdm/gdm-session-worker_forward-vars.patch | 31 ++ .../gnome/core/gdm/gdm-x-session_extra_args.patch | 38 ++ .../core/gdm/gdm-x-session_session-wrapper.patch | 40 ++ .../gdm/org.gnome.login-screen.gschema.override | 2 + .../gnome/core/gdm/reset-environment.patch | 20 + .../gnome/core/gnome-backgrounds/default.nix | 22 + .../gnome/core/gnome-bluetooth/default.nix | 86 ++++ .../gnome/core/gnome-calculator/default.nix | 89 ++++ .../gnome/core/gnome-color-manager/default.nix | 66 +++ pkgs/desktops/gnome/core/gnome-common/default.nix | 27 + .../desktops/gnome/core/gnome-contacts/default.nix | 95 ++++ .../gnome/core/gnome-control-center/default.nix | 190 +++++++ .../gnome/core/gnome-control-center/paths.patch | 194 +++++++ .../core/gnome-desktop/bubblewrap-paths.patch | 15 + pkgs/desktops/gnome/core/gnome-desktop/default.nix | 96 ++++ .../gnome/core/gnome-dictionary/default.nix | 36 ++ .../gnome/core/gnome-disk-utility/default.nix | 85 ++++ .../gnome/core/gnome-font-viewer/default.nix | 35 ++ .../core/gnome-initial-setup/0001-fix-paths.patch | 62 +++ .../gnome/core/gnome-initial-setup/default.nix | 106 ++++ .../gnome/core/gnome-initial-setup/vendor.conf | 5 + pkgs/desktops/gnome/core/gnome-keyring/default.nix | 102 ++++ .../gnome/core/gnome-online-miners/default.nix | 116 +++++ .../gnome/core/gnome-remote-desktop/default.nix | 64 +++ .../gnome/core/gnome-screenshot/default.nix | 43 ++ pkgs/desktops/gnome/core/gnome-session/ctl.nix | 42 ++ pkgs/desktops/gnome/core/gnome-session/default.nix | 90 ++++ .../gnome/core/gnome-session/fix-paths.patch | 42 ++ .../gnome/core/gnome-settings-daemon/default.nix | 133 +++++ .../core/gnome-settings-daemon/fix-paths.patch | 15 + .../global-backlight-helper.patch | 26 + .../gnome/core/gnome-shell-extensions/default.nix | 73 +++ .../core/gnome-shell-extensions/fix_gmenu.patch | 11 + pkgs/desktops/gnome/core/gnome-shell/default.nix | 225 +++++++++ .../gnome/core/gnome-shell/fix-paths.patch | 30 ++ .../gnome/core/gnome-shell/shew-gir-path.patch | 11 + .../gnome/core/gnome-shell/wrap-services.patch | 57 +++ .../desktops/gnome/core/gnome-software/default.nix | 120 +++++ .../gnome/core/gnome-software/fix-paths.patch | 11 + .../gnome/core/gnome-system-monitor/default.nix | 81 +++ .../desktops/gnome/core/gnome-terminal/default.nix | 51 ++ .../gnome/core/gnome-themes-extra/default.nix | 35 ++ pkgs/desktops/gnome/core/gnome-tour/default.nix | 75 +++ .../gnome/core/gnome-user-share/default.nix | 96 ++++ pkgs/desktops/gnome/core/gucharmap/default.nix | 108 ++++ .../gnome/core/libgnome-keyring/default.nix | 32 ++ .../3.34/0001-EGL-Include-EGL-eglmesaext.h.patch | 74 +++ .../core/mutter/3.34/0002-drop-inheritable.patch | 135 +++++ .../mutter/3.34/0003-Fix-glitches-in-gala.patch | 33 ++ ...rofiler-track-changes-in-GLib-and-Sysprof.patch | 58 +++ ...ing-display.h-to-meta-workspace-manager.h.patch | 32 ++ .../0006-build-bump-ABI-to-sysprof-capture-4.patch | 102 ++++ .../gnome/core/mutter/3.34/0007-fix-paths.patch | 27 + pkgs/desktops/gnome/core/mutter/3.34/default.nix | 134 +++++ pkgs/desktops/gnome/core/mutter/default.nix | 170 +++++++ .../gnome/core/mutter/drop-inheritable.patch | 132 +++++ pkgs/desktops/gnome/core/mutter/fix-paths.patch | 13 + pkgs/desktops/gnome/core/nautilus/default.nix | 118 +++++ .../gnome/core/nautilus/extension_dir.patch | 24 + pkgs/desktops/gnome/core/nautilus/fix-paths.patch | 13 + .../add-option-for-installation-sysconfdir.patch | 38 ++ pkgs/desktops/gnome/core/rygel/default.nix | 110 ++++ pkgs/desktops/gnome/core/simple-scan/default.nix | 89 ++++ pkgs/desktops/gnome/core/sushi/default.nix | 83 +++ pkgs/desktops/gnome/core/totem/default.nix | 123 +++++ pkgs/desktops/gnome/core/yelp-xsl/default.nix | 52 ++ pkgs/desktops/gnome/core/yelp/default.nix | 36 ++ pkgs/desktops/gnome/core/zenity/default.nix | 50 ++ pkgs/desktops/gnome/default.nix | 366 ++++++++++++++ pkgs/desktops/gnome/devtools/anjuta/default.nix | 44 ++ pkgs/desktops/gnome/devtools/devhelp/default.nix | 80 +++ .../gnome/devtools/gnome-devel-docs/default.nix | 25 + .../gnome/extensions/EasyScreenCast/default.nix | 38 ++ .../extensions/EasyScreenCast/fix-gi-path.patch | 16 + .../gnome/extensions/appindicator/default.nix | 36 ++ pkgs/desktops/gnome/extensions/arcmenu/default.nix | 35 ++ .../gnome/extensions/arcmenu/fix_gmenu.patch | 11 + .../desktops/gnome/extensions/caffeine/default.nix | 40 ++ .../extensions/chrome-gnome-shell/default.nix | 71 +++ .../extensions/clipboard-indicator/default.nix | 30 ++ .../gnome/extensions/clock-override/default.nix | 37 ++ .../gnome/extensions/dash-to-dock/default.nix | 35 ++ .../gnome/extensions/dash-to-panel/default.nix | 28 ++ .../extensions/disable-unredirect/default.nix | 31 ++ .../extensions/draw-on-your-screen/default.nix | 29 ++ .../extensions/drop-down-terminal/default.nix | 36 ++ .../drop-down-terminal/fix_vte_and_gjs.patch | 32 ++ .../dynamic-panel-transparency/default.nix | 38 ++ .../gnome/extensions/emoji-selector/default.nix | 38 ++ pkgs/desktops/gnome/extensions/freon/default.nix | 37 ++ .../gnome/extensions/fuzzy-app-search/default.nix | 29 ++ .../fuzzy-app-search/fix-desktop-file-paths.patch | 50 ++ .../gnome/extensions/gsconnect/default.nix | 116 +++++ .../gnome/extensions/gsconnect/fix-paths.patch | 37 ++ .../gsconnect/installed-tests-path.patch | 30 ++ .../desktops/gnome/extensions/hot-edge/default.nix | 33 ++ .../gnome/extensions/icon-hider/default.nix | 31 ++ .../gnome/extensions/impatience/default.nix | 39 ++ .../gnome/extensions/material-shell/default.nix | 35 ++ .../extensions/mpris-indicator-button/default.nix | 42 ++ .../extensions/night-theme-switcher/default.nix | 32 ++ .../gnome/extensions/no-title-bar/default.nix | 35 ++ .../gnome/extensions/no-title-bar/fix-paths.patch | 56 +++ .../gnome/extensions/noannoyance/default.nix | 31 ++ pkgs/desktops/gnome/extensions/paperwm/default.nix | 31 ++ .../extensions/pidgin-im-integration/default.nix | 36 ++ .../extensions/remove-dropdown-arrows/default.nix | 34 ++ .../sound-output-device-chooser/default.nix | 44 ++ .../sound-output-device-chooser/fix-paths.patch | 26 + .../gnome/extensions/system-monitor/default.nix | 50 ++ .../paths_and_nonexisting_dirs.patch | 33 ++ .../gnome/extensions/taskwhisperer/default.nix | 42 ++ .../gnome/extensions/taskwhisperer/fix-paths.patch | 99 ++++ .../gnome/extensions/tilingnome/default.nix | 38 ++ pkgs/desktops/gnome/extensions/timepp/default.nix | 28 ++ .../gnome/extensions/topicons-plus/default.nix | 28 ++ pkgs/desktops/gnome/extensions/unite/default.nix | 40 ++ .../extensions/window-corner-preview/default.nix | 31 ++ .../extensions/window-is-ready-remover/default.nix | 28 ++ .../gnome/extensions/workspace-matrix/default.nix | 36 ++ pkgs/desktops/gnome/find-latest-version.py | 89 ++++ pkgs/desktops/gnome/games/aisleriot/default.nix | 77 +++ pkgs/desktops/gnome/games/atomix/default.nix | 37 ++ pkgs/desktops/gnome/games/five-or-more/default.nix | 40 ++ .../desktops/gnome/games/four-in-a-row/default.nix | 39 ++ pkgs/desktops/gnome/games/gnome-chess/default.nix | 68 +++ .../desktops/gnome/games/gnome-klotski/default.nix | 43 ++ .../gnome/games/gnome-mahjongg/default.nix | 41 ++ pkgs/desktops/gnome/games/gnome-mines/default.nix | 39 ++ .../desktops/gnome/games/gnome-nibbles/default.nix | 84 ++++ pkgs/desktops/gnome/games/gnome-robots/default.nix | 73 +++ pkgs/desktops/gnome/games/gnome-sudoku/default.nix | 35 ++ pkgs/desktops/gnome/games/gnome-taquin/default.nix | 75 +++ .../gnome/games/gnome-tetravex/default.nix | 39 ++ pkgs/desktops/gnome/games/hitori/default.nix | 66 +++ pkgs/desktops/gnome/games/iagno/default.nix | 77 +++ pkgs/desktops/gnome/games/lightsoff/default.nix | 39 ++ pkgs/desktops/gnome/games/quadrapassel/default.nix | 40 ++ pkgs/desktops/gnome/games/swell-foop/default.nix | 72 +++ pkgs/desktops/gnome/games/tali/default.nix | 38 ++ pkgs/desktops/gnome/installer.nix | 15 + pkgs/desktops/gnome/misc/geary/default.nix | 160 ++++++ pkgs/desktops/gnome/misc/gitg/default.nix | 95 ++++ pkgs/desktops/gnome/misc/gnome-applets/default.nix | 80 +++ pkgs/desktops/gnome/misc/gnome-autoar/default.nix | 48 ++ .../gnome/misc/gnome-flashback/default.nix | 203 ++++++++ .../gnome/misc/gnome-packagekit/default.nix | 37 ++ pkgs/desktops/gnome/misc/gnome-panel/default.nix | 99 ++++ .../gnome-screensaver/fix-dbus-service-dir.patch | 11 + pkgs/desktops/gnome/misc/gnome-tweaks/default.nix | 81 +++ pkgs/desktops/gnome/misc/gpaste/default.nix | 81 +++ pkgs/desktops/gnome/misc/gpaste/fix-paths.patch | 37 ++ pkgs/desktops/gnome/misc/gtkhtml/default.nix | 27 + .../gnome/misc/libgnome-games-support/default.nix | 58 +++ pkgs/desktops/gnome/misc/metacity/default.nix | 74 +++ pkgs/desktops/gnome/misc/metacity/fix-paths.patch | 11 + .../gnome/misc/nautilus-python/default.nix | 63 +++ pkgs/desktops/gnome/misc/pomodoro/default.nix | 73 +++ pkgs/desktops/gnome/update.nix | 26 + pkgs/desktops/mate/marco/default.nix | 4 +- pkgs/desktops/mate/mate-applets/default.nix | 4 +- pkgs/desktops/mate/mate-desktop/default.nix | 2 +- pkgs/desktops/mate/mate-power-manager/default.nix | 4 +- pkgs/desktops/mate/pluma/default.nix | 4 +- pkgs/desktops/pantheon/default.nix | 14 +- .../elementary-settings-daemon/default.nix | 4 +- pkgs/desktops/xfce/default.nix | 4 +- pkgs/development/compilers/vala/default.nix | 2 +- .../haskell-modules/configuration-nix.nix | 2 +- .../haskell-modules/hackage-packages.nix | 2 +- pkgs/development/libraries/amtk/default.nix | 4 +- pkgs/development/libraries/aravis/default.nix | 6 +- pkgs/development/libraries/at-spi2-atk/default.nix | 4 +- .../development/libraries/at-spi2-core/default.nix | 4 +- pkgs/development/libraries/atk/default.nix | 4 +- pkgs/development/libraries/atkmm/default.nix | 4 +- pkgs/development/libraries/bamf/default.nix | 4 +- pkgs/development/libraries/clutter-gst/default.nix | 4 +- pkgs/development/libraries/clutter-gtk/default.nix | 4 +- pkgs/development/libraries/clutter/default.nix | 4 +- pkgs/development/libraries/cogl/default.nix | 4 +- pkgs/development/libraries/dconf/default.nix | 4 +- pkgs/development/libraries/folks/default.nix | 4 +- pkgs/development/libraries/gcab/default.nix | 4 +- pkgs/development/libraries/gcr/default.nix | 4 +- pkgs/development/libraries/gdk-pixbuf/default.nix | 4 +- pkgs/development/libraries/gdl/default.nix | 4 +- .../development/libraries/geocode-glib/default.nix | 4 +- pkgs/development/libraries/gexiv2/default.nix | 4 +- pkgs/development/libraries/gfbgraph/default.nix | 4 +- pkgs/development/libraries/gjs/default.nix | 4 +- .../libraries/glib-networking/default.nix | 4 +- pkgs/development/libraries/glib/default.nix | 4 +- pkgs/development/libraries/glibmm/2.68.nix | 4 +- pkgs/development/libraries/glibmm/default.nix | 4 +- pkgs/development/libraries/gnome-menus/default.nix | 4 +- .../libraries/gnome-online-accounts/default.nix | 4 +- .../libraries/gnome-video-effects/default.nix | 4 +- .../libraries/gobject-introspection/default.nix | 4 +- pkgs/development/libraries/goffice/default.nix | 4 +- pkgs/development/libraries/gom/default.nix | 4 +- pkgs/development/libraries/goocanvas/default.nix | 4 +- pkgs/development/libraries/goocanvasmm/default.nix | 4 +- .../libraries/grilo-plugins/default.nix | 4 +- pkgs/development/libraries/grilo/default.nix | 4 +- .../gsettings-desktop-schemas/default.nix | 4 +- pkgs/development/libraries/gsound/default.nix | 4 +- pkgs/development/libraries/gspell/default.nix | 4 +- pkgs/development/libraries/gssdp/default.nix | 4 +- .../libraries/gstreamer/gstreamermm/default.nix | 4 +- pkgs/development/libraries/gtk/3.x.nix | 4 +- pkgs/development/libraries/gtk/4.x.nix | 4 +- pkgs/development/libraries/gtkd/default.nix | 2 +- pkgs/development/libraries/gtkmm/3.x.nix | 4 +- pkgs/development/libraries/gtkmm/4.x.nix | 4 +- pkgs/development/libraries/gtksourceview/4.x.nix | 4 +- pkgs/development/libraries/gtksourceview/5.x.nix | 4 +- pkgs/development/libraries/gtksourceviewmm/4.x.nix | 4 +- .../libraries/gtksourceviewmm/default.nix | 4 +- pkgs/development/libraries/gupnp-av/default.nix | 4 +- pkgs/development/libraries/gupnp-dlna/default.nix | 4 +- pkgs/development/libraries/gupnp-igd/default.nix | 4 +- pkgs/development/libraries/gupnp/default.nix | 4 +- pkgs/development/libraries/gvfs/default.nix | 6 +- pkgs/development/libraries/json-glib/default.nix | 4 +- .../development/libraries/jsonrpc-glib/default.nix | 4 +- pkgs/development/libraries/keybinder/default.nix | 4 +- pkgs/development/libraries/keybinder3/default.nix | 4 +- pkgs/development/libraries/lasem/default.nix | 4 +- .../development/libraries/libchamplain/default.nix | 4 +- pkgs/development/libraries/libcryptui/default.nix | 4 +- pkgs/development/libraries/libdazzle/default.nix | 4 +- pkgs/development/libraries/libepc/default.nix | 4 +- pkgs/development/libraries/libgda/6.x.nix | 4 +- pkgs/development/libraries/libgda/default.nix | 4 +- pkgs/development/libraries/libgdamm/default.nix | 4 +- pkgs/development/libraries/libgdata/default.nix | 4 +- pkgs/development/libraries/libgee/default.nix | 4 +- pkgs/development/libraries/libgepub/default.nix | 4 +- .../development/libraries/libgit2-glib/default.nix | 4 +- pkgs/development/libraries/libgksu/default.nix | 4 +- pkgs/development/libraries/libgnomekbd/default.nix | 4 +- pkgs/development/libraries/libgrss/default.nix | 4 +- pkgs/development/libraries/libgsf/default.nix | 4 +- pkgs/development/libraries/libgtop/default.nix | 4 +- pkgs/development/libraries/libgudev/default.nix | 4 +- pkgs/development/libraries/libgweather/default.nix | 4 +- pkgs/development/libraries/libgxps/default.nix | 4 +- pkgs/development/libraries/libhandy/0.x.nix | 4 +- pkgs/development/libraries/libhandy/default.nix | 4 +- .../libraries/libhttpseverywhere/default.nix | 4 +- pkgs/development/libraries/libmanette/default.nix | 4 +- pkgs/development/libraries/libmediaart/default.nix | 4 +- pkgs/development/libraries/libnotify/default.nix | 4 +- pkgs/development/libraries/libpeas/default.nix | 4 +- pkgs/development/libraries/librest/default.nix | 4 +- pkgs/development/libraries/librsvg/default.nix | 4 +- pkgs/development/libraries/libsecret/default.nix | 4 +- pkgs/development/libraries/libsigcxx/3.0.nix | 4 +- pkgs/development/libraries/libsigcxx/default.nix | 4 +- pkgs/development/libraries/libsoup/default.nix | 4 +- pkgs/development/libraries/libwnck/3.x.nix | 4 +- pkgs/development/libraries/libxmlxx/default.nix | 4 +- pkgs/development/libraries/libzapojit/default.nix | 4 +- pkgs/development/libraries/mm-common/default.nix | 4 +- pkgs/development/libraries/osm-gps-map/default.nix | 4 +- pkgs/development/libraries/pango/default.nix | 4 +- pkgs/development/libraries/pangomm/2.48.nix | 4 +- pkgs/development/libraries/pangomm/default.nix | 4 +- pkgs/development/libraries/rarian/default.nix | 2 +- .../libraries/template-glib/default.nix | 4 +- pkgs/development/libraries/tepl/default.nix | 4 +- .../libraries/totem-pl-parser/default.nix | 4 +- .../libraries/tracker-miners/default.nix | 4 +- pkgs/development/libraries/tracker/default.nix | 4 +- pkgs/development/libraries/vte/default.nix | 4 +- .../libraries/xdg-desktop-portal-gtk/default.nix | 6 +- pkgs/development/misc/yelp-tools/default.nix | 6 +- .../python-modules/gtimelog/default.nix | 6 +- .../development/python-modules/pyatspi/default.nix | 4 +- pkgs/development/python-modules/pygobject/3.36.nix | 2 +- pkgs/development/python-modules/pygobject/3.nix | 4 +- .../documentation/gnome-doc-utils/default.nix | 4 +- .../tools/documentation/gtk-doc/default.nix | 4 +- pkgs/development/tools/glade/default.nix | 6 +- pkgs/development/tools/misc/d-feet/default.nix | 6 +- pkgs/development/tools/misc/gob2/default.nix | 4 +- pkgs/development/tools/misc/msitools/default.nix | 4 +- pkgs/development/tools/nemiver/default.nix | 4 +- .../tools/profiling/sysprof/default.nix | 6 +- .../tools/react-native-debugger/default.nix | 2 +- pkgs/development/web/cog/default.nix | 4 +- pkgs/games/gscrabble/default.nix | 4 +- pkgs/games/megaglest/default.nix | 4 +- pkgs/games/openra/default.nix | 2 +- pkgs/games/openra/packages.nix | 2 +- pkgs/games/steam/fhsenv.nix | 2 +- pkgs/misc/emulators/cdemu/analyzer.nix | 4 +- pkgs/misc/emulators/cdemu/gui.nix | 4 +- pkgs/misc/emulators/nestopia/default.nix | 4 +- pkgs/misc/vim-plugins/overrides.nix | 4 +- pkgs/os-specific/linux/piper/default.nix | 4 +- pkgs/tools/X11/wpgtk/default.nix | 4 +- pkgs/tools/admin/gtk-vnc/default.nix | 4 +- pkgs/tools/audio/gvolicon/default.nix | 4 +- pkgs/tools/audio/pasystray/default.nix | 4 +- pkgs/tools/bluetooth/blueberry/default.nix | 4 +- pkgs/tools/bluetooth/blueman/default.nix | 4 +- pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix | 4 +- pkgs/tools/misc/gparted/default.nix | 4 +- pkgs/tools/misc/gsmartcontrol/default.nix | 4 +- pkgs/tools/misc/kodi-cli/default.nix | 4 +- pkgs/tools/networking/gupnp-tools/default.nix | 6 +- .../networking/networkmanager/applet/default.nix | 6 +- pkgs/tools/networking/networkmanager/default.nix | 4 +- .../networkmanager/fortisslvpn/default.nix | 4 +- .../networking/networkmanager/iodine/default.nix | 4 +- .../networking/networkmanager/libnma/default.nix | 4 +- .../networkmanager/openconnect/default.nix | 4 +- .../networking/networkmanager/openvpn/default.nix | 4 +- .../networking/networkmanager/sstp/default.nix | 4 +- .../networkmanager/strongswan/default.nix | 2 +- .../networking/networkmanager/vpnc/default.nix | 4 +- pkgs/tools/security/onioncircuits/default.nix | 4 +- pkgs/tools/text/gtranslator/default.nix | 4 +- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 126 ++--- 765 files changed, 15388 insertions(+), 15203 deletions(-) create mode 100644 nixos/modules/services/desktops/gnome/at-spi2-core.nix create mode 100644 nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix create mode 100644 nixos/modules/services/desktops/gnome/evolution-data-server.nix create mode 100644 nixos/modules/services/desktops/gnome/glib-networking.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-initial-setup.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-keyring.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-online-accounts.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-online-miners.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix create mode 100644 nixos/modules/services/desktops/gnome/gnome-user-share.nix create mode 100644 nixos/modules/services/desktops/gnome/rygel.nix create mode 100644 nixos/modules/services/desktops/gnome/sushi.nix create mode 100644 nixos/modules/services/desktops/gnome/tracker-miners.nix create mode 100644 nixos/modules/services/desktops/gnome/tracker.nix delete mode 100644 nixos/modules/services/desktops/gnome3/at-spi2-core.nix delete mode 100644 nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix delete mode 100644 nixos/modules/services/desktops/gnome3/evolution-data-server.nix delete mode 100644 nixos/modules/services/desktops/gnome3/glib-networking.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-keyring.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-online-miners.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix delete mode 100644 nixos/modules/services/desktops/gnome3/gnome-user-share.nix delete mode 100644 nixos/modules/services/desktops/gnome3/rygel.nix delete mode 100644 nixos/modules/services/desktops/gnome3/sushi.nix delete mode 100644 nixos/modules/services/desktops/gnome3/tracker-miners.nix delete mode 100644 nixos/modules/services/desktops/gnome3/tracker.nix create mode 100644 nixos/modules/services/x11/desktop-managers/gnome.nix delete mode 100644 nixos/modules/services/x11/desktop-managers/gnome3.nix create mode 100644 nixos/tests/gnome-xorg.nix create mode 100644 nixos/tests/gnome.nix delete mode 100644 nixos/tests/gnome3-xorg.nix delete mode 100644 nixos/tests/gnome3.nix delete mode 100644 pkgs/desktops/gnome-3/apps/accerciser/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/cheese/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/file-roller/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gedit/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/ghex/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-books/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-calendar/gtk_image_reset_crash.patch delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-characters/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-connections/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-documents/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-logs/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-maps/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-music/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-notes/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-todo/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/gnome-weather/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/polari/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch delete mode 100644 pkgs/desktops/gnome-3/apps/seahorse/default.nix delete mode 100644 pkgs/desktops/gnome-3/apps/vinagre/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/baobab/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/caribou/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/dconf-editor/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/empathy/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/eog/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/epiphany/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/evince/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/evolution-data-server/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/evolution-data-server/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch delete mode 100644 pkgs/desktops/gnome-3/core/gdm/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gdm/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gdm/gdm-session-worker_forward-vars.patch delete mode 100644 pkgs/desktops/gnome-3/core/gdm/gdm-x-session_extra_args.patch delete mode 100644 pkgs/desktops/gnome-3/core/gdm/gdm-x-session_session-wrapper.patch delete mode 100644 pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override delete mode 100644 pkgs/desktops/gnome-3/core/gdm/reset-environment.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-calculator/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-common/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-contacts/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-control-center/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-desktop/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-initial-setup/0001-fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf delete mode 100644 pkgs/desktops/gnome-3/core/gnome-keyring/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-session/ctl.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-session/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-shell/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-shell/wrap-services.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-software/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-terminal/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-tour/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gnome-user-share/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/gucharmap/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0002-drop-inheritable.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0003-Fix-glitches-in-gala.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/0007-fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/3.34/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/mutter/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch delete mode 100644 pkgs/desktops/gnome-3/core/mutter/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/nautilus/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/nautilus/extension_dir.patch delete mode 100644 pkgs/desktops/gnome-3/core/nautilus/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch delete mode 100644 pkgs/desktops/gnome-3/core/rygel/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/simple-scan/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/sushi/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/totem/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/yelp-xsl/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/yelp/default.nix delete mode 100644 pkgs/desktops/gnome-3/core/zenity/default.nix delete mode 100644 pkgs/desktops/gnome-3/default.nix delete mode 100644 pkgs/desktops/gnome-3/devtools/anjuta/default.nix delete mode 100644 pkgs/desktops/gnome-3/devtools/devhelp/default.nix delete mode 100644 pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/appindicator/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/arcmenu/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/caffeine/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/clock-override/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/dynamic-panel-transparency/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/emoji-selector/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/freon/default.nix delete mode 100755 pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix delete mode 100755 pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/gsconnect/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/gsconnect/installed-tests-path.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/hot-edge/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/icon-hider/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/impatience/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/material-shell/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/noannoyance/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/paperwm/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/system-monitor/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/taskwhisperer/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/extensions/tilingnome/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/timepp/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/unite/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/window-corner-preview/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/window-is-ready-remover/default.nix delete mode 100644 pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix delete mode 100644 pkgs/desktops/gnome-3/find-latest-version.py delete mode 100644 pkgs/desktops/gnome-3/games/aisleriot/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/atomix/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/five-or-more/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/four-in-a-row/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-chess/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-klotski/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-mines/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-robots/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-taquin/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/hitori/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/iagno/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/lightsoff/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/quadrapassel/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/swell-foop/default.nix delete mode 100644 pkgs/desktops/gnome-3/games/tali/default.nix delete mode 100644 pkgs/desktops/gnome-3/installer.nix delete mode 100644 pkgs/desktops/gnome-3/misc/geary/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gitg/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-applets/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-panel/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-screensaver/fix-dbus-service-dir.patch delete mode 100644 pkgs/desktops/gnome-3/misc/gnome-tweaks/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gpaste/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/gpaste/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/misc/gtkhtml/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/libgnome-games-support/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/metacity/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/metacity/fix-paths.patch delete mode 100644 pkgs/desktops/gnome-3/misc/nautilus-python/default.nix delete mode 100644 pkgs/desktops/gnome-3/misc/pomodoro/default.nix delete mode 100644 pkgs/desktops/gnome-3/update.nix create mode 100644 pkgs/desktops/gnome/apps/accerciser/default.nix create mode 100644 pkgs/desktops/gnome/apps/cheese/default.nix create mode 100644 pkgs/desktops/gnome/apps/file-roller/default.nix create mode 100644 pkgs/desktops/gnome/apps/gedit/default.nix create mode 100644 pkgs/desktops/gnome/apps/ghex/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-books/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-boxes/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-calendar/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch create mode 100644 pkgs/desktops/gnome/apps/gnome-characters/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-clocks/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-connections/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-documents/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-logs/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-maps/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-music/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-nettool/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-notes/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-power-manager/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-todo/default.nix create mode 100644 pkgs/desktops/gnome/apps/gnome-weather/default.nix create mode 100644 pkgs/desktops/gnome/apps/polari/default.nix create mode 100644 pkgs/desktops/gnome/apps/polari/make-thumbnailer-wrappable.patch create mode 100644 pkgs/desktops/gnome/apps/seahorse/default.nix create mode 100644 pkgs/desktops/gnome/apps/vinagre/default.nix create mode 100644 pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix create mode 100644 pkgs/desktops/gnome/core/baobab/default.nix create mode 100644 pkgs/desktops/gnome/core/caribou/default.nix create mode 100644 pkgs/desktops/gnome/core/dconf-editor/default.nix create mode 100644 pkgs/desktops/gnome/core/empathy/default.nix create mode 100644 pkgs/desktops/gnome/core/eog/default.nix create mode 100644 pkgs/desktops/gnome/core/epiphany/default.nix create mode 100644 pkgs/desktops/gnome/core/evince/default.nix create mode 100644 pkgs/desktops/gnome/core/evolution-data-server/default.nix create mode 100644 pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch create mode 100644 pkgs/desktops/gnome/core/gdm/default.nix create mode 100644 pkgs/desktops/gnome/core/gdm/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/gdm/gdm-session-worker_forward-vars.patch create mode 100644 pkgs/desktops/gnome/core/gdm/gdm-x-session_extra_args.patch create mode 100644 pkgs/desktops/gnome/core/gdm/gdm-x-session_session-wrapper.patch create mode 100644 pkgs/desktops/gnome/core/gdm/org.gnome.login-screen.gschema.override create mode 100644 pkgs/desktops/gnome/core/gdm/reset-environment.patch create mode 100644 pkgs/desktops/gnome/core/gnome-backgrounds/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-bluetooth/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-calculator/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-color-manager/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-common/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-contacts/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-control-center/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-control-center/paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-desktop/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-dictionary/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-disk-utility/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-font-viewer/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-initial-setup/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf create mode 100644 pkgs/desktops/gnome/core/gnome-keyring/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-online-miners/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-screenshot/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-session/ctl.nix create mode 100644 pkgs/desktops/gnome/core/gnome-session/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-session/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-settings-daemon/global-backlight-helper.patch create mode 100644 pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gmenu.patch create mode 100644 pkgs/desktops/gnome/core/gnome-shell/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch create mode 100644 pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch create mode 100644 pkgs/desktops/gnome/core/gnome-software/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-software/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/gnome-system-monitor/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-terminal/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-themes-extra/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-tour/default.nix create mode 100644 pkgs/desktops/gnome/core/gnome-user-share/default.nix create mode 100644 pkgs/desktops/gnome/core/gucharmap/default.nix create mode 100644 pkgs/desktops/gnome/core/libgnome-keyring/default.nix create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/mutter/3.34/default.nix create mode 100644 pkgs/desktops/gnome/core/mutter/default.nix create mode 100644 pkgs/desktops/gnome/core/mutter/drop-inheritable.patch create mode 100644 pkgs/desktops/gnome/core/mutter/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/nautilus/default.nix create mode 100644 pkgs/desktops/gnome/core/nautilus/extension_dir.patch create mode 100644 pkgs/desktops/gnome/core/nautilus/fix-paths.patch create mode 100644 pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch create mode 100644 pkgs/desktops/gnome/core/rygel/default.nix create mode 100644 pkgs/desktops/gnome/core/simple-scan/default.nix create mode 100644 pkgs/desktops/gnome/core/sushi/default.nix create mode 100644 pkgs/desktops/gnome/core/totem/default.nix create mode 100644 pkgs/desktops/gnome/core/yelp-xsl/default.nix create mode 100644 pkgs/desktops/gnome/core/yelp/default.nix create mode 100644 pkgs/desktops/gnome/core/zenity/default.nix create mode 100644 pkgs/desktops/gnome/default.nix create mode 100644 pkgs/desktops/gnome/devtools/anjuta/default.nix create mode 100644 pkgs/desktops/gnome/devtools/devhelp/default.nix create mode 100644 pkgs/desktops/gnome/devtools/gnome-devel-docs/default.nix create mode 100644 pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix create mode 100644 pkgs/desktops/gnome/extensions/EasyScreenCast/fix-gi-path.patch create mode 100644 pkgs/desktops/gnome/extensions/appindicator/default.nix create mode 100644 pkgs/desktops/gnome/extensions/arcmenu/default.nix create mode 100644 pkgs/desktops/gnome/extensions/arcmenu/fix_gmenu.patch create mode 100644 pkgs/desktops/gnome/extensions/caffeine/default.nix create mode 100644 pkgs/desktops/gnome/extensions/chrome-gnome-shell/default.nix create mode 100644 pkgs/desktops/gnome/extensions/clipboard-indicator/default.nix create mode 100644 pkgs/desktops/gnome/extensions/clock-override/default.nix create mode 100644 pkgs/desktops/gnome/extensions/dash-to-dock/default.nix create mode 100644 pkgs/desktops/gnome/extensions/dash-to-panel/default.nix create mode 100644 pkgs/desktops/gnome/extensions/disable-unredirect/default.nix create mode 100644 pkgs/desktops/gnome/extensions/draw-on-your-screen/default.nix create mode 100644 pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix create mode 100644 pkgs/desktops/gnome/extensions/drop-down-terminal/fix_vte_and_gjs.patch create mode 100644 pkgs/desktops/gnome/extensions/dynamic-panel-transparency/default.nix create mode 100644 pkgs/desktops/gnome/extensions/emoji-selector/default.nix create mode 100644 pkgs/desktops/gnome/extensions/freon/default.nix create mode 100755 pkgs/desktops/gnome/extensions/fuzzy-app-search/default.nix create mode 100755 pkgs/desktops/gnome/extensions/fuzzy-app-search/fix-desktop-file-paths.patch create mode 100644 pkgs/desktops/gnome/extensions/gsconnect/default.nix create mode 100644 pkgs/desktops/gnome/extensions/gsconnect/fix-paths.patch create mode 100644 pkgs/desktops/gnome/extensions/gsconnect/installed-tests-path.patch create mode 100644 pkgs/desktops/gnome/extensions/hot-edge/default.nix create mode 100644 pkgs/desktops/gnome/extensions/icon-hider/default.nix create mode 100644 pkgs/desktops/gnome/extensions/impatience/default.nix create mode 100644 pkgs/desktops/gnome/extensions/material-shell/default.nix create mode 100644 pkgs/desktops/gnome/extensions/mpris-indicator-button/default.nix create mode 100644 pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix create mode 100644 pkgs/desktops/gnome/extensions/no-title-bar/default.nix create mode 100644 pkgs/desktops/gnome/extensions/no-title-bar/fix-paths.patch create mode 100644 pkgs/desktops/gnome/extensions/noannoyance/default.nix create mode 100644 pkgs/desktops/gnome/extensions/paperwm/default.nix create mode 100644 pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix create mode 100644 pkgs/desktops/gnome/extensions/remove-dropdown-arrows/default.nix create mode 100644 pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix create mode 100644 pkgs/desktops/gnome/extensions/sound-output-device-chooser/fix-paths.patch create mode 100644 pkgs/desktops/gnome/extensions/system-monitor/default.nix create mode 100644 pkgs/desktops/gnome/extensions/system-monitor/paths_and_nonexisting_dirs.patch create mode 100644 pkgs/desktops/gnome/extensions/taskwhisperer/default.nix create mode 100644 pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch create mode 100644 pkgs/desktops/gnome/extensions/tilingnome/default.nix create mode 100644 pkgs/desktops/gnome/extensions/timepp/default.nix create mode 100644 pkgs/desktops/gnome/extensions/topicons-plus/default.nix create mode 100644 pkgs/desktops/gnome/extensions/unite/default.nix create mode 100644 pkgs/desktops/gnome/extensions/window-corner-preview/default.nix create mode 100644 pkgs/desktops/gnome/extensions/window-is-ready-remover/default.nix create mode 100644 pkgs/desktops/gnome/extensions/workspace-matrix/default.nix create mode 100644 pkgs/desktops/gnome/find-latest-version.py create mode 100644 pkgs/desktops/gnome/games/aisleriot/default.nix create mode 100644 pkgs/desktops/gnome/games/atomix/default.nix create mode 100644 pkgs/desktops/gnome/games/five-or-more/default.nix create mode 100644 pkgs/desktops/gnome/games/four-in-a-row/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-chess/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-klotski/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-mahjongg/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-mines/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-nibbles/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-robots/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-sudoku/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-taquin/default.nix create mode 100644 pkgs/desktops/gnome/games/gnome-tetravex/default.nix create mode 100644 pkgs/desktops/gnome/games/hitori/default.nix create mode 100644 pkgs/desktops/gnome/games/iagno/default.nix create mode 100644 pkgs/desktops/gnome/games/lightsoff/default.nix create mode 100644 pkgs/desktops/gnome/games/quadrapassel/default.nix create mode 100644 pkgs/desktops/gnome/games/swell-foop/default.nix create mode 100644 pkgs/desktops/gnome/games/tali/default.nix create mode 100644 pkgs/desktops/gnome/installer.nix create mode 100644 pkgs/desktops/gnome/misc/geary/default.nix create mode 100644 pkgs/desktops/gnome/misc/gitg/default.nix create mode 100644 pkgs/desktops/gnome/misc/gnome-applets/default.nix create mode 100644 pkgs/desktops/gnome/misc/gnome-autoar/default.nix create mode 100644 pkgs/desktops/gnome/misc/gnome-flashback/default.nix create mode 100644 pkgs/desktops/gnome/misc/gnome-packagekit/default.nix create mode 100644 pkgs/desktops/gnome/misc/gnome-panel/default.nix create mode 100644 pkgs/desktops/gnome/misc/gnome-screensaver/fix-dbus-service-dir.patch create mode 100644 pkgs/desktops/gnome/misc/gnome-tweaks/default.nix create mode 100644 pkgs/desktops/gnome/misc/gpaste/default.nix create mode 100644 pkgs/desktops/gnome/misc/gpaste/fix-paths.patch create mode 100644 pkgs/desktops/gnome/misc/gtkhtml/default.nix create mode 100644 pkgs/desktops/gnome/misc/libgnome-games-support/default.nix create mode 100644 pkgs/desktops/gnome/misc/metacity/default.nix create mode 100644 pkgs/desktops/gnome/misc/metacity/fix-paths.patch create mode 100644 pkgs/desktops/gnome/misc/nautilus-python/default.nix create mode 100644 pkgs/desktops/gnome/misc/pomodoro/default.nix create mode 100644 pkgs/desktops/gnome/update.nix (limited to 'nixos/modules/installer') diff --git a/doc/languages-frameworks/gnome.section.md b/doc/languages-frameworks/gnome.section.md index 734bf2b6389..732b529cc22 100644 --- a/doc/languages-frameworks/gnome.section.md +++ b/doc/languages-frameworks/gnome.section.md @@ -88,7 +88,7 @@ For convenience, it also adds `dconf.lib` for a GIO module implementing a GSetti The setup hook [currently](https://github.com/NixOS/nixpkgs/issues/56943) does not work in expressions with `strictDeps` enabled, like Python packages. In those cases, you will need to disable it with `strictDeps = false;`. ::: -- []{#ssec-gnome-hooks-gst-grl-plugins} Setup hooks of `gst_all_1.gstreamer` and `gnome3.grilo` will populate the `GST_PLUGIN_SYSTEM_PATH_1_0` and `GRL_PLUGIN_PATH` variables, respectively, which will then be added to the wrapper by `wrapGAppsHook`. +- []{#ssec-gnome-hooks-gst-grl-plugins} Setup hooks of `gst_all_1.gstreamer` and `grilo` will populate the `GST_PLUGIN_SYSTEM_PATH_1_0` and `GRL_PLUGIN_PATH` variables, respectively, which will then be added to the wrapper by `wrapGAppsHook`. You can also pass additional arguments to `makeWrapper` using `gappsWrapperArgs` in `preFixup` hook: @@ -105,7 +105,7 @@ preFixup = '' ## Updating GNOME packages {#ssec-gnome-updating} -Most GNOME package offer [`updateScript`](#var-passthru-updateScript), it is therefore possible to update to latest source tarball by running `nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus` or even en masse with `nix-shell maintainers/scripts/update.nix --argstr path gnome3`. Read the package’s `NEWS` file to see what changed. +Most GNOME package offer [`updateScript`](#var-passthru-updateScript), it is therefore possible to update to latest source tarball by running `nix-shell maintainers/scripts/update.nix --argstr package gnome.nautilus` or even en masse with `nix-shell maintainers/scripts/update.nix --argstr path gnome`. Read the package’s `NEWS` file to see what changed. ## Frequently encountered issues {#ssec-gnome-common-issues} diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix index 5317bdb9f42..7435cf64425 100755 --- a/maintainers/scripts/update.nix +++ b/maintainers/scripts/update.nix @@ -143,7 +143,7 @@ let to run all update scripts for all packages that lists \`garbas\` as a maintainer and have \`updateScript\` defined, or: - % nix-shell maintainers/scripts/update.nix --argstr package gnome3.nautilus + % nix-shell maintainers/scripts/update.nix --argstr package gnome.nautilus to run update script for specific package, or @@ -151,7 +151,7 @@ let to run update script for all packages matching given predicate, or - % nix-shell maintainers/scripts/update.nix --argstr path gnome3 + % nix-shell maintainers/scripts/update.nix --argstr path gnome to run update script for all package under an attribute path. diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index 757174c5263..e7219389706 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -25,7 +25,7 @@ = true; = true; - = true; + = true; = true; = true; = true; diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml index 4102fe206e1..0dae49c636f 100644 --- a/nixos/doc/manual/release-notes/rl-1909.xml +++ b/nixos/doc/manual/release-notes/rl-1909.xml @@ -83,10 +83,10 @@ like games. This can be achieved with the following options which the desktop manager default enables, excluding games. - - - - + + + + With these options we hope to give users finer grained control over their systems. Prior to this change you'd either have to manually disable options or use which only excluded the optional applications. diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml index bee1cddbecf..924fe7ae038 100644 --- a/nixos/doc/manual/release-notes/rl-2105.xml +++ b/nixos/doc/manual/release-notes/rl-2105.xml @@ -27,7 +27,7 @@ The default Linux kernel was updated to the 5.10 LTS series, coming from the 5.4 LTS series. - GNOME desktop environment was upgraded to 40, see the release notes for 40.0 and 3.38. + GNOME desktop environment was upgraded to 40, see the release notes for 40.0 and 3.38. The gnome3 attribute set has been renamed to gnome and so have been the NixOS options. @@ -911,7 +911,7 @@ environment.systemPackages = [ - The GNOME desktop manager once again installs gnome3.epiphany by default. + The GNOME desktop manager once again installs gnome.epiphany by default. diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix index 803bae4212e..12ad8a4ae00 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix @@ -9,7 +9,7 @@ with lib; isoImage.edition = "gnome"; - services.xserver.desktopManager.gnome3 = { + services.xserver.desktopManager.gnome = { # Add firefox to favorite-apps favoriteAppsOverride = '' [org.gnome.shell] diff --git a/nixos/modules/installer/virtualbox-demo.nix b/nixos/modules/installer/virtualbox-demo.nix index af3e1aecca7..2768e17590b 100644 --- a/nixos/modules/installer/virtualbox-demo.nix +++ b/nixos/modules/installer/virtualbox-demo.nix @@ -44,7 +44,7 @@ with lib; # Enable GDM/GNOME by uncommenting above two lines and two lines below. # services.xserver.displayManager.gdm.enable = true; - # services.xserver.desktopManager.gnome3.enable = true; + # services.xserver.desktopManager.gnome.enable = true; # Set your time zone. # time.timeZone = "Europe/Amsterdam"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0c0935a7992..4a88bccbbd5 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -339,21 +339,21 @@ ./services/desktops/malcontent.nix ./services/desktops/pipewire/pipewire.nix ./services/desktops/pipewire/pipewire-media-session.nix - ./services/desktops/gnome3/at-spi2-core.nix - ./services/desktops/gnome3/chrome-gnome-shell.nix - ./services/desktops/gnome3/evolution-data-server.nix - ./services/desktops/gnome3/glib-networking.nix - ./services/desktops/gnome3/gnome-initial-setup.nix - ./services/desktops/gnome3/gnome-keyring.nix - ./services/desktops/gnome3/gnome-online-accounts.nix - ./services/desktops/gnome3/gnome-online-miners.nix - ./services/desktops/gnome3/gnome-remote-desktop.nix - ./services/desktops/gnome3/gnome-settings-daemon.nix - ./services/desktops/gnome3/gnome-user-share.nix - ./services/desktops/gnome3/rygel.nix - ./services/desktops/gnome3/sushi.nix - ./services/desktops/gnome3/tracker.nix - ./services/desktops/gnome3/tracker-miners.nix + ./services/desktops/gnome/at-spi2-core.nix + ./services/desktops/gnome/chrome-gnome-shell.nix + ./services/desktops/gnome/evolution-data-server.nix + ./services/desktops/gnome/glib-networking.nix + ./services/desktops/gnome/gnome-initial-setup.nix + ./services/desktops/gnome/gnome-keyring.nix + ./services/desktops/gnome/gnome-online-accounts.nix + ./services/desktops/gnome/gnome-online-miners.nix + ./services/desktops/gnome/gnome-remote-desktop.nix + ./services/desktops/gnome/gnome-settings-daemon.nix + ./services/desktops/gnome/gnome-user-share.nix + ./services/desktops/gnome/rygel.nix + ./services/desktops/gnome/sushi.nix + ./services/desktops/gnome/tracker.nix + ./services/desktops/gnome/tracker-miners.nix ./services/desktops/neard.nix ./services/desktops/profile-sync-daemon.nix ./services/desktops/system-config-printer.nix diff --git a/nixos/modules/programs/file-roller.nix b/nixos/modules/programs/file-roller.nix index 64f6a94e764..b939d59909c 100644 --- a/nixos/modules/programs/file-roller.nix +++ b/nixos/modules/programs/file-roller.nix @@ -30,9 +30,9 @@ with lib; config = mkIf config.programs.file-roller.enable { - environment.systemPackages = [ pkgs.gnome3.file-roller ]; + environment.systemPackages = [ pkgs.gnome.file-roller ]; - services.dbus.packages = [ pkgs.gnome3.file-roller ]; + services.dbus.packages = [ pkgs.gnome.file-roller ]; }; diff --git a/nixos/modules/programs/geary.nix b/nixos/modules/programs/geary.nix index 5e441a75cb6..407680c30dc 100644 --- a/nixos/modules/programs/geary.nix +++ b/nixos/modules/programs/geary.nix @@ -15,10 +15,10 @@ in { }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.gnome3.geary ]; + environment.systemPackages = [ pkgs.gnome.geary ]; programs.dconf.enable = true; - services.gnome3.gnome-keyring.enable = true; - services.gnome3.gnome-online-accounts.enable = true; + services.gnome.gnome-keyring.enable = true; + services.gnome.gnome-online-accounts.enable = true; }; } diff --git a/nixos/modules/programs/gnome-disks.nix b/nixos/modules/programs/gnome-disks.nix index 80dc2983ea5..4b128b47126 100644 --- a/nixos/modules/programs/gnome-disks.nix +++ b/nixos/modules/programs/gnome-disks.nix @@ -41,9 +41,9 @@ with lib; config = mkIf config.programs.gnome-disks.enable { - environment.systemPackages = [ pkgs.gnome3.gnome-disk-utility ]; + environment.systemPackages = [ pkgs.gnome.gnome-disk-utility ]; - services.dbus.packages = [ pkgs.gnome3.gnome-disk-utility ]; + services.dbus.packages = [ pkgs.gnome.gnome-disk-utility ]; }; diff --git a/nixos/modules/programs/gnome-documents.nix b/nixos/modules/programs/gnome-documents.nix index 9dd53483055..43ad3163efd 100644 --- a/nixos/modules/programs/gnome-documents.nix +++ b/nixos/modules/programs/gnome-documents.nix @@ -13,7 +13,7 @@ with lib; # Added 2019-08-09 imports = [ (mkRenamedOptionModule - [ "services" "gnome3" "gnome-documents" "enable" ] + [ "services" "gnome" "gnome-documents" "enable" ] [ "programs" "gnome-documents" "enable" ]) ]; @@ -41,13 +41,13 @@ with lib; config = mkIf config.programs.gnome-documents.enable { - environment.systemPackages = [ pkgs.gnome3.gnome-documents ]; + environment.systemPackages = [ pkgs.gnome.gnome-documents ]; - services.dbus.packages = [ pkgs.gnome3.gnome-documents ]; + services.dbus.packages = [ pkgs.gnome.gnome-documents ]; - services.gnome3.gnome-online-accounts.enable = true; + services.gnome.gnome-online-accounts.enable = true; - services.gnome3.gnome-online-miners.enable = true; + services.gnome.gnome-online-miners.enable = true; }; diff --git a/nixos/modules/programs/gnome-terminal.nix b/nixos/modules/programs/gnome-terminal.nix index f2617e5bc03..71a6b217880 100644 --- a/nixos/modules/programs/gnome-terminal.nix +++ b/nixos/modules/programs/gnome-terminal.nix @@ -28,9 +28,9 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.gnome3.gnome-terminal ]; - services.dbus.packages = [ pkgs.gnome3.gnome-terminal ]; - systemd.packages = [ pkgs.gnome3.gnome-terminal ]; + environment.systemPackages = [ pkgs.gnome.gnome-terminal ]; + services.dbus.packages = [ pkgs.gnome.gnome-terminal ]; + systemd.packages = [ pkgs.gnome.gnome-terminal ]; programs.bash.vteIntegration = true; programs.zsh.vteIntegration = true; diff --git a/nixos/modules/programs/gpaste.nix b/nixos/modules/programs/gpaste.nix index 8bc52c28d81..cff2fb8d003 100644 --- a/nixos/modules/programs/gpaste.nix +++ b/nixos/modules/programs/gpaste.nix @@ -27,10 +27,10 @@ with lib; ###### implementation config = mkIf config.programs.gpaste.enable { - environment.systemPackages = [ pkgs.gnome3.gpaste ]; - services.dbus.packages = [ pkgs.gnome3.gpaste ]; - systemd.packages = [ pkgs.gnome3.gpaste ]; + environment.systemPackages = [ pkgs.gnome.gpaste ]; + services.dbus.packages = [ pkgs.gnome.gpaste ]; + systemd.packages = [ pkgs.gnome.gpaste ]; # gnome-control-center crashes in Keyboard Shortcuts pane without the GSettings schemas. - services.xserver.desktopManager.gnome3.sessionPath = [ pkgs.gnome3.gpaste ]; + services.xserver.desktopManager.gnome.sessionPath = [ pkgs.gnome.gpaste ]; }; } diff --git a/nixos/modules/programs/phosh.nix b/nixos/modules/programs/phosh.nix index f6faf7990dd..150874be674 100644 --- a/nixos/modules/programs/phosh.nix +++ b/nixos/modules/programs/phosh.nix @@ -155,8 +155,8 @@ in { ''; }; - services.gnome3.core-shell.enable = true; - services.gnome3.core-os-services.enable = true; + services.gnome.core-shell.enable = true; + services.gnome.core-os-services.enable = true; services.xserver.displayManager.sessionPackages = [ pkgs.phosh ]; environment.etc."phosh/phoc.ini".source = diff --git a/nixos/modules/programs/seahorse.nix b/nixos/modules/programs/seahorse.nix index b229d2a2c0d..c0a356bff57 100644 --- a/nixos/modules/programs/seahorse.nix +++ b/nixos/modules/programs/seahorse.nix @@ -31,14 +31,14 @@ with lib; config = mkIf config.programs.seahorse.enable { - programs.ssh.askPassword = mkDefault "${pkgs.gnome3.seahorse}/libexec/seahorse/ssh-askpass"; + programs.ssh.askPassword = mkDefault "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass"; environment.systemPackages = [ - pkgs.gnome3.seahorse + pkgs.gnome.seahorse ]; services.dbus.packages = [ - pkgs.gnome3.seahorse + pkgs.gnome.seahorse ]; }; diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 103cf205012..523ad1ed407 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -433,7 +433,7 @@ let ("auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so" + " kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5")} ${optionalString cfg.enableGnomeKeyring - "auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so"} + "auth optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so"} ${optionalString cfg.gnupg.enable "auth optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so" + optionalString cfg.gnupg.storeOnly " store-only" @@ -471,7 +471,7 @@ let ${optionalString config.krb5.enable "password sufficient ${pam_krb5}/lib/security/pam_krb5.so use_first_pass"} ${optionalString cfg.enableGnomeKeyring - "password optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"} + "password optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so use_authtok"} # Session management. ${optionalString cfg.setEnvironment '' @@ -512,7 +512,7 @@ let ("session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so" + " kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5")} ${optionalString (cfg.enableGnomeKeyring) - "session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start"} + "session optional ${pkgs.gnome.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start"} ${optionalString cfg.gnupg.enable "session optional ${pkgs.pam_gnupg}/lib/security/pam_gnupg.so" + optionalString cfg.gnupg.noAutostart " no-autostart" diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix index d0f6b66328a..20007a421b0 100644 --- a/nixos/modules/services/desktops/flatpak.nix +++ b/nixos/modules/services/desktops/flatpak.nix @@ -20,7 +20,7 @@ in { internal = true; type = types.listOf types.package; default = []; - example = literalExample "[ pkgs.gnome3.gnome-software ]"; + example = literalExample "[ pkgs.gnome.gnome-software ]"; description = '' Packages that provide an interface for flatpak (like gnome-software) that will be automatically available diff --git a/nixos/modules/services/desktops/gnome/at-spi2-core.nix b/nixos/modules/services/desktops/gnome/at-spi2-core.nix new file mode 100644 index 00000000000..1268a9d49b8 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/at-spi2-core.nix @@ -0,0 +1,57 @@ +# at-spi2-core daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + ###### interface + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "at-spi2-core" "enable" ] + [ "services" "gnome" "at-spi2-core" "enable" ] + ) + ]; + + options = { + + services.gnome.at-spi2-core = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable at-spi2-core, a service for the Assistive Technologies + available on the GNOME platform. + + Enable this if you get the error or warning + The name org.a11y.Bus was not provided by any .service files. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkMerge [ + (mkIf config.services.gnome.at-spi2-core.enable { + environment.systemPackages = [ pkgs.at-spi2-core ]; + services.dbus.packages = [ pkgs.at-spi2-core ]; + systemd.packages = [ pkgs.at-spi2-core ]; + }) + + (mkIf (!config.services.gnome.at-spi2-core.enable) { + environment.variables.NO_AT_BRIDGE = "1"; + }) + ]; +} diff --git a/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix b/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix new file mode 100644 index 00000000000..15c5bfbd821 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix @@ -0,0 +1,41 @@ +# Chrome GNOME Shell native host connector. +{ config, lib, pkgs, ... }: + +with lib; + +{ + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "chrome-gnome-shell" "enable" ] + [ "services" "gnome" "chrome-gnome-shell" "enable" ] + ) + ]; + + ###### interface + options = { + services.gnome.chrome-gnome-shell.enable = mkEnableOption '' + Chrome GNOME Shell native host connector, a DBus service + allowing to install GNOME Shell extensions from a web browser. + ''; + }; + + + ###### implementation + config = mkIf config.services.gnome.chrome-gnome-shell.enable { + environment.etc = { + "chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; + "opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; + }; + + environment.systemPackages = [ pkgs.chrome-gnome-shell ]; + + services.dbus.packages = [ pkgs.chrome-gnome-shell ]; + + nixpkgs.config.firefox.enableGnomeExtensions = true; + }; +} diff --git a/nixos/modules/services/desktops/gnome/evolution-data-server.nix b/nixos/modules/services/desktops/gnome/evolution-data-server.nix new file mode 100644 index 00000000000..ef5ad797c27 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/evolution-data-server.nix @@ -0,0 +1,71 @@ +# Evolution Data Server daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "evolution-data-server" "enable" ] + [ "services" "gnome" "evolution-data-server" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "gnome3" "evolution-data-server" "plugins" ] + [ "services" "gnome" "evolution-data-server" "plugins" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.evolution-data-server = { + enable = mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars."; + plugins = mkOption { + type = types.listOf types.package; + default = [ ]; + description = "Plugins for Evolution Data Server."; + }; + }; + programs.evolution = { + enable = mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality."; + plugins = mkOption { + type = types.listOf types.package; + default = [ ]; + example = literalExample "[ pkgs.evolution-ews ]"; + description = "Plugins for Evolution."; + }; + + }; + }; + + ###### implementation + + config = + let + bundle = pkgs.evolutionWithPlugins.override { inherit (config.services.gnome.evolution-data-server) plugins; }; + in + mkMerge [ + (mkIf config.services.gnome.evolution-data-server.enable { + environment.systemPackages = [ bundle ]; + + services.dbus.packages = [ bundle ]; + + systemd.packages = [ bundle ]; + }) + (mkIf config.programs.evolution.enable { + services.gnome.evolution-data-server = { + enable = true; + plugins = [ pkgs.evolution ] ++ config.programs.evolution.plugins; + }; + services.gnome.gnome-keyring.enable = true; + }) + ]; +} diff --git a/nixos/modules/services/desktops/gnome/glib-networking.nix b/nixos/modules/services/desktops/gnome/glib-networking.nix new file mode 100644 index 00000000000..4288b6b5de6 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/glib-networking.nix @@ -0,0 +1,45 @@ +# GLib Networking + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "glib-networking" "enable" ] + [ "services" "gnome" "glib-networking" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.glib-networking = { + + enable = mkEnableOption "network extensions for GLib"; + + }; + + }; + + ###### implementation + + config = mkIf config.services.gnome.glib-networking.enable { + + services.dbus.packages = [ pkgs.glib-networking ]; + + systemd.packages = [ pkgs.glib-networking ]; + + environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.glib-networking.out}/lib/gio/modules" ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix b/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix new file mode 100644 index 00000000000..9e9771cf541 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix @@ -0,0 +1,98 @@ +# GNOME Initial Setup. + +{ config, pkgs, lib, ... }: + +with lib; + +let + + # GNOME initial setup's run is conditioned on whether + # the gnome-initial-setup-done file exists in XDG_CONFIG_HOME + # Because of this, every existing user will have initial setup + # running because they never ran it before. + # + # To prevent this we create the file if the users stateVersion + # is older than 20.03 (the release we added this module). + + script = pkgs.writeScript "create-gis-stamp-files" '' + #!${pkgs.runtimeShell} + setup_done=$HOME/.config/gnome-initial-setup-done + + echo "Creating g-i-s stamp file $setup_done ..." + cat - > $setup_done <<- EOF + yes + EOF + ''; + + createGisStampFilesAutostart = pkgs.writeTextFile rec { + name = "create-g-i-s-stamp-files"; + destination = "/etc/xdg/autostart/${name}.desktop"; + text = '' + [Desktop Entry] + Type=Application + Name=Create GNOME Initial Setup stamp files + Exec=${script} + StartupNotify=false + NoDisplay=true + OnlyShowIn=GNOME; + AutostartCondition=unless-exists gnome-initial-setup-done + X-GNOME-Autostart-Phase=EarlyInitialization + ''; + }; + +in + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-initial-setup" "enable" ] + [ "services" "gnome" "gnome-initial-setup" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.gnome-initial-setup = { + + enable = mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.gnome-initial-setup.enable { + + environment.systemPackages = [ + pkgs.gnome.gnome-initial-setup + ] + ++ optional (versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart + ; + + systemd.packages = [ + pkgs.gnome.gnome-initial-setup + ]; + + systemd.user.targets."gnome-session".wants = [ + "gnome-initial-setup-copy-worker.service" + "gnome-initial-setup-first-login.service" + "gnome-welcome-tour.service" + ]; + + systemd.user.targets."gnome-session@gnome-initial-setup".wants = [ + "gnome-initial-setup.service" + ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/gnome-keyring.nix b/nixos/modules/services/desktops/gnome/gnome-keyring.nix new file mode 100644 index 00000000000..cda44bab8bf --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-keyring.nix @@ -0,0 +1,61 @@ +# GNOME Keyring daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-keyring" "enable" ] + [ "services" "gnome" "gnome-keyring" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.gnome-keyring = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Keyring daemon, a service designed to + take care of the user's security credentials, + such as user names and passwords. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.gnome-keyring.enable { + + environment.systemPackages = [ pkgs.gnome.gnome-keyring ]; + + services.dbus.packages = [ pkgs.gnome.gnome-keyring pkgs.gcr ]; + + xdg.portal.extraPortals = [ pkgs.gnome.gnome-keyring ]; + + security.pam.services.login.enableGnomeKeyring = true; + + security.wrappers.gnome-keyring-daemon = { + source = "${pkgs.gnome.gnome-keyring}/bin/gnome-keyring-daemon"; + capabilities = "cap_ipc_lock=ep"; + }; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix new file mode 100644 index 00000000000..01f7e3695cf --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix @@ -0,0 +1,51 @@ +# GNOME Online Accounts daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-online-accounts" "enable" ] + [ "services" "gnome" "gnome-online-accounts" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.gnome-online-accounts = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Online Accounts daemon, a service that provides + a single sign-on framework for the GNOME desktop. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.gnome-online-accounts.enable { + + environment.systemPackages = [ pkgs.gnome-online-accounts ]; + + services.dbus.packages = [ pkgs.gnome-online-accounts ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/gnome-online-miners.nix b/nixos/modules/services/desktops/gnome/gnome-online-miners.nix new file mode 100644 index 00000000000..5f9039f68c4 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-online-miners.nix @@ -0,0 +1,51 @@ +# GNOME Online Miners daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-online-miners" "enable" ] + [ "services" "gnome" "gnome-online-miners" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.gnome-online-miners = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Online Miners, a service that + crawls through your online content. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.gnome-online-miners.enable { + + environment.systemPackages = [ pkgs.gnome.gnome-online-miners ]; + + services.dbus.packages = [ pkgs.gnome.gnome-online-miners ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix new file mode 100644 index 00000000000..b5573d2fc21 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix @@ -0,0 +1,32 @@ +# Remote desktop daemon using Pipewire. +{ config, lib, pkgs, ... }: + +with lib; + +{ + meta = { + maintainers = teams.gnome.members; + }; + + # Added 2021-05-07 + imports = [ + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-remote-desktop" "enable" ] + [ "services" "gnome" "gnome-remote-desktop" "enable" ] + ) + ]; + + ###### interface + options = { + services.gnome.gnome-remote-desktop = { + enable = mkEnableOption "Remote Desktop support using Pipewire"; + }; + }; + + ###### implementation + config = mkIf config.services.gnome.gnome-remote-desktop.enable { + services.pipewire.enable = true; + + systemd.packages = [ pkgs.gnome.gnome-remote-desktop ]; + }; +} diff --git a/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix b/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix new file mode 100644 index 00000000000..05b5c86ddcb --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix @@ -0,0 +1,84 @@ +# GNOME Settings Daemon + +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.gnome.gnome-settings-daemon; + +in + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + (mkRemovedOptionModule + ["services" "gnome3" "gnome-settings-daemon" "package"] + "") + + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-settings-daemon" "enable" ] + [ "services" "gnome" "gnome-settings-daemon" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.gnome-settings-daemon = { + + enable = mkEnableOption "GNOME Settings Daemon"; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment.systemPackages = [ + pkgs.gnome.gnome-settings-daemon + ]; + + services.udev.packages = [ + pkgs.gnome.gnome-settings-daemon + ]; + + systemd.packages = [ + pkgs.gnome.gnome-settings-daemon + ]; + + systemd.user.targets."gnome-session-initialized".wants = [ + "gsd-color.target" + "gsd-datetime.target" + "gsd-keyboard.target" + "gsd-media-keys.target" + "gsd-print-notifications.target" + "gsd-rfkill.target" + "gsd-screensaver-proxy.target" + "gsd-sharing.target" + "gsd-smartcard.target" + "gsd-sound.target" + "gsd-wacom.target" + "gsd-wwan.target" + "gsd-a11y-settings.target" + "gsd-housekeeping.target" + "gsd-power.target" + ]; + + systemd.user.targets."gnome-session-x11-services".wants = [ + "gsd-xsettings.target" + ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/gnome-user-share.nix b/nixos/modules/services/desktops/gnome/gnome-user-share.nix new file mode 100644 index 00000000000..38256af309c --- /dev/null +++ b/nixos/modules/services/desktops/gnome/gnome-user-share.nix @@ -0,0 +1,48 @@ +# GNOME User Share daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "gnome-user-share" "enable" ] + [ "services" "gnome" "gnome-user-share" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.gnome-user-share = { + + enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME"; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.gnome-user-share.enable { + + environment.systemPackages = [ + pkgs.gnome.gnome-user-share + ]; + + systemd.packages = [ + pkgs.gnome.gnome-user-share + ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/rygel.nix b/nixos/modules/services/desktops/gnome/rygel.nix new file mode 100644 index 00000000000..7ea9778fc40 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/rygel.nix @@ -0,0 +1,44 @@ +# rygel service. +{ config, lib, pkgs, ... }: + +with lib; + +{ + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "rygel" "enable" ] + [ "services" "gnome" "rygel" "enable" ] + ) + ]; + + ###### interface + options = { + services.gnome.rygel = { + enable = mkOption { + default = false; + description = '' + Whether to enable Rygel UPnP Mediaserver. + + You will need to also allow UPnP connections in firewall, see the following comment. + ''; + type = types.bool; + }; + }; + }; + + ###### implementation + config = mkIf config.services.gnome.rygel.enable { + environment.systemPackages = [ pkgs.gnome.rygel ]; + + services.dbus.packages = [ pkgs.gnome.rygel ]; + + systemd.packages = [ pkgs.gnome.rygel ]; + + environment.etc."rygel.conf".source = "${pkgs.gnome.rygel}/etc/rygel.conf"; + }; +} diff --git a/nixos/modules/services/desktops/gnome/sushi.nix b/nixos/modules/services/desktops/gnome/sushi.nix new file mode 100644 index 00000000000..3133a3a0d98 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/sushi.nix @@ -0,0 +1,50 @@ +# GNOME Sushi daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "sushi" "enable" ] + [ "services" "gnome" "sushi" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.sushi = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Sushi, a quick previewer for nautilus. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.sushi.enable { + + environment.systemPackages = [ pkgs.gnome.sushi ]; + + services.dbus.packages = [ pkgs.gnome.sushi ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/tracker-miners.nix b/nixos/modules/services/desktops/gnome/tracker-miners.nix new file mode 100644 index 00000000000..c9101f0caa6 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/tracker-miners.nix @@ -0,0 +1,52 @@ +# Tracker Miners daemons. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "tracker-miners" "enable" ] + [ "services" "gnome" "tracker-miners" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.tracker-miners = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Tracker miners, indexing services for Tracker + search engine and metadata storage system. + ''; + }; + + }; + + }; + + ###### implementation + + config = mkIf config.services.gnome.tracker-miners.enable { + + environment.systemPackages = [ pkgs.tracker-miners ]; + + services.dbus.packages = [ pkgs.tracker-miners ]; + + systemd.packages = [ pkgs.tracker-miners ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome/tracker.nix b/nixos/modules/services/desktops/gnome/tracker.nix new file mode 100644 index 00000000000..29d9662b0b8 --- /dev/null +++ b/nixos/modules/services/desktops/gnome/tracker.nix @@ -0,0 +1,53 @@ +# Tracker daemon. + +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "tracker" "enable" ] + [ "services" "gnome" "tracker" "enable" ] + ) + ]; + + ###### interface + + options = { + + services.gnome.tracker = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Tracker services, a search engine, + search tool and metadata storage system. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome.tracker.enable { + + environment.systemPackages = [ pkgs.tracker ]; + + services.dbus.packages = [ pkgs.tracker ]; + + systemd.packages = [ pkgs.tracker ]; + + }; + +} diff --git a/nixos/modules/services/desktops/gnome3/at-spi2-core.nix b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix deleted file mode 100644 index 492242e3296..00000000000 --- a/nixos/modules/services/desktops/gnome3/at-spi2-core.nix +++ /dev/null @@ -1,49 +0,0 @@ -# at-spi2-core daemon. - -{ config, lib, pkgs, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.at-spi2-core = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable at-spi2-core, a service for the Assistive Technologies - available on the GNOME platform. - - Enable this if you get the error or warning - The name org.a11y.Bus was not provided by any .service files. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkMerge [ - (mkIf config.services.gnome3.at-spi2-core.enable { - environment.systemPackages = [ pkgs.at-spi2-core ]; - services.dbus.packages = [ pkgs.at-spi2-core ]; - systemd.packages = [ pkgs.at-spi2-core ]; - }) - - (mkIf (!config.services.gnome3.at-spi2-core.enable) { - environment.variables.NO_AT_BRIDGE = "1"; - }) - ]; -} diff --git a/nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix b/nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix deleted file mode 100644 index 3c7f217b18d..00000000000 --- a/nixos/modules/services/desktops/gnome3/chrome-gnome-shell.nix +++ /dev/null @@ -1,33 +0,0 @@ -# Chrome GNOME Shell native host connector. -{ config, lib, pkgs, ... }: - -with lib; - -{ - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - options = { - services.gnome3.chrome-gnome-shell.enable = mkEnableOption '' - Chrome GNOME Shell native host connector, a DBus service - allowing to install GNOME Shell extensions from a web browser. - ''; - }; - - - ###### implementation - config = mkIf config.services.gnome3.chrome-gnome-shell.enable { - environment.etc = { - "chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; - "opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json".source = "${pkgs.chrome-gnome-shell}/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json"; - }; - - environment.systemPackages = [ pkgs.chrome-gnome-shell ]; - - services.dbus.packages = [ pkgs.chrome-gnome-shell ]; - - nixpkgs.config.firefox.enableGnomeExtensions = true; - }; -} diff --git a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix deleted file mode 100644 index 749f12b86bc..00000000000 --- a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix +++ /dev/null @@ -1,59 +0,0 @@ -# Evolution Data Server daemon. - -{ config, lib, pkgs, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.evolution-data-server = { - enable = mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars."; - plugins = mkOption { - type = types.listOf types.package; - default = [ ]; - description = "Plugins for Evolution Data Server."; - }; - }; - programs.evolution = { - enable = mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality."; - plugins = mkOption { - type = types.listOf types.package; - default = [ ]; - example = literalExample "[ pkgs.evolution-ews ]"; - description = "Plugins for Evolution."; - }; - - }; - }; - - ###### implementation - - config = - let - bundle = pkgs.evolutionWithPlugins.override { inherit (config.services.gnome3.evolution-data-server) plugins; }; - in - mkMerge [ - (mkIf config.services.gnome3.evolution-data-server.enable { - environment.systemPackages = [ bundle ]; - - services.dbus.packages = [ bundle ]; - - systemd.packages = [ bundle ]; - }) - (mkIf config.programs.evolution.enable { - services.gnome3.evolution-data-server = { - enable = true; - plugins = [ pkgs.evolution ] ++ config.programs.evolution.plugins; - }; - services.gnome3.gnome-keyring.enable = true; - }) - ]; -} diff --git a/nixos/modules/services/desktops/gnome3/glib-networking.nix b/nixos/modules/services/desktops/gnome3/glib-networking.nix deleted file mode 100644 index 7e667b6b1f0..00000000000 --- a/nixos/modules/services/desktops/gnome3/glib-networking.nix +++ /dev/null @@ -1,37 +0,0 @@ -# GLib Networking - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.glib-networking = { - - enable = mkEnableOption "network extensions for GLib"; - - }; - - }; - - ###### implementation - - config = mkIf config.services.gnome3.glib-networking.enable { - - services.dbus.packages = [ pkgs.glib-networking ]; - - systemd.packages = [ pkgs.glib-networking ]; - - environment.variables.GIO_EXTRA_MODULES = [ "${pkgs.glib-networking.out}/lib/gio/modules" ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix b/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix deleted file mode 100644 index c391ad9694c..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-initial-setup.nix +++ /dev/null @@ -1,90 +0,0 @@ -# GNOME Initial Setup. - -{ config, pkgs, lib, ... }: - -with lib; - -let - - # GNOME initial setup's run is conditioned on whether - # the gnome-initial-setup-done file exists in XDG_CONFIG_HOME - # Because of this, every existing user will have initial setup - # running because they never ran it before. - # - # To prevent this we create the file if the users stateVersion - # is older than 20.03 (the release we added this module). - - script = pkgs.writeScript "create-gis-stamp-files" '' - #!${pkgs.runtimeShell} - setup_done=$HOME/.config/gnome-initial-setup-done - - echo "Creating g-i-s stamp file $setup_done ..." - cat - > $setup_done <<- EOF - yes - EOF - ''; - - createGisStampFilesAutostart = pkgs.writeTextFile rec { - name = "create-g-i-s-stamp-files"; - destination = "/etc/xdg/autostart/${name}.desktop"; - text = '' - [Desktop Entry] - Type=Application - Name=Create GNOME Initial Setup stamp files - Exec=${script} - StartupNotify=false - NoDisplay=true - OnlyShowIn=GNOME; - AutostartCondition=unless-exists gnome-initial-setup-done - X-GNOME-Autostart-Phase=EarlyInitialization - ''; - }; - -in - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.gnome-initial-setup = { - - enable = mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system"; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-initial-setup.enable { - - environment.systemPackages = [ - pkgs.gnome3.gnome-initial-setup - ] - ++ optional (versionOlder config.system.stateVersion "20.03") createGisStampFilesAutostart - ; - - systemd.packages = [ - pkgs.gnome3.gnome-initial-setup - ]; - - systemd.user.targets."gnome-session".wants = [ - "gnome-initial-setup-copy-worker.service" - "gnome-initial-setup-first-login.service" - "gnome-welcome-tour.service" - ]; - - systemd.user.targets."gnome-session@gnome-initial-setup".wants = [ - "gnome-initial-setup.service" - ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix deleted file mode 100644 index 2916a3c82b3..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix +++ /dev/null @@ -1,53 +0,0 @@ -# GNOME Keyring daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.gnome-keyring = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME Keyring daemon, a service designed to - take care of the user's security credentials, - such as user names and passwords. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-keyring.enable { - - environment.systemPackages = [ pkgs.gnome3.gnome-keyring ]; - - services.dbus.packages = [ pkgs.gnome3.gnome-keyring pkgs.gcr ]; - - xdg.portal.extraPortals = [ pkgs.gnome3.gnome-keyring ]; - - security.pam.services.login.enableGnomeKeyring = true; - - security.wrappers.gnome-keyring-daemon = { - source = "${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon"; - capabilities = "cap_ipc_lock=ep"; - }; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix deleted file mode 100644 index 3f9ced5e86b..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix +++ /dev/null @@ -1,43 +0,0 @@ -# GNOME Online Accounts daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.gnome-online-accounts = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME Online Accounts daemon, a service that provides - a single sign-on framework for the GNOME desktop. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-online-accounts.enable { - - environment.systemPackages = [ pkgs.gnome-online-accounts ]; - - services.dbus.packages = [ pkgs.gnome-online-accounts ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix b/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix deleted file mode 100644 index 39d669e8b30..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix +++ /dev/null @@ -1,43 +0,0 @@ -# GNOME Online Miners daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.gnome-online-miners = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable GNOME Online Miners, a service that - crawls through your online content. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-online-miners.enable { - - environment.systemPackages = [ pkgs.gnome3.gnome-online-miners ]; - - services.dbus.packages = [ pkgs.gnome3.gnome-online-miners ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix deleted file mode 100644 index 164a0a44f8c..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix +++ /dev/null @@ -1,24 +0,0 @@ -# Remote desktop daemon using Pipewire. -{ config, lib, pkgs, ... }: - -with lib; - -{ - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - options = { - services.gnome3.gnome-remote-desktop = { - enable = mkEnableOption "Remote Desktop support using Pipewire"; - }; - }; - - ###### implementation - config = mkIf config.services.gnome3.gnome-remote-desktop.enable { - services.pipewire.enable = true; - - systemd.packages = [ pkgs.gnome3.gnome-remote-desktop ]; - }; -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix b/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix deleted file mode 100644 index 1c33ed064a1..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix +++ /dev/null @@ -1,78 +0,0 @@ -# GNOME Settings Daemon - -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.services.gnome3.gnome-settings-daemon; - -in - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - imports = [ - (mkRemovedOptionModule - ["services" "gnome3" "gnome-settings-daemon" "package"] - "") - ]; - - ###### interface - - options = { - - services.gnome3.gnome-settings-daemon = { - - enable = mkEnableOption "GNOME Settings Daemon"; - - }; - - }; - - - ###### implementation - - config = mkIf cfg.enable { - - environment.systemPackages = [ - pkgs.gnome3.gnome-settings-daemon - ]; - - services.udev.packages = [ - pkgs.gnome3.gnome-settings-daemon - ]; - - systemd.packages = [ - pkgs.gnome3.gnome-settings-daemon - ]; - - systemd.user.targets."gnome-session-initialized".wants = [ - "gsd-color.target" - "gsd-datetime.target" - "gsd-keyboard.target" - "gsd-media-keys.target" - "gsd-print-notifications.target" - "gsd-rfkill.target" - "gsd-screensaver-proxy.target" - "gsd-sharing.target" - "gsd-smartcard.target" - "gsd-sound.target" - "gsd-wacom.target" - "gsd-wwan.target" - "gsd-a11y-settings.target" - "gsd-housekeeping.target" - "gsd-power.target" - ]; - - systemd.user.targets."gnome-session-x11-services".wants = [ - "gsd-xsettings.target" - ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/gnome-user-share.nix b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix deleted file mode 100644 index f2fe8b41a9e..00000000000 --- a/nixos/modules/services/desktops/gnome3/gnome-user-share.nix +++ /dev/null @@ -1,40 +0,0 @@ -# GNOME User Share daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.gnome-user-share = { - - enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME"; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.gnome-user-share.enable { - - environment.systemPackages = [ - pkgs.gnome3.gnome-user-share - ]; - - systemd.packages = [ - pkgs.gnome3.gnome-user-share - ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/rygel.nix b/nixos/modules/services/desktops/gnome3/rygel.nix deleted file mode 100644 index 917a1d6541e..00000000000 --- a/nixos/modules/services/desktops/gnome3/rygel.nix +++ /dev/null @@ -1,36 +0,0 @@ -# rygel service. -{ config, lib, pkgs, ... }: - -with lib; - -{ - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - options = { - services.gnome3.rygel = { - enable = mkOption { - default = false; - description = '' - Whether to enable Rygel UPnP Mediaserver. - - You will need to also allow UPnP connections in firewall, see the following comment. - ''; - type = types.bool; - }; - }; - }; - - ###### implementation - config = mkIf config.services.gnome3.rygel.enable { - environment.systemPackages = [ pkgs.gnome3.rygel ]; - - services.dbus.packages = [ pkgs.gnome3.rygel ]; - - systemd.packages = [ pkgs.gnome3.rygel ]; - - environment.etc."rygel.conf".source = "${pkgs.gnome3.rygel}/etc/rygel.conf"; - }; -} diff --git a/nixos/modules/services/desktops/gnome3/sushi.nix b/nixos/modules/services/desktops/gnome3/sushi.nix deleted file mode 100644 index 83b17365d5d..00000000000 --- a/nixos/modules/services/desktops/gnome3/sushi.nix +++ /dev/null @@ -1,42 +0,0 @@ -# GNOME Sushi daemon. - -{ config, lib, pkgs, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.sushi = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Sushi, a quick previewer for nautilus. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.sushi.enable { - - environment.systemPackages = [ pkgs.gnome3.sushi ]; - - services.dbus.packages = [ pkgs.gnome3.sushi ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/tracker-miners.nix b/nixos/modules/services/desktops/gnome3/tracker-miners.nix deleted file mode 100644 index f2af4024927..00000000000 --- a/nixos/modules/services/desktops/gnome3/tracker-miners.nix +++ /dev/null @@ -1,44 +0,0 @@ -# Tracker Miners daemons. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.tracker-miners = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Tracker miners, indexing services for Tracker - search engine and metadata storage system. - ''; - }; - - }; - - }; - - ###### implementation - - config = mkIf config.services.gnome3.tracker-miners.enable { - - environment.systemPackages = [ pkgs.tracker-miners ]; - - services.dbus.packages = [ pkgs.tracker-miners ]; - - systemd.packages = [ pkgs.tracker-miners ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix deleted file mode 100644 index cd196e38553..00000000000 --- a/nixos/modules/services/desktops/gnome3/tracker.nix +++ /dev/null @@ -1,45 +0,0 @@ -# Tracker daemon. - -{ config, pkgs, lib, ... }: - -with lib; - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - ###### interface - - options = { - - services.gnome3.tracker = { - - enable = mkOption { - type = types.bool; - default = false; - description = '' - Whether to enable Tracker services, a search engine, - search tool and metadata storage system. - ''; - }; - - }; - - }; - - - ###### implementation - - config = mkIf config.services.gnome3.tracker.enable { - - environment.systemPackages = [ pkgs.tracker ]; - - services.dbus.packages = [ pkgs.tracker ]; - - systemd.packages = [ pkgs.tracker ]; - - }; - -} diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix index 250ea6d4575..966a4d38662 100644 --- a/nixos/modules/services/desktops/gvfs.nix +++ b/nixos/modules/services/desktops/gvfs.nix @@ -34,7 +34,7 @@ in # gvfs can be built with multiple configurations package = mkOption { type = types.package; - default = pkgs.gnome3.gvfs; + default = pkgs.gnome.gvfs; description = "Which GVfs package to use."; }; diff --git a/nixos/modules/services/desktops/telepathy.nix b/nixos/modules/services/desktops/telepathy.nix index 8c50d860e5b..b5f6a5fcbcf 100644 --- a/nixos/modules/services/desktops/telepathy.nix +++ b/nixos/modules/services/desktops/telepathy.nix @@ -39,7 +39,7 @@ with lib; services.dbus.packages = [ pkgs.telepathy-mission-control ]; # Enable runtime optional telepathy in gnome-shell - services.xserver.desktopManager.gnome3.sessionPath = with pkgs; [ + services.xserver.desktopManager.gnome.sessionPath = with pkgs; [ telepathy-glib telepathy-logger ]; diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix index 14dcf009a7d..43220e3c595 100644 --- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix +++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix @@ -26,7 +26,7 @@ in sessionPath = mkOption { default = []; type = types.listOf types.package; - example = literalExample "[ pkgs.gnome3.gpaste ]"; + example = literalExample "[ pkgs.gnome.gpaste ]"; description = '' Additional list of packages to be added to the session search path. Useful for GSettings-conditional autostart. @@ -94,8 +94,8 @@ in xapps ]; services.cinnamon.apps.enable = mkDefault true; - services.gnome3.glib-networking.enable = true; - services.gnome3.gnome-keyring.enable = true; + services.gnome.glib-networking.enable = true; + services.gnome.gnome-keyring.enable = true; services.gvfs.enable = true; services.udisks2.enable = true; services.upower.enable = mkDefault config.powerManagement.enable; @@ -110,7 +110,7 @@ in programs.dconf.enable = true; # Enable org.a11y.Bus - services.gnome3.at-spi2-core.enable = true; + services.gnome.at-spi2-core.enable = true; # Fix lockscreen security.pam.services = { @@ -135,19 +135,19 @@ in # session requirements cinnamon-screensaver # cinnamon-killer-daemon: provided by cinnamon-common - gnome3.networkmanagerapplet # session requirement - also nm-applet not needed + gnome.networkmanagerapplet # session requirement - also nm-applet not needed # packages nemo cinnamon-control-center cinnamon-settings-daemon - gnome3.libgnomekbd + gnome.libgnomekbd orca # theme - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme hicolor-icon-theme - gnome3.gnome-themes-extra + gnome.gnome-themes-extra gtk3.out mint-artwork mint-themes @@ -192,7 +192,7 @@ in programs.evince.enable = mkDefault true; programs.file-roller.enable = mkDefault true; - environment.systemPackages = (with pkgs // pkgs.gnome3 // pkgs.cinnamon; pkgs.gnome3.removePackagesByName [ + environment.systemPackages = (with pkgs // pkgs.gnome // pkgs.cinnamon; pkgs.gnome.removePackagesByName [ # cinnamon team apps blueberry warpinator diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index f5559eb5354..6ee5b0fc54f 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -19,7 +19,7 @@ in # E.g., if Plasma 5 is enabled, it supersedes xterm. imports = [ ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix - ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix + ./lxqt.nix ./enlightenment.nix ./gnome.nix ./kodi.nix ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix ./cinnamon.nix ]; diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix new file mode 100644 index 00000000000..d61d6ce50da --- /dev/null +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -0,0 +1,560 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.xserver.desktopManager.gnome; + serviceCfg = config.services.gnome; + + # Prioritize nautilus by default when opening directories + mimeAppsList = pkgs.writeTextFile { + name = "gnome-mimeapps"; + destination = "/share/applications/mimeapps.list"; + text = '' + [Default Applications] + inode/directory=nautilus.desktop;org.gnome.Nautilus.desktop + ''; + }; + + defaultFavoriteAppsOverride = '' + [org.gnome.shell] + favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ] + ''; + + nixos-gsettings-desktop-schemas = let + defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome.gnome-shell ]; + in + pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; } + '' + mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + + ${concatMapStrings + (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") + (defaultPackages ++ cfg.extraGSettingsOverridePackages)} + + cp -f ${pkgs.gnome.gnome-shell}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + + ${optionalString flashbackEnabled '' + cp -f ${pkgs.gnome.gnome-flashback}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas + ''} + + chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides + cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF + [org.gnome.desktop.background] + picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}' + + [org.gnome.desktop.screensaver] + picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}' + + ${cfg.favoriteAppsOverride} + + ${cfg.extraGSettingsOverrides} + EOF + + ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/ + ''; + + flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0; + + notExcluded = pkg: mkDefault (!(lib.elem pkg config.environment.gnome.excludePackages)); + +in + +{ + + meta = { + maintainers = teams.gnome.members; + }; + + imports = [ + # Added 2021-05-07 + (mkRenamedOptionModule + [ "services" "gnome3" "core-os-services" "enable" ] + [ "services" "gnome" "core-os-services" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "gnome3" "core-shell" "enable" ] + [ "services" "gnome" "core-shell" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "gnome3" "core-utilities" "enable" ] + [ "services" "gnome" "core-utilities" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "gnome3" "core-developer-tools" "enable" ] + [ "services" "gnome" "core-developer-tools" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "gnome3" "games" "enable" ] + [ "services" "gnome" "games" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "gnome3" "experimental-features" "realtime-scheduling" ] + [ "services" "gnome" "experimental-features" "realtime-scheduling" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "enable" ] + [ "services" "xserver" "desktopManager" "gnome" "enable" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "sessionPath" ] + [ "services" "xserver" "desktopManager" "gnome" "sessionPath" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "favoriteAppsOverride" ] + [ "services" "xserver" "desktopManager" "gnome" "favoriteAppsOverride" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "extraGSettingsOverrides" ] + [ "services" "xserver" "desktopManager" "gnome" "extraGSettingsOverrides" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "extraGSettingsOverridePackages" ] + [ "services" "xserver" "desktopManager" "gnome" "extraGSettingsOverridePackages" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "debug" ] + [ "services" "xserver" "desktopManager" "gnome" "debug" ] + ) + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "gnome3" "flashback" ] + [ "services" "xserver" "desktopManager" "gnome" "flashback" ] + ) + (mkRenamedOptionModule + [ "environment" "gnome3" "excludePackages" ] + [ "environment" "gnome" "excludePackages" ] + ) + ]; + + options = { + + services.gnome = { + core-os-services.enable = mkEnableOption "essential services for GNOME3"; + core-shell.enable = mkEnableOption "GNOME Shell services"; + 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 capability + for realtime-scheduling to be used. It doesn't automatically set the gsetting + so that mutter actually uses realtime-scheduling. This would require adding + rt-scheduler to /org/gnome/mutter/experimental-features + 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: + + + + NixOS/nixpkgs#90201 + + + + + NixOS/nixpkgs#86730 + + + + ''; + }; + }; + }; + + services.xserver.desktopManager.gnome = { + enable = mkOption { + type = types.bool; + default = false; + description = "Enable Gnome 3 desktop manager."; + }; + + sessionPath = mkOption { + default = []; + type = types.listOf types.package; + example = literalExample "[ pkgs.gnome.gpaste ]"; + description = '' + Additional list of packages to be added to the session search path. + Useful for GNOME Shell extensions or GSettings-conditional autostart. + + Note that this should be a last resort; patching the package is preferred (see GPaste). + ''; + apply = list: list ++ [ pkgs.gnome.gnome-shell pkgs.gnome.gnome-shell-extensions ]; + }; + + favoriteAppsOverride = mkOption { + internal = true; # this is messy + default = defaultFavoriteAppsOverride; + type = types.lines; + example = literalExample '' + [org.gnome.shell] + favorite-apps=[ 'firefox.desktop', 'org.gnome.Calendar.desktop' ] + ''; + description = "List of desktop files to put as favorite apps into gnome-shell. These need to be installed somehow globally."; + }; + + extraGSettingsOverrides = mkOption { + default = ""; + type = types.lines; + description = "Additional gsettings overrides."; + }; + + extraGSettingsOverridePackages = mkOption { + default = []; + type = types.listOf types.path; + description = "List of packages for which gsettings are overridden."; + }; + + debug = mkEnableOption "gnome-session debug messages"; + + flashback = { + enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity"; + + customSessions = mkOption { + type = types.listOf (types.submodule { + options = { + wmName = mkOption { + type = types.str; + description = "The filename-compatible name of the window manager to use."; + example = "xmonad"; + }; + + wmLabel = mkOption { + type = types.str; + description = "The pretty name of the window manager to use."; + example = "XMonad"; + }; + + wmCommand = mkOption { + type = types.str; + description = "The executable of the window manager to use."; + example = "\${pkgs.haskellPackages.xmonad}/bin/xmonad"; + }; + }; + }); + default = []; + description = "Other GNOME Flashback sessions to enable."; + }; + }; + }; + + environment.gnome.excludePackages = mkOption { + default = []; + example = literalExample "[ pkgs.gnome.totem ]"; + type = types.listOf types.package; + description = "Which packages gnome should exclude from the default environment"; + }; + + }; + + config = mkMerge [ + (mkIf (cfg.enable || flashbackEnabled) { + # Seed our configuration into nixos-generate-config + system.nixos-generate-config.desktopConfiguration = ['' + # Enable the GNOME 3 Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + '']; + + services.gnome.core-os-services.enable = true; + services.gnome.core-shell.enable = true; + services.gnome.core-utilities.enable = mkDefault true; + + services.xserver.displayManager.sessionPackages = [ pkgs.gnome.gnome-session.sessions ]; + + environment.extraInit = '' + ${concatMapStrings (p: '' + if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} + fi + + if [ -d "${p}/lib/girepository-1.0" ]; then + export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0 + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib + fi + '') cfg.sessionPath} + ''; + + environment.systemPackages = cfg.sessionPath; + + environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1"; + + # Override GSettings schemas + environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; + + # If gnome is installed, build vim for gtk3 too. + nixpkgs.config.vim.gui = "gtk3"; + + # Install gnome-software if flatpak is enabled + services.flatpak.guiPackages = [ + pkgs.gnome.gnome-software + ]; + }) + + (mkIf flashbackEnabled { + services.xserver.displayManager.sessionPackages = map + (wm: pkgs.gnome.gnome-flashback.mkSessionForWm { + inherit (wm) wmName wmLabel wmCommand; + }) (optional cfg.flashback.enableMetacity { + wmName = "metacity"; + wmLabel = "Metacity"; + wmCommand = "${pkgs.gnome.metacity}/bin/metacity"; + } ++ cfg.flashback.customSessions); + + security.pam.services.gnome-flashback = { + enableGnomeKeyring = true; + }; + + systemd.packages = with pkgs.gnome; [ + gnome-flashback + ] ++ (map + (wm: gnome-flashback.mkSystemdTargetForWm { + inherit (wm) wmName; + }) cfg.flashback.customSessions); + + # gnome-panel needs these for menu applet + environment.sessionVariables.XDG_DATA_DIRS = [ "${pkgs.gnome.gnome-flashback}/share" ]; + # TODO: switch to sessionVariables (resolve conflict) + environment.variables.XDG_CONFIG_DIRS = [ "${pkgs.gnome.gnome-flashback}/etc/xdg" ]; + }) + + (mkIf serviceCfg.core-os-services.enable { + hardware.bluetooth.enable = mkDefault true; + hardware.pulseaudio.enable = mkDefault true; + programs.dconf.enable = true; + security.polkit.enable = true; + services.accounts-daemon.enable = true; + services.dleyna-renderer.enable = mkDefault true; + services.dleyna-server.enable = mkDefault true; + services.power-profiles-daemon.enable = mkDefault true; + services.gnome.at-spi2-core.enable = true; + services.gnome.evolution-data-server.enable = true; + services.gnome.gnome-keyring.enable = true; + services.gnome.gnome-online-accounts.enable = mkDefault true; + services.gnome.gnome-online-miners.enable = true; + services.gnome.tracker-miners.enable = mkDefault true; + services.gnome.tracker.enable = mkDefault true; + services.hardware.bolt.enable = mkDefault true; + services.packagekit.enable = mkDefault true; + services.udisks2.enable = true; + services.upower.enable = config.powerManagement.enable; + services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + + networking.networkmanager.enable = mkDefault true; + + services.xserver.updateDbusEnvironment = true; + + # gnome has a custom alert theme but it still + # inherits from the freedesktop theme. + environment.systemPackages = with pkgs; [ + sound-theme-freedesktop + ]; + + # Needed for themes and backgrounds + environment.pathsToLink = [ + "/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173 + ]; + }) + + (mkIf serviceCfg.core-shell.enable { + services.colord.enable = mkDefault true; + services.gnome.chrome-gnome-shell.enable = mkDefault true; + services.gnome.glib-networking.enable = true; + services.gnome.gnome-initial-setup.enable = mkDefault true; + services.gnome.gnome-remote-desktop.enable = mkDefault true; + services.gnome.gnome-settings-daemon.enable = true; + services.gnome.gnome-user-share.enable = mkDefault true; + services.gnome.rygel.enable = mkDefault true; + services.gvfs.enable = true; + services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); + services.telepathy.enable = mkDefault true; + + systemd.packages = with pkgs.gnome; [ + gnome-session + gnome-shell + ]; + + services.udev.packages = with pkgs.gnome; [ + # Force enable KMS modifiers for devices that require them. + # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1443 + mutter + ]; + + services.avahi.enable = mkDefault true; + + xdg.portal.extraPortals = [ + pkgs.gnome.gnome-shell + ]; + + services.geoclue2.enable = mkDefault true; + services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent + + services.geoclue2.appConfig.gnome-datetime-panel = { + isAllowed = true; + isSystem = true; + }; + services.geoclue2.appConfig.gnome-color-panel = { + isAllowed = true; + isSystem = true; + }; + services.geoclue2.appConfig."org.gnome.Shell" = { + isAllowed = true; + isSystem = true; + }; + + fonts.fonts = with pkgs; [ + cantarell-fonts + dejavu_fonts + source-code-pro # Default monospace font in 3.32 + source-sans-pro + ]; + + # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst + environment.systemPackages = with pkgs.gnome; [ + adwaita-icon-theme + gnome-backgrounds + gnome-bluetooth + gnome-color-manager + gnome-control-center + gnome-shell + gnome-shell-extensions + gnome-themes-extra + pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. + pkgs.nixos-artwork.wallpapers.simple-dark-gray + pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom + pkgs.gnome-user-docs + pkgs.orca + pkgs.glib # for gsettings + pkgs.gnome-menus + pkgs.gtk3.out # for gtk-launch + pkgs.hicolor-icon-theme + pkgs.shared-mime-info # for update-mime-database + pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ + ]; + }) + + # 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"; + 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 = (with pkgs.gnome; removePackagesByName [ + baobab + cheese + eog + epiphany + gedit + gnome-calculator + gnome-calendar + gnome-characters + gnome-clocks + gnome-contacts + gnome-font-viewer + gnome-logs + gnome-maps + gnome-music + pkgs.gnome-photos + gnome-screenshot + gnome-system-monitor + gnome-weather + nautilus + pkgs.gnome-connections + simple-scan + totem + yelp + ] config.environment.gnome.excludePackages); + + # Enable default program modules + # Since some of these have a corresponding package, we only + # enable that program module if the package hasn't been excluded + # through `environment.gnome.excludePackages` + programs.evince.enable = notExcluded pkgs.gnome.evince; + 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; + + # Let nautilus find extensions + # TODO: Create nautilus-with-extensions package + environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0"; + + # Override default mimeapps for nautilus + environment.sessionVariables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ]; + + environment.pathsToLink = [ + "/share/nautilus-python/extensions" + ]; + }) + + (mkIf serviceCfg.games.enable { + environment.systemPackages = (with pkgs.gnome; removePackagesByName [ + aisleriot + atomix + five-or-more + four-in-a-row + gnome-chess + gnome-klotski + gnome-mahjongg + gnome-mines + gnome-nibbles + gnome-robots + gnome-sudoku + gnome-taquin + gnome-tetravex + hitori + iagno + lightsoff + quadrapassel + swell-foop + tali + ] config.environment.gnome.excludePackages); + }) + + # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst + (mkIf serviceCfg.core-developer-tools.enable { + environment.systemPackages = (with pkgs.gnome; removePackagesByName [ + dconf-editor + devhelp + pkgs.gnome-builder + # boxes would make sense in this option, however + # it doesn't function well enough to be included + # in default configurations. + # https://github.com/NixOS/nixpkgs/issues/60908 + /* gnome-boxes */ + ] config.environment.gnome.excludePackages); + + services.sysprof.enable = true; + }) + ]; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix deleted file mode 100644 index 81203c7622a..00000000000 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ /dev/null @@ -1,500 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - - cfg = config.services.xserver.desktopManager.gnome3; - serviceCfg = config.services.gnome3; - - # Prioritize nautilus by default when opening directories - mimeAppsList = pkgs.writeTextFile { - name = "gnome-mimeapps"; - destination = "/share/applications/mimeapps.list"; - text = '' - [Default Applications] - inode/directory=nautilus.desktop;org.gnome.Nautilus.desktop - ''; - }; - - defaultFavoriteAppsOverride = '' - [org.gnome.shell] - favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ] - ''; - - nixos-gsettings-desktop-schemas = let - defaultPackages = with pkgs; [ gsettings-desktop-schemas gnome3.gnome-shell ]; - in - pkgs.runCommand "nixos-gsettings-desktop-schemas" { preferLocalBuild = true; } - '' - mkdir -p $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas - - ${concatMapStrings - (pkg: "cp -rf ${pkg}/share/gsettings-schemas/*/glib-2.0/schemas/*.xml $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas\n") - (defaultPackages ++ cfg.extraGSettingsOverridePackages)} - - cp -f ${pkgs.gnome3.gnome-shell}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas - - ${optionalString flashbackEnabled '' - cp -f ${pkgs.gnome3.gnome-flashback}/share/gsettings-schemas/*/glib-2.0/schemas/*.gschema.override $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas - ''} - - chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides - cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF - [org.gnome.desktop.background] - picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}' - - [org.gnome.desktop.screensaver] - picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}' - - ${cfg.favoriteAppsOverride} - - ${cfg.extraGSettingsOverrides} - EOF - - ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/ - ''; - - flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0; - - notExcluded = pkg: mkDefault (!(lib.elem pkg config.environment.gnome3.excludePackages)); - -in - -{ - - meta = { - maintainers = teams.gnome.members; - }; - - options = { - - services.gnome3 = { - core-os-services.enable = mkEnableOption "essential services for GNOME3"; - core-shell.enable = mkEnableOption "GNOME Shell services"; - 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 capability - for realtime-scheduling to be used. It doesn't automatically set the gsetting - so that mutter actually uses realtime-scheduling. This would require adding - rt-scheduler to /org/gnome/mutter/experimental-features - 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: - - - - NixOS/nixpkgs#90201 - - - - - NixOS/nixpkgs#86730 - - - - ''; - }; - }; - }; - - services.xserver.desktopManager.gnome3 = { - enable = mkOption { - type = types.bool; - default = false; - description = "Enable Gnome 3 desktop manager."; - }; - - sessionPath = mkOption { - default = []; - type = types.listOf types.package; - example = literalExample "[ pkgs.gnome3.gpaste ]"; - description = '' - Additional list of packages to be added to the session search path. - Useful for GNOME Shell extensions or GSettings-conditional autostart. - - Note that this should be a last resort; patching the package is preferred (see GPaste). - ''; - apply = list: list ++ [ pkgs.gnome3.gnome-shell pkgs.gnome3.gnome-shell-extensions ]; - }; - - favoriteAppsOverride = mkOption { - internal = true; # this is messy - default = defaultFavoriteAppsOverride; - type = types.lines; - example = literalExample '' - [org.gnome.shell] - favorite-apps=[ 'firefox.desktop', 'org.gnome.Calendar.desktop' ] - ''; - description = "List of desktop files to put as favorite apps into gnome-shell. These need to be installed somehow globally."; - }; - - extraGSettingsOverrides = mkOption { - default = ""; - type = types.lines; - description = "Additional gsettings overrides."; - }; - - extraGSettingsOverridePackages = mkOption { - default = []; - type = types.listOf types.path; - description = "List of packages for which gsettings are overridden."; - }; - - debug = mkEnableOption "gnome-session debug messages"; - - flashback = { - enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity"; - - customSessions = mkOption { - type = types.listOf (types.submodule { - options = { - wmName = mkOption { - type = types.str; - description = "The filename-compatible name of the window manager to use."; - example = "xmonad"; - }; - - wmLabel = mkOption { - type = types.str; - description = "The pretty name of the window manager to use."; - example = "XMonad"; - }; - - wmCommand = mkOption { - type = types.str; - description = "The executable of the window manager to use."; - example = "\${pkgs.haskellPackages.xmonad}/bin/xmonad"; - }; - }; - }); - default = []; - description = "Other GNOME Flashback sessions to enable."; - }; - }; - }; - - environment.gnome3.excludePackages = mkOption { - default = []; - example = literalExample "[ pkgs.gnome3.totem ]"; - type = types.listOf types.package; - description = "Which packages gnome should exclude from the default environment"; - }; - - }; - - config = mkMerge [ - (mkIf (cfg.enable || flashbackEnabled) { - # Seed our configuration into nixos-generate-config - system.nixos-generate-config.desktopConfiguration = ['' - # Enable the GNOME 3 Desktop Environment. - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome3.enable = true; - '']; - - services.gnome3.core-os-services.enable = true; - services.gnome3.core-shell.enable = true; - services.gnome3.core-utilities.enable = mkDefault true; - - services.xserver.displayManager.sessionPackages = [ pkgs.gnome3.gnome-session.sessions ]; - - environment.extraInit = '' - ${concatMapStrings (p: '' - if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then - export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name} - fi - - if [ -d "${p}/lib/girepository-1.0" ]; then - export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0 - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib - fi - '') cfg.sessionPath} - ''; - - environment.systemPackages = cfg.sessionPath; - - environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1"; - - # Override GSettings schemas - environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas"; - - # If gnome3 is installed, build vim for gtk3 too. - nixpkgs.config.vim.gui = "gtk3"; - - # Install gnome-software if flatpak is enabled - services.flatpak.guiPackages = [ - pkgs.gnome3.gnome-software - ]; - }) - - (mkIf flashbackEnabled { - services.xserver.displayManager.sessionPackages = map - (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm { - inherit (wm) wmName wmLabel wmCommand; - }) (optional cfg.flashback.enableMetacity { - wmName = "metacity"; - wmLabel = "Metacity"; - wmCommand = "${pkgs.gnome3.metacity}/bin/metacity"; - } ++ cfg.flashback.customSessions); - - security.pam.services.gnome-flashback = { - enableGnomeKeyring = true; - }; - - systemd.packages = with pkgs.gnome3; [ - gnome-flashback - ] ++ (map - (wm: gnome-flashback.mkSystemdTargetForWm { - inherit (wm) wmName; - }) cfg.flashback.customSessions); - - # gnome-panel needs these for menu applet - environment.sessionVariables.XDG_DATA_DIRS = [ "${pkgs.gnome3.gnome-flashback}/share" ]; - # TODO: switch to sessionVariables (resolve conflict) - environment.variables.XDG_CONFIG_DIRS = [ "${pkgs.gnome3.gnome-flashback}/etc/xdg" ]; - }) - - (mkIf serviceCfg.core-os-services.enable { - hardware.bluetooth.enable = mkDefault true; - hardware.pulseaudio.enable = mkDefault true; - programs.dconf.enable = true; - security.polkit.enable = true; - services.accounts-daemon.enable = true; - services.dleyna-renderer.enable = mkDefault true; - services.dleyna-server.enable = mkDefault true; - services.power-profiles-daemon.enable = mkDefault true; - services.gnome3.at-spi2-core.enable = true; - services.gnome3.evolution-data-server.enable = true; - services.gnome3.gnome-keyring.enable = true; - services.gnome3.gnome-online-accounts.enable = mkDefault true; - services.gnome3.gnome-online-miners.enable = true; - services.gnome3.tracker-miners.enable = mkDefault true; - services.gnome3.tracker.enable = mkDefault true; - services.hardware.bolt.enable = mkDefault true; - services.packagekit.enable = mkDefault true; - services.udisks2.enable = true; - services.upower.enable = config.powerManagement.enable; - services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center - - xdg.portal.enable = true; - xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; - - networking.networkmanager.enable = mkDefault true; - - services.xserver.updateDbusEnvironment = true; - - # gnome has a custom alert theme but it still - # inherits from the freedesktop theme. - environment.systemPackages = with pkgs; [ - sound-theme-freedesktop - ]; - - # Needed for themes and backgrounds - environment.pathsToLink = [ - "/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173 - ]; - }) - - (mkIf serviceCfg.core-shell.enable { - services.colord.enable = mkDefault true; - services.gnome3.chrome-gnome-shell.enable = mkDefault true; - services.gnome3.glib-networking.enable = true; - services.gnome3.gnome-initial-setup.enable = mkDefault true; - services.gnome3.gnome-remote-desktop.enable = mkDefault true; - services.gnome3.gnome-settings-daemon.enable = true; - services.gnome3.gnome-user-share.enable = mkDefault true; - services.gnome3.rygel.enable = mkDefault true; - services.gvfs.enable = true; - services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); - services.telepathy.enable = mkDefault true; - - systemd.packages = with pkgs.gnome3; [ - gnome-session - gnome-shell - ]; - - services.udev.packages = with pkgs.gnome3; [ - # Force enable KMS modifiers for devices that require them. - # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1443 - mutter - ]; - - services.avahi.enable = mkDefault true; - - xdg.portal.extraPortals = [ - pkgs.gnome3.gnome-shell - ]; - - services.geoclue2.enable = mkDefault true; - services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent - - services.geoclue2.appConfig.gnome-datetime-panel = { - isAllowed = true; - isSystem = true; - }; - services.geoclue2.appConfig.gnome-color-panel = { - isAllowed = true; - isSystem = true; - }; - services.geoclue2.appConfig."org.gnome.Shell" = { - isAllowed = true; - isSystem = true; - }; - - fonts.fonts = with pkgs; [ - cantarell-fonts - dejavu_fonts - source-code-pro # Default monospace font in 3.32 - source-sans-pro - ]; - - # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-shell.bst - environment.systemPackages = with pkgs.gnome3; [ - adwaita-icon-theme - gnome-backgrounds - gnome-bluetooth - gnome-color-manager - gnome-control-center - gnome-shell - gnome-shell-extensions - gnome-themes-extra - pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in. - pkgs.nixos-artwork.wallpapers.simple-dark-gray - pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom - pkgs.gnome-user-docs - pkgs.orca - pkgs.glib # for gsettings - pkgs.gnome-menus - pkgs.gtk3.out # for gtk-launch - pkgs.hicolor-icon-theme - pkgs.shared-mime-info # for update-mime-database - pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/ - ]; - }) - - # Enable soft realtime scheduling, only supported on wayland - (mkIf serviceCfg.experimental-features.realtime-scheduling { - security.wrappers.".gnome-shell-wrapped" = { - source = "${pkgs.gnome3.gnome-shell}/bin/.gnome-shell-wrapped"; - capabilities = "cap_sys_nice=ep"; - }; - - systemd.user.services.gnome-shell-wayland = let - gnomeShellRT = with pkgs.gnome3; 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 = (with pkgs.gnome3; removePackagesByName [ - baobab - cheese - eog - epiphany - gedit - gnome-calculator - gnome-calendar - gnome-characters - gnome-clocks - gnome-contacts - gnome-font-viewer - gnome-logs - gnome-maps - gnome-music - pkgs.gnome-photos - gnome-screenshot - gnome-system-monitor - gnome-weather - nautilus - pkgs.gnome-connections - simple-scan - totem - yelp - ] config.environment.gnome3.excludePackages); - - # Enable default program modules - # Since some of these have a corresponding package, we only - # enable that program module if the package hasn't been excluded - # through `environment.gnome3.excludePackages` - programs.evince.enable = notExcluded pkgs.gnome3.evince; - programs.file-roller.enable = notExcluded pkgs.gnome3.file-roller; - programs.geary.enable = notExcluded pkgs.gnome3.geary; - programs.gnome-disks.enable = notExcluded pkgs.gnome3.gnome-disk-utility; - programs.gnome-terminal.enable = notExcluded pkgs.gnome3.gnome-terminal; - programs.seahorse.enable = notExcluded pkgs.gnome3.seahorse; - services.gnome3.sushi.enable = notExcluded pkgs.gnome3.sushi; - - # Let nautilus find extensions - # TODO: Create nautilus-with-extensions package - environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0"; - - # Override default mimeapps for nautilus - environment.sessionVariables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ]; - - environment.pathsToLink = [ - "/share/nautilus-python/extensions" - ]; - }) - - (mkIf serviceCfg.games.enable { - environment.systemPackages = (with pkgs.gnome3; removePackagesByName [ - aisleriot - atomix - five-or-more - four-in-a-row - gnome-chess - gnome-klotski - gnome-mahjongg - gnome-mines - gnome-nibbles - gnome-robots - gnome-sudoku - gnome-taquin - gnome-tetravex - hitori - iagno - lightsoff - quadrapassel - swell-foop - tali - ] config.environment.gnome3.excludePackages); - }) - - # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/-/blob/3.38.0/elements/core/meta-gnome-core-developer-tools.bst - (mkIf serviceCfg.core-developer-tools.enable { - environment.systemPackages = (with pkgs.gnome3; removePackagesByName [ - dconf-editor - devhelp - pkgs.gnome-builder - # boxes would make sense in this option, however - # it doesn't function well enough to be included - # in default configurations. - # https://github.com/NixOS/nixpkgs/issues/60908 - /* gnome-boxes */ - ] config.environment.gnome3.excludePackages); - - services.sysprof.enable = true; - }) - ]; - -} diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix index bf53082b267..7cb92030bb1 100644 --- a/nixos/modules/services/x11/desktop-managers/lxqt.nix +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -51,7 +51,7 @@ in environment.systemPackages = pkgs.lxqt.preRequisitePackages ++ pkgs.lxqt.corePackages ++ - (pkgs.gnome3.removePackagesByName + (pkgs.gnome.removePackagesByName pkgs.lxqt.optionalPackages config.environment.lxqt.excludePackages); diff --git a/nixos/modules/services/x11/desktop-managers/mate.nix b/nixos/modules/services/x11/desktop-managers/mate.nix index f236c14fcf3..19ab9edb732 100644 --- a/nixos/modules/services/x11/desktop-managers/mate.nix +++ b/nixos/modules/services/x11/desktop-managers/mate.nix @@ -76,7 +76,7 @@ in environment.systemPackages = pkgs.mate.basePackages ++ - (pkgs.gnome3.removePackagesByName + (pkgs.gnome.removePackagesByName pkgs.mate.extraPackages config.environment.mate.excludePackages) ++ [ @@ -97,8 +97,8 @@ in # Mate uses this for printing programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); - services.gnome3.at-spi2-core.enable = true; - services.gnome3.gnome-keyring.enable = true; + services.gnome.at-spi2-core.enable = true; + services.gnome.gnome-keyring.enable = true; services.udev.packages = [ pkgs.mate.mate-settings-daemon ]; services.gvfs.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 195da75e744..e492073b80f 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -43,7 +43,7 @@ in sessionPath = mkOption { default = []; type = types.listOf types.package; - example = literalExample "[ pkgs.gnome3.gpaste ]"; + example = literalExample "[ pkgs.gnome.gpaste ]"; description = '' Additional list of packages to be added to the session search path. Useful for GSettings-conditional autostart. @@ -142,12 +142,12 @@ in ]; services.pantheon.apps.enable = mkDefault true; services.pantheon.contractor.enable = mkDefault true; - services.gnome3.at-spi2-core.enable = true; - services.gnome3.evolution-data-server.enable = true; - services.gnome3.glib-networking.enable = true; - services.gnome3.gnome-keyring.enable = true; + services.gnome.at-spi2-core.enable = true; + services.gnome.evolution-data-server.enable = true; + services.gnome.glib-networking.enable = true; + services.gnome.gnome-keyring.enable = true; services.gvfs.enable = true; - services.gnome3.rygel.enable = mkDefault true; + services.gnome.rygel.enable = mkDefault true; services.gsignond.enable = mkDefault true; services.gsignond.plugins = with pkgs.gsignondPlugins; [ lastfm mail oauth ]; services.udisks2.enable = true; @@ -177,7 +177,7 @@ in desktop-file-utils glib gnome-menus - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gtk3.out hicolor-icon-theme lightlocker @@ -213,10 +213,10 @@ in elementary-settings-daemon pantheon-agent-geoclue2 pantheon-agent-polkit - ]) ++ (gnome3.removePackagesByName [ - gnome3.geary - gnome3.epiphany - gnome3.gnome-font-viewer + ]) ++ (gnome.removePackagesByName [ + gnome.geary + gnome.epiphany + gnome.gnome-font-viewer ] config.environment.pantheon.excludePackages); programs.evince.enable = mkDefault true; @@ -265,7 +265,7 @@ in }) (mkIf serviceCfg.apps.enable { - environment.systemPackages = (with pkgs.pantheon; pkgs.gnome3.removePackagesByName [ + environment.systemPackages = (with pkgs.pantheon; pkgs.gnome.removePackagesByName [ elementary-calculator elementary-calendar elementary-camera diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 7d2856939c8..caecff55b22 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -74,8 +74,8 @@ in glib # for gsettings gtk3.out # gtk-update-icon-cache - gnome3.gnome-themes-extra - gnome3.adwaita-icon-theme + gnome.gnome-themes-extra + gnome.adwaita-icon-theme hicolor-icon-theme tango-icon-theme xfce4-icon-theme @@ -149,7 +149,7 @@ in security.polkit.enable = true; services.accounts-daemon.enable = true; services.upower.enable = config.powerManagement.enable; - services.gnome3.glib-networking.enable = true; + services.gnome.glib-networking.enable = true; services.gvfs.enable = true; services.tumbler.enable = true; services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true)); diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index a214e91cfd3..e1b9a21eb9f 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.xserver.displayManager; - gdm = pkgs.gnome3.gdm; + gdm = pkgs.gnome.gdm; xSessionWrapper = if (cfg.setupCommands == "") then null else pkgs.writeScript "gdm-x-session-wrapper" '' @@ -154,14 +154,14 @@ in ] ++ optionals config.hardware.pulseaudio.enable [ "d /run/gdm/.config/pulse 0711 gdm gdm" "L+ /run/gdm/.config/pulse/${pulseConfig.name} - - - - ${pulseConfig}" - ] ++ optionals config.services.gnome3.gnome-initial-setup.enable [ + ] ++ optionals config.services.gnome.gnome-initial-setup.enable [ # Create stamp file for gnome-initial-setup to prevent it starting in GDM. "f /run/gdm/.config/gnome-initial-setup-done 0711 gdm gdm - yes" ]; # Otherwise GDM will not be able to start correctly and display Wayland sessions - systemd.packages = with pkgs.gnome3; [ gdm gnome-session gnome-shell ]; - environment.systemPackages = [ pkgs.gnome3.adwaita-icon-theme ]; + systemd.packages = with pkgs.gnome; [ gdm gnome-session gnome-shell ]; + environment.systemPackages = [ pkgs.gnome.adwaita-icon-theme ]; systemd.services.display-manager.wants = [ # Because sd_login_monitor_new requires /run/systemd/machines @@ -208,7 +208,7 @@ in EnvironmentFile = "-/etc/locale.conf"; }; - systemd.services.display-manager.path = [ pkgs.gnome3.gnome-session ]; + systemd.services.display-manager.path = [ pkgs.gnome.gnome-session ]; # Allow choosing an user account services.accounts-daemon.enable = true; diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix index 129df139c61..ecd46a9ee6d 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/enso-os.nix @@ -34,8 +34,8 @@ in { theme = { package = mkOption { type = types.package; - default = pkgs.gnome3.gnome-themes-extra; - defaultText = "pkgs.gnome3.gnome-themes-extra"; + default = pkgs.gnome.gnome-themes-extra; + defaultText = "pkgs.gnome.gnome-themes-extra"; description = '' The package path that contains the theme given in the name option. ''; diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix index 9c1dc1d1c12..fe5a16bc60f 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/gtk.nix @@ -47,8 +47,8 @@ in package = mkOption { type = types.package; - default = pkgs.gnome3.gnome-themes-extra; - defaultText = "pkgs.gnome3.gnome-themes-extra"; + default = pkgs.gnome.gnome-themes-extra; + defaultText = "pkgs.gnome.gnome-themes-extra"; description = '' The package path that contains the theme given in the name option. ''; @@ -68,8 +68,8 @@ in package = mkOption { type = types.package; - default = pkgs.gnome3.adwaita-icon-theme; - defaultText = "pkgs.gnome3.adwaita-icon-theme"; + default = pkgs.gnome.adwaita-icon-theme; + defaultText = "pkgs.gnome.adwaita-icon-theme"; description = '' The package path that contains the icon theme given in the name option. ''; @@ -89,8 +89,8 @@ in package = mkOption { type = types.package; - default = pkgs.gnome3.adwaita-icon-theme; - defaultText = "pkgs.gnome3.adwaita-icon-theme"; + default = pkgs.gnome.adwaita-icon-theme; + defaultText = "pkgs.gnome.adwaita-icon-theme"; description = '' The package path that contains the cursor theme given in the name option. ''; diff --git a/nixos/modules/services/x11/window-managers/metacity.nix b/nixos/modules/services/x11/window-managers/metacity.nix index 5175fd7f3b1..600afe759b2 100644 --- a/nixos/modules/services/x11/window-managers/metacity.nix +++ b/nixos/modules/services/x11/window-managers/metacity.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.xserver.windowManager.metacity; - inherit (pkgs) gnome3; + inherit (pkgs) gnome; in { @@ -18,12 +18,12 @@ in services.xserver.windowManager.session = singleton { name = "metacity"; start = '' - ${gnome3.metacity}/bin/metacity & + ${gnome.metacity}/bin/metacity & waitPID=$! ''; }; - environment.systemPackages = [ gnome3.metacity ]; + environment.systemPackages = [ gnome.metacity ]; }; diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index ea82adf09ad..9358d223c01 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -70,8 +70,8 @@ in rec { (onFullSupported "nixos.tests.firefox") (onFullSupported "nixos.tests.firewall") (onFullSupported "nixos.tests.fontconfig-default-fonts") - (onFullSupported "nixos.tests.gnome3") - (onFullSupported "nixos.tests.gnome3-xorg") + (onFullSupported "nixos.tests.gnome") + (onFullSupported "nixos.tests.gnome-xorg") (onSystems ["x86_64-linux"] "nixos.tests.hibernate") (onFullSupported "nixos.tests.i3wm") (onSystems ["x86_64-linux"] "nixos.tests.installer.btrfsSimple") diff --git a/nixos/release.nix b/nixos/release.nix index 746e4c9dc69..2ca3150e680 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -323,10 +323,10 @@ in rec { services.xserver.desktopManager.xfce.enable = true; }); - gnome3 = makeClosure ({ ... }: + gnome = makeClosure ({ ... }: { services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome3.enable = true; + services.xserver.desktopManager.gnome.enable = true; }); pantheon = makeClosure ({ ... }: diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c34bf3623b6..1173a177c3c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -138,8 +138,8 @@ in gitolite = handleTest ./gitolite.nix {}; gitolite-fcgiwrap = handleTest ./gitolite-fcgiwrap.nix {}; glusterfs = handleTest ./glusterfs.nix {}; - gnome3 = handleTest ./gnome3.nix {}; - gnome3-xorg = handleTest ./gnome3-xorg.nix {}; + gnome = handleTest ./gnome.nix {}; + gnome-xorg = handleTest ./gnome-xorg.nix {}; go-neb = handleTest ./go-neb.nix {}; gobgpd = handleTest ./gobgpd.nix {}; gocd-agent = handleTest ./gocd-agent.nix {}; diff --git a/nixos/tests/gnome-xorg.nix b/nixos/tests/gnome-xorg.nix new file mode 100644 index 00000000000..55f9c90c20a --- /dev/null +++ b/nixos/tests/gnome-xorg.nix @@ -0,0 +1,81 @@ +import ./make-test-python.nix ({ pkgs, lib, ...} : { + name = "gnome-xorg"; + meta = with lib; { + maintainers = teams.gnome.members; + }; + + machine = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + in + + { imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager = { + gdm.enable = true; + gdm.debug = true; + autoLogin = { + enable = true; + user = user.name; + }; + }; + + services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.debug = true; + services.xserver.displayManager.defaultSession = "gnome-xorg"; + + virtualisation.memorySize = 1024; + }; + + testScript = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + uid = toString user.uid; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; + xauthority = "/run/user/${uid}/gdm/Xauthority"; + display = "DISPLAY=:0.0"; + env = "${bus} XAUTHORITY=${xauthority} ${display}"; + gdbus = "${env} gdbus"; + su = command: "su - ${user.name} -c '${env} ${command}'"; + + # Call javascript in gnome shell, returns a tuple (success, output), where + # `success` is true if the dbus call was successful and output is what the + # javascript evaluates to. + eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval"; + + # False when startup is done + startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp"; + + # Start gnome-terminal + gnomeTerminalCommand = su "gnome-terminal"; + + # Hopefully gnome-terminal's wm class + wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class"; + in '' + with subtest("Login to GNOME Xorg with GDM"): + machine.wait_for_x() + # Wait for alice to be logged in" + machine.wait_for_unit("default.target", "${user.name}") + machine.wait_for_file("${xauthority}") + machine.succeed("xauth merge ${xauthority}") + # Check that logging in has given the user ownership of devices + assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") + + with subtest("Wait for GNOME Shell"): + # correct output should be (true, 'false') + machine.wait_until_succeeds( + "${startingUp} | grep -q 'true,..false'" + ) + + with subtest("Open Gnome Terminal"): + machine.succeed( + "${gnomeTerminalCommand}" + ) + # correct output should be (true, '"Gnome-terminal"') + machine.wait_until_succeeds( + "${wmClass} | grep -q 'true,...Gnome-terminal'" + ) + machine.sleep(20) + machine.screenshot("screen") + ''; +}) diff --git a/nixos/tests/gnome.nix b/nixos/tests/gnome.nix new file mode 100644 index 00000000000..e8d18a41bd0 --- /dev/null +++ b/nixos/tests/gnome.nix @@ -0,0 +1,82 @@ +import ./make-test-python.nix ({ pkgs, lib, ...} : { + name = "gnome"; + meta = with lib; { + maintainers = teams.gnome.members; + }; + + machine = + { ... }: + + { imports = [ ./common/user-account.nix ]; + + services.xserver.enable = true; + + services.xserver.displayManager = { + gdm.enable = true; + gdm.debug = true; + autoLogin = { + enable = true; + user = "alice"; + }; + }; + + services.xserver.desktopManager.gnome.enable = true; + services.xserver.desktopManager.gnome.debug = true; + + environment.systemPackages = [ + (pkgs.makeAutostartItem { + name = "org.gnome.Terminal"; + package = pkgs.gnome.gnome-terminal; + }) + ]; + + virtualisation.memorySize = 1024; + }; + + testScript = { nodes, ... }: let + # Keep line widths somewhat managable + user = nodes.machine.config.users.users.alice; + uid = toString user.uid; + bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; + gdbus = "${bus} gdbus"; + su = command: "su - ${user.name} -c '${command}'"; + + # Call javascript in gnome shell, returns a tuple (success, output), where + # `success` is true if the dbus call was successful and output is what the + # javascript evaluates to. + eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval"; + + # False when startup is done + startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp"; + + # Start gnome-terminal + gnomeTerminalCommand = su "${bus} gnome-terminal"; + + # Hopefully gnome-terminal's wm class + wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class"; + in '' + with subtest("Login to GNOME with GDM"): + # wait for gdm to start + machine.wait_for_unit("display-manager.service") + # wait for the wayland server + machine.wait_for_file("/run/user/${uid}/wayland-0") + # wait for alice to be logged in + machine.wait_for_unit("default.target", "${user.name}") + # check that logging in has given the user ownership of devices + assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") + + with subtest("Wait for GNOME Shell"): + # correct output should be (true, 'false') + machine.wait_until_succeeds( + "${startingUp} | grep -q 'true,..false'" + ) + + with subtest("Open Gnome Terminal"): + # correct output should be (true, '"gnome-terminal-server"') + machine.wait_until_succeeds( + "${wmClass} | grep -q 'gnome-terminal-server'" + ) + machine.sleep(20) + machine.screenshot("screen") + ''; +}) diff --git a/nixos/tests/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix deleted file mode 100644 index 0d05c12384f..00000000000 --- a/nixos/tests/gnome3-xorg.nix +++ /dev/null @@ -1,81 +0,0 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "gnome3-xorg"; - meta = with lib; { - maintainers = teams.gnome.members; - }; - - machine = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - in - - { imports = [ ./common/user-account.nix ]; - - services.xserver.enable = true; - - services.xserver.displayManager = { - gdm.enable = true; - gdm.debug = true; - autoLogin = { - enable = true; - user = user.name; - }; - }; - - services.xserver.desktopManager.gnome3.enable = true; - services.xserver.desktopManager.gnome3.debug = true; - services.xserver.displayManager.defaultSession = "gnome-xorg"; - - virtualisation.memorySize = 1024; - }; - - testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; - uid = toString user.uid; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; - xauthority = "/run/user/${uid}/gdm/Xauthority"; - display = "DISPLAY=:0.0"; - env = "${bus} XAUTHORITY=${xauthority} ${display}"; - gdbus = "${env} gdbus"; - su = command: "su - ${user.name} -c '${env} ${command}'"; - - # Call javascript in gnome shell, returns a tuple (success, output), where - # `success` is true if the dbus call was successful and output is what the - # javascript evaluates to. - eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval"; - - # False when startup is done - startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp"; - - # Start gnome-terminal - gnomeTerminalCommand = su "gnome-terminal"; - - # Hopefully gnome-terminal's wm class - wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class"; - in '' - with subtest("Login to GNOME Xorg with GDM"): - machine.wait_for_x() - # Wait for alice to be logged in" - machine.wait_for_unit("default.target", "${user.name}") - machine.wait_for_file("${xauthority}") - machine.succeed("xauth merge ${xauthority}") - # Check that logging in has given the user ownership of devices - assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") - - with subtest("Wait for GNOME Shell"): - # correct output should be (true, 'false') - machine.wait_until_succeeds( - "${startingUp} | grep -q 'true,..false'" - ) - - with subtest("Open Gnome Terminal"): - machine.succeed( - "${gnomeTerminalCommand}" - ) - # correct output should be (true, '"Gnome-terminal"') - machine.wait_until_succeeds( - "${wmClass} | grep -q 'true,...Gnome-terminal'" - ) - machine.sleep(20) - machine.screenshot("screen") - ''; -}) diff --git a/nixos/tests/gnome3.nix b/nixos/tests/gnome3.nix deleted file mode 100644 index 7e301be49d1..00000000000 --- a/nixos/tests/gnome3.nix +++ /dev/null @@ -1,82 +0,0 @@ -import ./make-test-python.nix ({ pkgs, lib, ...} : { - name = "gnome3"; - meta = with lib; { - maintainers = teams.gnome.members; - }; - - machine = - { ... }: - - { imports = [ ./common/user-account.nix ]; - - services.xserver.enable = true; - - services.xserver.displayManager = { - gdm.enable = true; - gdm.debug = true; - autoLogin = { - enable = true; - user = "alice"; - }; - }; - - services.xserver.desktopManager.gnome3.enable = true; - services.xserver.desktopManager.gnome3.debug = true; - - environment.systemPackages = [ - (pkgs.makeAutostartItem { - name = "org.gnome.Terminal"; - package = pkgs.gnome3.gnome-terminal; - }) - ]; - - virtualisation.memorySize = 1024; - }; - - testScript = { nodes, ... }: let - # Keep line widths somewhat managable - user = nodes.machine.config.users.users.alice; - uid = toString user.uid; - bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${uid}/bus"; - gdbus = "${bus} gdbus"; - su = command: "su - ${user.name} -c '${command}'"; - - # Call javascript in gnome shell, returns a tuple (success, output), where - # `success` is true if the dbus call was successful and output is what the - # javascript evaluates to. - eval = "call --session -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval"; - - # False when startup is done - startingUp = su "${gdbus} ${eval} Main.layoutManager._startingUp"; - - # Start gnome-terminal - gnomeTerminalCommand = su "${bus} gnome-terminal"; - - # Hopefully gnome-terminal's wm class - wmClass = su "${gdbus} ${eval} global.display.focus_window.wm_class"; - in '' - with subtest("Login to GNOME with GDM"): - # wait for gdm to start - machine.wait_for_unit("display-manager.service") - # wait for the wayland server - machine.wait_for_file("/run/user/${uid}/wayland-0") - # wait for alice to be logged in - machine.wait_for_unit("default.target", "${user.name}") - # check that logging in has given the user ownership of devices - assert "alice" in machine.succeed("getfacl -p /dev/snd/timer") - - with subtest("Wait for GNOME Shell"): - # correct output should be (true, 'false') - machine.wait_until_succeeds( - "${startingUp} | grep -q 'true,..false'" - ) - - with subtest("Open Gnome Terminal"): - # correct output should be (true, '"gnome-terminal-server"') - machine.wait_until_succeeds( - "${wmClass} | grep -q 'gnome-terminal-server'" - ) - machine.sleep(20) - machine.screenshot("screen") - ''; -}) diff --git a/nixos/tests/installed-tests/gnome-photos.nix b/nixos/tests/installed-tests/gnome-photos.nix index 05e7ccb65ad..bcb6479ee89 100644 --- a/nixos/tests/installed-tests/gnome-photos.nix +++ b/nixos/tests/installed-tests/gnome-photos.nix @@ -7,7 +7,7 @@ makeInstalledTest { testConfig = { programs.dconf.enable = true; - services.gnome3.at-spi2-core.enable = true; # needed for dogtail + services.gnome.at-spi2-core.enable = true; # needed for dogtail environment.systemPackages = with pkgs; [ # gsettings tool with access to gsettings-desktop-schemas (stdenv.mkDerivation { diff --git a/nixos/tests/installed-tests/libgdata.nix b/nixos/tests/installed-tests/libgdata.nix index f11a7bc1bc5..b0d39c042be 100644 --- a/nixos/tests/installed-tests/libgdata.nix +++ b/nixos/tests/installed-tests/libgdata.nix @@ -6,6 +6,6 @@ makeInstalledTest { testConfig = { # # GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation dummy (GDummyTlsBackend) for ‘gio-tls-backend’ # Bail out! libgdata:ERROR:../gdata/tests/common.c:134:gdata_test_init: assertion failed (child_error == NULL): TLS support is not available (g-tls-error-quark, 0) - services.gnome3.glib-networking.enable = true; + services.gnome.glib-networking.enable = true; }; } diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix index 7bf8d4da7b6..1dadf4992ed 100644 --- a/nixos/tests/nixos-generate-config.nix +++ b/nixos/tests/nixos-generate-config.nix @@ -14,7 +14,7 @@ import ./make-test-python.nix ({ lib, ... } : { system.nixos-generate-config.desktopConfiguration = ['' # DESKTOP services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome3.enable = true; + services.xserver.desktopManager.gnome.enable = true; '']; }; testScript = '' @@ -35,7 +35,7 @@ import ./make-test-python.nix ({ lib, ... } : { # Test if the Perl variable $desktopConfiguration is spliced correctly machine.succeed( - "grep 'services\\.xserver\\.desktopManager\\.gnome3\\.enable = true;' /etc/nixos/configuration.nix" + "grep 'services\\.xserver\\.desktopManager\\.gnome\\.enable = true;' /etc/nixos/configuration.nix" ) ''; }) diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix index 39a4234dbf7..ddd6a4c1194 100644 --- a/nixos/tests/plotinus.nix +++ b/nixos/tests/plotinus.nix @@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ... }: { { imports = [ ./common/x11.nix ]; programs.plotinus.enable = true; - environment.systemPackages = [ pkgs.gnome3.gnome-calculator pkgs.xdotool ]; + environment.systemPackages = [ pkgs.gnome.gnome-calculator pkgs.xdotool ]; }; testScript = '' diff --git a/pkgs/applications/accessibility/mousetweaks/default.nix b/pkgs/applications/accessibility/mousetweaks/default.nix index 2ff36bb6833..9e18904ff65 100644 --- a/pkgs/applications/accessibility/mousetweaks/default.nix +++ b/pkgs/applications/accessibility/mousetweaks/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config -, glib, gtk3, gnome3, gsettings-desktop-schemas, wrapGAppsHook +, glib, gtk3, gnome, gsettings-desktop-schemas, wrapGAppsHook , libX11, libXtst, libXfixes, libXcursor }: @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix index 08042a7701b..ec99666b6f4 100644 --- a/pkgs/applications/accessibility/squeekboard/default.nix +++ b/pkgs/applications/accessibility/squeekboard/default.nix @@ -4,7 +4,7 @@ , meson , ninja , pkg-config -, gnome3 +, gnome , glib , gtk3 , wayland @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 - gnome3.gnome-desktop + gnome.gnome-desktop wayland wayland-protocols libxml2 diff --git a/pkgs/applications/audio/cozy-audiobooks/default.nix b/pkgs/applications/audio/cozy-audiobooks/default.nix index bcad36e2da9..5eb71cbe04f 100644 --- a/pkgs/applications/audio/cozy-audiobooks/default.nix +++ b/pkgs/applications/audio/cozy-audiobooks/default.nix @@ -12,7 +12,7 @@ , file , cairo , gettext -, gnome3 +, gnome }: python3Packages.buildPythonApplication rec { @@ -46,7 +46,7 @@ python3Packages.buildPythonApplication rec { gtk3 cairo gettext - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ] ++ (with gst_all_1; [ gstreamer gst-plugins-good diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix index 65c871640ef..d55fd7ff0cb 100644 --- a/pkgs/applications/audio/easytag/default.nix +++ b/pkgs/applications/audio/easytag/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, pkg-config, intltool, gtk3, glib, libid3tag, id3lib, taglib , libvorbis, libogg, opusfile, flac, itstool, libxml2, gsettings-desktop-schemas -, gnome3, wrapGAppsHook +, gnome, wrapGAppsHook }: let @@ -19,13 +19,13 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config intltool itstool libxml2 wrapGAppsHook ]; buildInputs = [ gtk3 glib libid3tag id3lib taglib libvorbis libogg opusfile flac - gsettings-desktop-schemas gnome3.adwaita-icon-theme + gsettings-desktop-schemas gnome.adwaita-icon-theme ]; doCheck = false; # fails 1 out of 9 tests passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix index 229050654cd..681c6ffe281 100644 --- a/pkgs/applications/audio/gpodder/default.nix +++ b/pkgs/applications/audio/gpodder/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, python3, python3Packages, intltool -, glibcLocales, gnome3, gtk3, wrapGAppsHook +, glibcLocales, gnome, gtk3, wrapGAppsHook , gobject-introspection }: @@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ python3 gobject-introspection - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; checkInputs = with python3Packages; [ diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix index f39558c1571..61484bc2fbb 100644 --- a/pkgs/applications/audio/gtkpod/default.nix +++ b/pkgs/applications/audio/gtkpod/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, curl, flac, - gnome3, gtk3, gettext, perlPackages, flex, libid3tag, gdl, + gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl, libvorbis, gdk-pixbuf }: stdenv.mkDerivation rec { @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ curl gettext flex libgpod libid3tag flac libvorbis gtk3 gdk-pixbuf - gdl gnome3.adwaita-icon-theme gnome3.anjuta + gdl gnome.adwaita-icon-theme gnome.anjuta ] ++ (with perlPackages; [ perl XMLParser ]); patchPhase = '' diff --git a/pkgs/applications/audio/guitarix/default.nix b/pkgs/applications/audio/guitarix/default.nix index 7f41fa6c5f9..ec8ba7a1d18 100644 --- a/pkgs/applications/audio/guitarix/default.nix +++ b/pkgs/applications/audio/guitarix/default.nix @@ -10,7 +10,7 @@ , glib , glib-networking , glibmm -, gnome3 +, gnome , gsettings-desktop-schemas , gtk3 , gtkmm3 @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { glib glib-networking.out glibmm - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gsettings-desktop-schemas gtk3 gtkmm3 diff --git a/pkgs/applications/audio/helio-workstation/default.nix b/pkgs/applications/audio/helio-workstation/default.nix index bb92682b141..4bcda6c4d32 100644 --- a/pkgs/applications/audio/helio-workstation/default.nix +++ b/pkgs/applications/audio/helio-workstation/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub -, alsaLib, freetype, xorg, curl, libGL, libjack2, gnome3 +, alsaLib, freetype, xorg, curl, libGL, libjack2, gnome , pkg-config, makeWrapper }: @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { buildInputs = [ alsaLib freetype xorg.libX11 xorg.libXext xorg.libXinerama xorg.libXrandr - xorg.libXcursor xorg.libXcomposite curl libGL libjack2 gnome3.zenity + xorg.libXcursor xorg.libXcomposite curl libGL libjack2 gnome.zenity ]; nativeBuildInputs = [ pkg-config makeWrapper ]; @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/bin install -Dm755 build/Helio $out/bin - wrapProgram $out/bin/Helio --prefix PATH ":" ${gnome3.zenity}/bin + wrapProgram $out/bin/Helio --prefix PATH ":" ${gnome.zenity}/bin mkdir -p $out/share cp -r ../Deployment/Linux/Debian/x64/usr/share/* $out/share diff --git a/pkgs/applications/audio/kapitonov-plugins-pack/default.nix b/pkgs/applications/audio/kapitonov-plugins-pack/default.nix index 4409437ebf2..6e5cc0d5191 100644 --- a/pkgs/applications/audio/kapitonov-plugins-pack/default.nix +++ b/pkgs/applications/audio/kapitonov-plugins-pack/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config -, boost, cairo, fftw, gnome3, ladspa-sdk, libxcb, lv2, xcbutilwm +, boost, cairo, fftw, gnome, ladspa-sdk, libxcb, lv2, xcbutilwm , zita-convolver, zita-resampler }: diff --git a/pkgs/applications/audio/pavucontrol/default.nix b/pkgs/applications/audio/pavucontrol/default.nix index 31d9292675e..c7f12a8df6c 100644 --- a/pkgs/applications/audio/pavucontrol/default.nix +++ b/pkgs/applications/audio/pavucontrol/default.nix @@ -1,5 +1,5 @@ { fetchurl, fetchpatch, lib, stdenv, pkg-config, intltool, libpulseaudio, -gtkmm3 , libcanberra-gtk3, gnome3, wrapGAppsHook }: +gtkmm3 , libcanberra-gtk3, gnome, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "pavucontrol"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { })]; buildInputs = [ libpulseaudio gtkmm3 libcanberra-gtk3 - gnome3.adwaita-icon-theme ]; + gnome.adwaita-icon-theme ]; nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ]; diff --git a/pkgs/applications/audio/pithos/default.nix b/pkgs/applications/audio/pithos/default.nix index 939b53c44fb..01c969c3d8e 100644 --- a/pkgs/applications/audio/pithos/default.nix +++ b/pkgs/applications/audio/pithos/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, meson, ninja, pkg-config, appstream-glib -, wrapGAppsHook, pythonPackages, gtk3, gnome3, gobject-introspection +, wrapGAppsHook, pythonPackages, gtk3, gnome, gobject-introspection , libnotify, libsecret, gst_all_1 }: pythonPackages.buildPythonApplication rec { @@ -23,7 +23,7 @@ pythonPackages.buildPythonApplication rec { nativeBuildInputs = [ meson ninja pkg-config appstream-glib wrapGAppsHook ]; propagatedBuildInputs = - [ gtk3 gobject-introspection libnotify libsecret gnome3.adwaita-icon-theme ] ++ + [ gtk3 gobject-introspection libnotify libsecret gnome.adwaita-icon-theme ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad ]) ++ (with pythonPackages; [ pygobject3 pylast ]); diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index 738bf161cd5..2a170b3ccfd 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome3, gtk3, gdk-pixbuf, librsvg, +{ lib, stdenv, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome, gtk3, gdk-pixbuf, librsvg, tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobject-introspection, hicolor-icon-theme, gst_all_1, withGstPlugins ? true, xineBackend ? false, xine-lib, @@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication rec { checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest_xdist polib xvfb_run dbus.daemon glibcLocales ]); - buildInputs = [ gnome3.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] + buildInputs = [ gnome.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] ++ (if xineBackend then [ xine-lib ] else with gst_all_1; [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]); diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix index 173741484fd..65499f58630 100644 --- a/pkgs/applications/audio/rhythmbox/default.nix +++ b/pkgs/applications/audio/rhythmbox/default.nix @@ -6,7 +6,7 @@ , intltool , libpeas , libsoup -, gnome3 +, gnome , totem-pl-parser , tdb , json-glib @@ -42,7 +42,7 @@ in stdenv.mkDerivation rec { gtk3 libpeas totem-pl-parser - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gst_all_1.gstreamer gst_all_1.gst-plugins-base @@ -51,7 +51,7 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/applications/audio/sfizz/default.nix b/pkgs/applications/audio/sfizz/default.nix index 153e52c82e1..702f5c3982a 100644 --- a/pkgs/applications/audio/sfizz/default.nix +++ b/pkgs/applications/audio/sfizz/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub , libjack2, libsndfile, xorg, freetype, libxkbcommon -, cairo, glib, gnome3, flac, libogg, libvorbis, libopus +, cairo, glib, gnome, flac, libogg, libvorbis, libopus , cmake, pkg-config }: @@ -35,14 +35,14 @@ stdenv.mkDerivation rec { libxkbcommon cairo glib - gnome3.zenity + gnome.zenity freetype ]; nativeBuildInputs = [ cmake pkg-config ]; postPatch = '' substituteInPlace editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \ - --replace '"/usr/bin/zenity' '"${gnome3.zenity}/bin/zenity' + --replace '"/usr/bin/zenity' '"${gnome.zenity}/bin/zenity' ''; cmakeFlags = [ diff --git a/pkgs/applications/audio/sonata/default.nix b/pkgs/applications/audio/sonata/default.nix index 83af7985dbe..9eae394488e 100644 --- a/pkgs/applications/audio/sonata/default.nix +++ b/pkgs/applications/audio/sonata/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, wrapGAppsHook, gettext -, python3Packages, gnome3, gtk3, glib, gdk-pixbuf, gsettings-desktop-schemas, gobject-introspection }: +, python3Packages, gnome, gtk3, glib, gdk-pixbuf, gsettings-desktop-schemas, gobject-introspection }: let inherit (python3Packages) buildPythonApplication isPy3k dbus-python pygobject3 mpd2 setuptools; @@ -24,7 +24,7 @@ in buildPythonApplication rec { buildInputs = [ glib - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gsettings-desktop-schemas gtk3 gdk-pixbuf diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix index ba51fc1af56..c03b48c436b 100644 --- a/pkgs/applications/audio/sound-juicer/default.nix +++ b/pkgs/applications/audio/sound-juicer/default.nix @@ -10,7 +10,7 @@ , libxml2 , brasero , libcanberra-gtk3 -, gnome3 +, gnome , gst_all_1 , libmusicbrainz5 , libdiscid @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { gtk3 brasero libcanberra-gtk3 - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gsettings-desktop-schemas libmusicbrainz5 libdiscid @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix index 4014468eafe..8656deb2f6a 100644 --- a/pkgs/applications/audio/spotify/default.nix +++ b/pkgs/applications/audio/spotify/default.nix @@ -1,6 +1,6 @@ { fetchurl, lib, stdenv, squashfsTools, xorg, alsaLib, makeWrapper, openssl, freetype , glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss, libpng, libnotify -, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curl, zlib, gnome3 +, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg, curl, zlib, gnome , at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon }: @@ -139,7 +139,7 @@ stdenv.mkDerivation { librarypath="${lib.makeLibraryPath deps}:$libdir" wrapProgram $out/share/spotify/spotify \ --prefix LD_LIBRARY_PATH : "$librarypath" \ - --prefix PATH : "${gnome3.zenity}/bin" + --prefix PATH : "${gnome.zenity}/bin" # fix Icon line in the desktop file (#48062) sed -i "s:^Icon=.*:Icon=spotify-client:" "$out/share/spotify/spotify.desktop" diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix index be9ba0f7561..5506fc79e9e 100644 --- a/pkgs/applications/display-managers/lightdm/default.nix +++ b/pkgs/applications/display-managers/lightdm/default.nix @@ -20,7 +20,7 @@ , polkit , accountsservice , gtk-doc -, gnome3 +, gnome , gobject-introspection , vala , fetchpatch @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { autoconf automake yelp-tools - gnome3.yelp-xsl + gnome.yelp-xsl gobject-introspection gtk-doc intltool diff --git a/pkgs/applications/editors/apostrophe/default.nix b/pkgs/applications/editors/apostrophe/default.nix index 9dafc055bcb..851c3ea1c2f 100644 --- a/pkgs/applications/editors/apostrophe/default.nix +++ b/pkgs/applications/editors/apostrophe/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitLab, meson, ninja, cmake , wrapGAppsHook, pkg-config, desktop-file-utils , appstream-glib, pythonPackages, glib, gobject-introspection -, gtk3, webkitgtk, glib-networking, gnome3, gspell, texlive +, gtk3, webkitgtk, glib-networking, gnome, gspell, texlive , shared-mime-info, libhandy }: @@ -27,7 +27,7 @@ in stdenv.mkDerivation rec { appstream-glib wrapGAppsHook ]; buildInputs = [ glib pythonEnv gobject-introspection gtk3 - gnome3.adwaita-icon-theme webkitgtk gspell texlive + gnome.adwaita-icon-theme webkitgtk gspell texlive glib-networking libhandy ]; postPatch = '' diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix index 59d1f11312d..3a5436d4f32 100644 --- a/pkgs/applications/editors/bluefish/default.nix +++ b/pkgs/applications/editors/bluefish/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, intltool, wrapGAppsHook, pkg-config , gtk, libxml2 -, enchant, gucharmap, python3, gnome3 +, enchant, gucharmap, python3, gnome }: stdenv.mkDerivation rec { @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ intltool pkg-config wrapGAppsHook ]; - buildInputs = [ gnome3.adwaita-icon-theme gtk libxml2 + buildInputs = [ gnome.adwaita-icon-theme gtk libxml2 enchant gucharmap python3 ]; meta = with lib; { diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix index 50f29901042..0279dfc5b37 100644 --- a/pkgs/applications/editors/gnome-builder/default.nix +++ b/pkgs/applications/editors/gnome-builder/default.nix @@ -6,7 +6,7 @@ , docbook_xml_dtd_43 , fetchurl , flatpak -, gnome3 +, gnome , libgit2-glib , gobject-introspection , glade @@ -64,7 +64,7 @@ stdenv.mkDerivation rec { buildInputs = [ ctags flatpak - gnome3.devhelp + gnome.devhelp glade libgit2-glib libpeas @@ -134,7 +134,7 @@ stdenv.mkDerivation rec { done ''; - passthru.updateScript = gnome3.updateScript { + passthru.updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix index 277863244a5..8fc6feecd57 100644 --- a/pkgs/applications/editors/gnome-latex/default.nix +++ b/pkgs/applications/editors/gnome-latex/default.nix @@ -13,7 +13,7 @@ , libgee , tepl , amtk -, gnome3 +, gnome , glib , pkg-config , intltool @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { buildInputs = [ amtk - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme glib gsettings-desktop-schemas gspell @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; - passthru.updateScript = gnome3.updateScript { + passthru.updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix index 27047f8e95a..35e96c89dad 100644 --- a/pkgs/applications/editors/gobby/default.nix +++ b/pkgs/applications/editors/gobby/default.nix @@ -1,6 +1,6 @@ { avahiSupport ? false # build support for Avahi in libinfinity , lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, wrapGAppsHook, yelp-tools -, gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome3 }: +, gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome }: let libinf = libinfinity.override { gtkWidgets = true; inherit avahiSupport; }; diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix index 0e4f182ea50..02e5c7c0345 100644 --- a/pkgs/applications/graphics/avocode/default.nix +++ b/pkgs/applications/graphics/avocode/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, makeDesktopItem, fetchurl, unzip -, gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome3 +, gdk-pixbuf, glib, gtk3, atk, at-spi2-atk, pango, cairo, freetype, fontconfig, dbus, nss, nspr, alsaLib, cups, expat, udev, gnome , xorg, mozjpeg, makeWrapper, wrapGAppsHook, libuuid, at-spi2-core, libdrm, mesa }: @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [makeWrapper wrapGAppsHook unzip]; - buildInputs = [ gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme ]; # src is producing multiple folder on unzip so we must # override unpackCmd to extract it into newly created folder diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 2ff712851b9..469437c6c95 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -2,7 +2,7 @@ , cairo, cmake, ninja, curl, perl, llvm, desktop-file-utils, exiv2, glib , ilmbase, gtk3, intltool, lcms2, lensfun, libX11, libexif, libgphoto2, libjpeg , libpng, librsvg, libtiff, openexr, osm-gps-map, pkg-config, sqlite, libxslt -, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome3 +, openjpeg, lua, pugixml, colord, colord-gtk, libwebp, libsecret, gnome , ocl-icd, pcre, gtk-mac-integration, isocodes, llvmPackages }: @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { cairo curl exiv2 glib gtk3 ilmbase lcms2 lensfun libexif libgphoto2 libjpeg libpng librsvg libtiff openexr sqlite libxslt libsoup graphicsmagick json-glib openjpeg lua pugixml - libwebp libsecret gnome3.adwaita-icon-theme osm-gps-map pcre isocodes + libwebp libsecret gnome.adwaita-icon-theme osm-gps-map pcre isocodes ] ++ lib.optionals stdenv.isLinux [ colord colord-gtk libX11 ocl-icd ] ++ lib.optional stdenv.isDarwin gtk-mac-integration diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix index bb81a374fea..679e9136c44 100644 --- a/pkgs/applications/graphics/gimp/wrapper.nix +++ b/pkgs/applications/graphics/gimp/wrapper.nix @@ -1,4 +1,4 @@ -{ lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome3, plugins ? null}: +{ lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome, plugins ? null}: let allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues gimpPlugins); @@ -18,7 +18,7 @@ in symlinkJoin { wrapProgram $out/bin/$each \ --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \ --set GIMP2_DATADIR "$out/share/gimp/2.0" \ - --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ + --prefix GTK_PATH : "${gnome.gnome-themes-extra}/lib/gtk-2.0" \ ${toString extraArgs} done set +x diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix index 33337739364..c2ce2840379 100644 --- a/pkgs/applications/graphics/glabels/default.nix +++ b/pkgs/applications/graphics/glabels/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, barcode, gnome3, autoreconfHook +{ lib, stdenv, fetchurl, barcode, gnome, autoreconfHook , gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas , intltool, itstool, makeWrapper, pkg-config, yelp-tools }: @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper intltool ]; buildInputs = [ barcode gtk3 gtk-doc yelp-tools - gnome3.gnome-common gsettings-desktop-schemas + gnome.gnome-common gsettings-desktop-schemas itstool libxml2 librsvg libe-book libtool ]; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/applications/graphics/glimpse/wrapper.nix b/pkgs/applications/graphics/glimpse/wrapper.nix index daa540d31e5..361b2ba38b6 100644 --- a/pkgs/applications/graphics/glimpse/wrapper.nix +++ b/pkgs/applications/graphics/glimpse/wrapper.nix @@ -1,4 +1,4 @@ -{ lib, symlinkJoin, glimpse, makeWrapper, glimpsePlugins, gnome3, plugins ? null }: +{ lib, symlinkJoin, glimpse, makeWrapper, glimpsePlugins, gnome, plugins ? null }: let allPlugins = lib.filter (pkg: lib.isDerivation pkg && !pkg.meta.broken or false) (lib.attrValues glimpsePlugins); @@ -19,7 +19,7 @@ symlinkJoin { wrapProgram $out/bin/$each \ --set GIMP2_PLUGINDIR "$out/lib/glimpse/2.0" \ --set GIMP2_DATADIR "$out/share/glimpse/2.0" \ - --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \ + --prefix GTK_PATH : "${gnome.gnome-themes-extra}/lib/gtk-2.0" \ ${toString extraArgs} done diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix index 358847086a1..f0911395404 100644 --- a/pkgs/applications/graphics/gnome-photos/default.nix +++ b/pkgs/applications/graphics/gnome-photos/default.nix @@ -13,7 +13,7 @@ , gfbgraph , glib , gnome-online-accounts -, gnome3 +, gnome , gobject-introspection , grilo , grilo-plugins @@ -78,7 +78,7 @@ stdenv.mkDerivation rec { gfbgraph glib gnome-online-accounts - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme grilo grilo-plugins gsettings-desktop-schemas @@ -108,7 +108,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix index 14993f6f533..cd3a6f368e9 100644 --- a/pkgs/applications/graphics/gthumb/default.nix +++ b/pkgs/applications/graphics/gthumb/default.nix @@ -1,6 +1,6 @@ { lib, stdenv , fetchurl -, gnome3 +, gnome , pkg-config , meson , ninja @@ -55,7 +55,7 @@ stdenv.mkDerivation rec { clutter-gtk exiv2 glib - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gsettings-desktop-schemas gst_all_1.gst-plugins-base (gst_all_1.gst-plugins-good.override { gtkSupport = true; }) @@ -95,7 +95,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix index 3d8a4c2bceb..9439a17f6de 100644 --- a/pkgs/applications/graphics/megapixels/default.nix +++ b/pkgs/applications/graphics/megapixels/default.nix @@ -6,7 +6,7 @@ , pkg-config , wrapGAppsHook , gtk3 -, gnome3 +, gnome , zbar , tiffSupport ? true , libraw @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ]; - buildInputs = [ gtk3 gnome3.adwaita-icon-theme zbar ] + buildInputs = [ gtk3 gnome.adwaita-icon-theme zbar ] ++ optional tiffSupport libraw ++ optional jpgSupport graphicsmagick; diff --git a/pkgs/applications/graphics/ocrfeeder/default.nix b/pkgs/applications/graphics/ocrfeeder/default.nix index ff5d4bdf41d..da5f1c5dcc4 100644 --- a/pkgs/applications/graphics/ocrfeeder/default.nix +++ b/pkgs/applications/graphics/ocrfeeder/default.nix @@ -8,7 +8,7 @@ , intltool , itstool , libxml2 -, gnome3 +, gnome , python3 , gobject-introspection , wrapGAppsHook diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 204d87a59c4..78b30ad44e0 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -12,7 +12,7 @@ , sqlite , webkitgtk , pkg-config -, gnome3 +, gnome , gst_all_1 , libgudev , libraw @@ -84,7 +84,7 @@ stdenv.mkDerivation rec { librsvg librest gcr - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme libgdata libchamplain libsecret @@ -96,7 +96,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix index 3f29d25fbe0..2b9fee974b3 100644 --- a/pkgs/applications/graphics/synfigstudio/default.nix +++ b/pkgs/applications/graphics/synfigstudio/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, boost, cairo, gettext, glibmm, gtk3, gtkmm3 , libjack2, libsigcxx, libxmlxx, makeWrapper, mlt-qt5, pango, pkg-config -, imagemagick, intltool, autoreconfHook, which, gnome3 +, imagemagick, intltool, autoreconfHook, which, gnome }: let @@ -107,7 +107,7 @@ stdenv.mkDerivation { buildInputs = [ ETL boost cairo glibmm gtk3 gtkmm3 imagemagick intltool libjack2 libsigcxx libxmlxx makeWrapper mlt-qt5 - synfig which gnome3.adwaita-icon-theme + synfig which gnome.adwaita-icon-theme ]; postInstall = '' diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix index 3c48bbab0b8..6c9cee85148 100644 --- a/pkgs/applications/graphics/tev/default.nix +++ b/pkgs/applications/graphics/tev/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub , cmake, wrapGAppsHook -, libX11, libzip, glfw, libpng, xorg, gnome3 +, libX11, libzip, glfw, libpng, xorg, gnome }: stdenv.mkDerivation rec { @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { postInstall = '' wrapProgram $out/bin/tev \ "''${gappsWrapperArgs[@]}" \ - --prefix PATH ":" "${gnome3.zenity}/bin" + --prefix PATH ":" "${gnome.zenity}/bin" ''; meta = with lib; { diff --git a/pkgs/applications/graphics/vimiv/default.nix b/pkgs/applications/graphics/vimiv/default.nix index b5e9d0b8cf2..6f6245a1c80 100644 --- a/pkgs/applications/graphics/vimiv/default.nix +++ b/pkgs/applications/graphics/vimiv/default.nix @@ -1,5 +1,5 @@ { lib, python3Packages, fetchFromGitHub, imagemagick, librsvg, gtk3, jhead -, gnome3 +, gnome # Test requirements , dbus, xvfb_run, xdotool @@ -38,7 +38,7 @@ python3Packages.buildPythonApplication rec { ''; checkInputs = [ python3Packages.nose dbus.daemon xvfb_run xdotool ]; - buildInputs = [ gnome3.adwaita-icon-theme librsvg ]; + buildInputs = [ gnome.adwaita-icon-theme librsvg ]; propagatedBuildInputs = with python3Packages; [ pillow pygobject3 gtk3 ]; makeWrapperArgs = [ diff --git a/pkgs/applications/misc/almanah/default.nix b/pkgs/applications/misc/almanah/default.nix index eb5dc8950f9..a4ef9b34318 100644 --- a/pkgs/applications/misc/almanah/default.nix +++ b/pkgs/applications/misc/almanah/default.nix @@ -8,7 +8,7 @@ , gcr , gettext , glib -, gnome3 +, gnome , gpgme , gtk3 , gtksourceview3 @@ -59,7 +59,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; # it is quite odd }; diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix index 0c5afe6cb4e..29399ab2f5b 100644 --- a/pkgs/applications/misc/font-manager/default.nix +++ b/pkgs/applications/misc/font-manager/default.nix @@ -15,7 +15,7 @@ , vala , gsettings-desktop-schemas , gtk3 -, gnome3 +, gnome , desktop-file-utils , wrapGAppsHook , gobject-introspection @@ -77,7 +77,7 @@ stdenv.mkDerivation rec { sqlite gsettings-desktop-schemas # for font settings gtk3 - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme libsoup glib-networking # for SSL so that Google Fonts can load webkitgtk diff --git a/pkgs/applications/misc/gksu/default.nix b/pkgs/applications/misc/gksu/default.nix index 9d8ce3cc480..c1a4ea2b678 100644 --- a/pkgs/applications/misc/gksu/default.nix +++ b/pkgs/applications/misc/gksu/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk2, gnome2, gnome3, libgksu, +{ lib, stdenv, fetchurl, pkg-config, gtk2, gnome2, gnome, libgksu, intltool, libstartup_notification, gtk-doc, wrapGAppsHook }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gtk2 gnome2.GConf libstartup_notification gnome3.libgnome-keyring + gtk2 gnome2.GConf libstartup_notification gnome.libgnome-keyring ]; propagatedBuildInputs = [ diff --git a/pkgs/applications/misc/gnome-multi-writer/default.nix b/pkgs/applications/misc/gnome-multi-writer/default.nix index c97a492e1bd..31d81a33279 100644 --- a/pkgs/applications/misc/gnome-multi-writer/default.nix +++ b/pkgs/applications/misc/gnome-multi-writer/default.nix @@ -4,7 +4,7 @@ , desktop-file-utils , gettext , glib -, gnome3 +, gnome , gtk3 , gusb , libcanberra-gtk3 @@ -47,7 +47,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/applications/misc/gnome-recipes/default.nix b/pkgs/applications/misc/gnome-recipes/default.nix index 168d5b9fb5c..b35319c3863 100644 --- a/pkgs/applications/misc/gnome-recipes/default.nix +++ b/pkgs/applications/misc/gnome-recipes/default.nix @@ -3,7 +3,7 @@ , meson , ninja , pkg-config -, gnome3 +, gnome , desktop-file-utils , gettext , itstool @@ -64,7 +64,7 @@ in stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/applications/misc/gnome-usage/default.nix b/pkgs/applications/misc/gnome-usage/default.nix index bbd272754cd..a1b92572679 100644 --- a/pkgs/applications/misc/gnome-usage/default.nix +++ b/pkgs/applications/misc/gnome-usage/default.nix @@ -12,7 +12,7 @@ , gtk3 , libgtop , libdazzle -, gnome3 +, gnome , tracker , libhandy }: @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gtk3 libdazzle libgtop @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/applications/misc/gpx-viewer/default.nix b/pkgs/applications/misc/gpx-viewer/default.nix index 89a4198a749..1619f7f4334 100644 --- a/pkgs/applications/misc/gpx-viewer/default.nix +++ b/pkgs/applications/misc/gpx-viewer/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, intltool, libxml2, pkg-config, gnome3, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }: +{ lib, stdenv, fetchurl, intltool, libxml2, pkg-config, gnome, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }: stdenv.mkDerivation rec { pname = "gpx-viewer"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { intltool pkg-config wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system ]; - buildInputs = [ gdl libchamplain gnome3.adwaita-icon-theme libxml2 ]; + buildInputs = [ gdl libchamplain gnome.adwaita-icon-theme libxml2 ]; meta = with lib; { homepage = "https://blog.sarine.nl/tag/gpxviewer/"; diff --git a/pkgs/applications/misc/gummi/default.nix b/pkgs/applications/misc/gummi/default.nix index f0416e232dc..c36f50b1cbd 100644 --- a/pkgs/applications/misc/gummi/default.nix +++ b/pkgs/applications/misc/gummi/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, pkgs -, glib, gnome3, gtk3, gtksourceview3, gtkspell3, poppler, texlive +, glib, gnome, gtk3, gtksourceview3, gtkspell3, poppler, texlive , pkg-config, intltool, autoreconfHook, wrapGAppsHook }: diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix index b580fabf58e..c7238fb0155 100644 --- a/pkgs/applications/misc/lutris/fhsenv.nix +++ b/pkgs/applications/misc/lutris/fhsenv.nix @@ -5,7 +5,7 @@ let qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ]; - gnome3Deps = pkgs: with pkgs; [ gnome3.zenity gtksourceview gnome3.gnome-desktop gnome3.libgnome-keyring webkitgtk ]; + gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome.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 @@ -86,7 +86,7 @@ in buildFHSUserEnv { # ZDOOM soundfont-fluid bzip2 game-music-emu ] ++ qt5Deps pkgs - ++ gnome3Deps pkgs + ++ gnomeDeps pkgs ++ lib.optional steamSupport pkgs.steam; multiPkgs = pkgs: with pkgs; [ diff --git a/pkgs/applications/misc/notify-osd-customizable/default.nix b/pkgs/applications/misc/notify-osd-customizable/default.nix index e62b3a33487..b00ee18d5f3 100644 --- a/pkgs/applications/misc/notify-osd-customizable/default.nix +++ b/pkgs/applications/misc/notify-osd-customizable/default.nix @@ -2,7 +2,7 @@ , dbus-glib , fetchurl , glib -, gnome3 +, gnome , libnotify , libtool , libwnck3 @@ -27,7 +27,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ glib libwnck3 libnotify dbus-glib makeWrapper - gsettings-desktop-schemas gnome3.gnome-common + gsettings-desktop-schemas gnome.gnome-common libtool ]; diff --git a/pkgs/applications/misc/olifant/default.nix b/pkgs/applications/misc/olifant/default.nix index fbaf140a9f7..f49f1456d60 100644 --- a/pkgs/applications/misc/olifant/default.nix +++ b/pkgs/applications/misc/olifant/default.nix @@ -9,7 +9,7 @@ , python3 , libgee , gsettings-desktop-schemas -, gnome3 +, gnome , pantheon , wrapGAppsHook , gtk3 @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib glib-networking - gnome3.libsoup + gnome.libsoup gsettings-desktop-schemas gtk3 json-glib diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix index 71bc4daad77..f8facbe01fa 100644 --- a/pkgs/applications/misc/orca/default.nix +++ b/pkgs/applications/misc/orca/default.nix @@ -12,7 +12,7 @@ , python , pygobject3 , gtk3 -, gnome3 +, gnome , substituteAll , at-spi2-atk , at-spi2-core @@ -92,7 +92,7 @@ buildPythonApplication rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; @@ -108,7 +108,7 @@ buildPythonApplication rec { GTK toolkit, the Java platform's Swing toolkit, LibreOffice, Gecko, and WebKitGtk. AT-SPI support for the KDE Qt toolkit is being pursued. - Needs `services.gnome3.at-spi2-core.enable = true;` in `configuration.nix`. + Needs `services.gnome.at-spi2-core.enable = true;` in `configuration.nix`. ''; maintainers = with maintainers; [ berce ] ++ teams.gnome.members; license = licenses.lgpl21; diff --git a/pkgs/applications/misc/pcmanfm/default.nix b/pkgs/applications/misc/pcmanfm/default.nix index 474fddb2520..a8b407dd7b5 100644 --- a/pkgs/applications/misc/pcmanfm/default.nix +++ b/pkgs/applications/misc/pcmanfm/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, glib, intltool, libfm, libX11, pango, pkg-config -, wrapGAppsHook, gnome3, withGtk3 ? true, gtk2, gtk3 }: +, wrapGAppsHook, gnome, withGtk3 ? true, gtk2, gtk3 }: let libfm' = libfm.override { inherit withGtk3; }; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-FMt7JHSTxMzmX7tZAmEeOtAKeocPvB5QrcUEKMUUDPc="; }; - buildInputs = [ glib gtk libfm' libX11 pango gnome3.adwaita-icon-theme ]; + buildInputs = [ glib gtk libfm' libX11 pango gnome.adwaita-icon-theme ]; nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ]; configureFlags = optional withGtk3 "--with-gtk=3"; diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix index 6ef88fb07c6..2e3f3230512 100644 --- a/pkgs/applications/misc/phoc/default.nix +++ b/pkgs/applications/misc/phoc/default.nix @@ -8,7 +8,7 @@ , python3 , wrapGAppsHook , libinput -, gnome3 +, gnome , glib , gtk3 , wayland @@ -60,9 +60,9 @@ in stdenv.mkDerivation rec { libinput glib gtk3 - gnome3.gnome-desktop + gnome.gnome-desktop # For keybindings settings schemas - gnome3.mutter + gnome.mutter wayland phocWlroots ]; diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix index b462e5f134b..30d9533d453 100644 --- a/pkgs/applications/misc/plank/default.nix +++ b/pkgs/applications/misc/plank/default.nix @@ -5,7 +5,7 @@ , cairo , dconf , glib -, gnome3 +, gnome , gtk3 , libwnck3 , libX11 @@ -38,7 +38,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoreconfHook gettext - gnome3.gnome-common + gnome.gnome-common libxml2 # xmllint pkg-config vala diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix index 44b2cd700ec..00be8103683 100644 --- a/pkgs/applications/misc/pytrainer/default.nix +++ b/pkgs/applications/misc/pytrainer/default.nix @@ -2,7 +2,7 @@ , python3 , fetchFromGitHub , gdk-pixbuf -, gnome3 +, gnome , gpsbabel , glib-networking , glibcLocales @@ -55,7 +55,7 @@ in python.pkgs.buildPythonApplication rec { gtk3 webkitgtk glib-networking - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gdk-pixbuf ]; diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix index d866b643ef2..179ebd33d85 100644 --- a/pkgs/applications/misc/safeeyes/default.nix +++ b/pkgs/applications/misc/safeeyes/default.nix @@ -1,4 +1,4 @@ -{ lib, python3Packages, gobject-introspection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk-pixbuf, shared-mime-info, librsvg +{ lib, python3Packages, gobject-introspection, libappindicator-gtk3, libnotify, gtk3, gnome, xprintidle-ng, wrapGAppsHook, gdk-pixbuf, shared-mime-info, librsvg }: let inherit (python3Packages) python buildPythonApplication fetchPypi croniter; @@ -16,8 +16,8 @@ in buildPythonApplication rec { buildInputs = [ gtk3 gobject-introspection - gnome3.adwaita-icon-theme - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme + gnome.adwaita-icon-theme ]; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/snapper-gui/default.nix b/pkgs/applications/misc/snapper-gui/default.nix index 5beacfad2f9..2c634315933 100644 --- a/pkgs/applications/misc/snapper-gui/default.nix +++ b/pkgs/applications/misc/snapper-gui/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, python3, python3Packages -, gnome3, gtk3, wrapGAppsHook, gtksourceview3, snapper +, gnome, gtk3, wrapGAppsHook, gtksourceview3, snapper , gobject-introspection }: @@ -19,7 +19,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ python3 gobject-introspection - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; doCheck = false; # it doesn't have any tests diff --git a/pkgs/applications/misc/tootle/default.nix b/pkgs/applications/misc/tootle/default.nix index 0f6747d69f8..63ac88ecac9 100644 --- a/pkgs/applications/misc/tootle/default.nix +++ b/pkgs/applications/misc/tootle/default.nix @@ -9,7 +9,7 @@ , python3 , libgee , gsettings-desktop-schemas -, gnome3 +, gnome , pantheon , wrapGAppsHook , gtk3 @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib glib-networking - gnome3.libsoup + gnome.libsoup gsettings-desktop-schemas gtk3 json-glib diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix index 989649ec414..893fe022501 100644 --- a/pkgs/applications/misc/ulauncher/default.nix +++ b/pkgs/applications/misc/ulauncher/default.nix @@ -4,7 +4,7 @@ , python3Packages , gdk-pixbuf , glib -, gnome3 +, gnome , gobject-introspection , gtk3 , wrapGAppsHook @@ -38,7 +38,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ gdk-pixbuf glib - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gobject-introspection gtk3 keybinder3 diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index f72e90a09fb..cb65c753bcc 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -13,7 +13,7 @@ , gdk-pixbuf , glib , gnome2 -, gnome3 +, gnome , gsettings-desktop-schemas , gtk3 , libpulseaudio @@ -104,7 +104,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ dpkg wrapGAppsHook ]; - buildInputs = [ glib gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; + buildInputs = [ glib gsettings-desktop-schemas gnome.adwaita-icon-theme ]; unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner"; diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index db0ddc47cc5..a2bc293eaaf 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -26,7 +26,7 @@ , libgcrypt ? null # gnomeSupport || cupsSupport # package customization -, gnomeSupport ? false, gnome ? null +, gnomeSupport ? false, gnome2 ? null , gnomeKeyringSupport ? false, libgnome-keyring3 ? null , proprietaryCodecs ? true , cupsSupport ? true @@ -158,7 +158,7 @@ let libdrm wayland mesa.drivers libxkbcommon curl ] ++ optional gnomeKeyringSupport libgnome-keyring3 - ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] + ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ] ++ optionals cupsSupport [ libgcrypt cups ] ++ optional pulseSupport libpulseaudio; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index e921169cf06..14ee3290c71 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,6 +1,6 @@ { newScope, config, stdenv, fetchurl, makeWrapper , llvmPackages_11, llvmPackages_12, ed, gnugrep, coreutils, xdg-utils -, glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit +, glib, gtk3, gnome, gsettings-desktop-schemas, gn, fetchgit , libva ? null , pipewire , gcc, nspr, nss, runCommand @@ -9,7 +9,7 @@ # package customization # Note: enable* flags should not require full rebuilds (i.e. only affect the wrapper) , channel ? "stable" -, gnomeSupport ? false, gnome ? null +, gnomeSupport ? false, gnome2 ? null , gnomeKeyringSupport ? false , proprietaryCodecs ? true , enableWideVine ? false @@ -31,7 +31,7 @@ let upstream-info = (lib.importJSON ./upstream-info.json).${channel}; mkChromiumDerivation = callPackage ./common.nix ({ - inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs + inherit channel gnome2 gnomeSupport gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport ungoogled; gnChromium = gn.overrideAttrs (oldAttrs: { inherit (upstream-info.deps.gn) version; @@ -156,7 +156,7 @@ in stdenv.mkDerivation { gsettings-desktop-schemas glib gtk3 # needed for XDG_ICON_DIRS - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; outputs = ["out" "sandbox"]; diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix index 874a73dae8e..00f1e11960e 100644 --- a/pkgs/applications/networking/browsers/eolie/default.nix +++ b/pkgs/applications/networking/browsers/eolie/default.nix @@ -1,7 +1,7 @@ { lib, fetchgit, meson, ninja, pkg-config, nix-update-script , python3, gtk3, libsecret, gst_all_1, webkitgtk, glib , glib-networking, gtkspell3, hunspell, desktop-file-utils -, gobject-introspection, wrapGAppsHook, gnome3 }: +, gobject-introspection, wrapGAppsHook, gnome }: python3.pkgs.buildPythonApplication rec { pname = "eolie"; @@ -33,7 +33,7 @@ python3.pkgs.buildPythonApplication rec { gst-plugins-base gst-plugins-ugly gstreamer - gnome3.gnome-settings-daemon + gnome.gnome-settings-daemon gtk3 gtkspell3 hunspell diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index ffba1096d1d..fc702993338 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -28,7 +28,7 @@ , libXt , libcanberra , libnotify -, gnome3 +, gnome , libGLU, libGL , nspr , nss @@ -139,7 +139,7 @@ stdenv.mkDerivation { inherit gtk3; - buildInputs = [ wrapGAppsHook gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ wrapGAppsHook gtk3 gnome.adwaita-icon-theme ]; # "strip" after "patchelf" may break binaries. # See: https://github.com/NixOS/patchelf/issues/10 diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 62bb722652a..793e8688a5f 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -3,7 +3,7 @@ ## various stuff that can be plugged in , ffmpeg, xorg, alsaLib, libpulseaudio, libcanberra-gtk2, libglvnd, libnotify -, gnome3/*.gnome-shell*/ +, gnome/*.gnome-shell*/ , browserpass, chrome-gnome-shell, uget-integrator, plasma5Packages, bukubrow, pipewire , tridactyl-native , fx_cast_bridge @@ -269,7 +269,7 @@ let --set MOZ_ENABLE_WAYLAND "1" \ ''}${lib.optionalString (browser ? gtk3) ''--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \ - --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' + --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' '' } ############################# diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 36d97b5a87c..a7b9ddd07d0 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -38,7 +38,7 @@ , chromium , gsettings-desktop-schemas -, gnome3 +, gnome # For video acceleration via VA-API (--enable-features=VaapiVideoDecoder) , libvaSupport ? true, libva @@ -88,7 +88,7 @@ in stdenv.mkDerivation { gsettings-desktop-schemas glib gtk3 # needed for XDG_ICON_DIRS - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; unpackPhase = '' diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index acd10e0ea38..72b17400df3 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -36,7 +36,7 @@ # Wrapper runtime , coreutils , glibcLocales -, gnome3 +, gnome , runtimeShell , shared-mime-info , gsettings-desktop-schemas @@ -246,7 +246,7 @@ stdenv.mkDerivation rec { "${graphene-hardened-malloc}/lib/libhardened_malloc.so"} WRAPPER_XDG_DATA_DIRS=${concatMapStringsSep ":" (x: "${x}/share") [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme shared-mime-info ]} WRAPPER_XDG_DATA_DIRS+=":"${concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [ diff --git a/pkgs/applications/networking/dropbox/cli.nix b/pkgs/applications/networking/dropbox/cli.nix index 57b39383e97..f602bab27e8 100644 --- a/pkgs/applications/networking/dropbox/cli.nix +++ b/pkgs/applications/networking/dropbox/cli.nix @@ -5,7 +5,7 @@ , python3 , dropbox , gtk3 -, gnome3 +, gnome , gdk-pixbuf , gobject-introspection }: @@ -49,7 +49,7 @@ stdenv.mkDerivation { buildInputs = [ python3 gtk3 - gnome3.nautilus + gnome.nautilus ]; configureFlags = [ diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix index c9339601a4b..4623e5fa4df 100644 --- a/pkgs/applications/networking/feedreaders/feedreader/default.nix +++ b/pkgs/applications/networking/feedreaders/feedreader/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, gettext, python3 , appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts , gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas -, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2 +, curl, glib, gnome, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2 }: stdenv.mkDerivation rec { @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { buildInputs = [ curl glib json-glib libnotify libsecret sqlite gumbo gtk3 - libgee libpeas gnome3.libsoup librest webkitgtk gsettings-desktop-schemas + libgee libpeas gnome.libsoup librest webkitgtk gsettings-desktop-schemas gnome-online-accounts ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good diff --git a/pkgs/applications/networking/instant-messengers/coyim/default.nix b/pkgs/applications/networking/instant-messengers/coyim/default.nix index 31896f20184..abcdf617352 100644 --- a/pkgs/applications/networking/instant-messengers/coyim/default.nix +++ b/pkgs/applications/networking/instant-messengers/coyim/default.nix @@ -1,5 +1,5 @@ { lib, buildGoPackage, fetchFromGitHub, pkg-config, - cairo, gdk-pixbuf, glib, gnome3, wrapGAppsHook, gtk3 }: + cairo, gdk-pixbuf, glib, gnome, wrapGAppsHook, gtk3 }: buildGoPackage rec { pname = "coyim"; @@ -16,7 +16,7 @@ buildGoPackage rec { nativeBuildInputs = [ pkg-config wrapGAppsHook ]; - buildInputs = [ glib cairo gdk-pixbuf gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ glib cairo gdk-pixbuf gtk3 gnome.adwaita-icon-theme ]; meta = with lib; { description = "a safe and secure chat client"; diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix index 29a69b40192..d07b7d2912a 100644 --- a/pkgs/applications/networking/instant-messengers/dino/default.nix +++ b/pkgs/applications/networking/instant-messengers/dino/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub , vala, cmake, ninja, wrapGAppsHook, pkg-config, gettext -, gobject-introspection, gnome3, glib, gdk-pixbuf, gtk3, glib-networking +, gobject-introspection, gnome, glib, gdk-pixbuf, gtk3, glib-networking , xorg, libXdmcp, libxkbcommon , libnotify, libsoup, libgee , librsvg, libsignal-protocol-c @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { glib-networking glib libgee - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme sqlite gdk-pixbuf gtk3 diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index c78141f6eb2..ee9c902543c 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -1,7 +1,7 @@ { lib, fetchurl, gettext, wrapGAppsHook # Native dependencies -, python3, gtk3, gobject-introspection, gnome3 +, python3, gtk3, gobject-introspection, gnome , glib-networking # Test dependencies @@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec { }; buildInputs = [ - gobject-introspection gtk3 gnome3.adwaita-icon-theme + gobject-introspection gtk3 gnome.adwaita-icon-theme glib-networking ] ++ lib.optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-good libnice ] ++ lib.optional enableSecrets libsecret diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix index 764a5ac3db5..8caafdd5762 100644 --- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix +++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, dpkg -, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3 +, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome , gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg , at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon }: @@ -31,7 +31,7 @@ let gtk3 libappindicator-gtk3 - gnome3.gnome-keyring + gnome.gnome-keyring libnotify libpulseaudio diff --git a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix index 7c0f80d2238..46215db3eb5 100644 --- a/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix +++ b/pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix @@ -1,4 +1,4 @@ -{ fetchFromGitHub, lib, stdenv, gnome3, cmake, pkg-config, +{ fetchFromGitHub, lib, stdenv, gnome, cmake, pkg-config, libappindicator-gtk3, gst_all_1, pcre }: stdenv.mkDerivation rec { @@ -18,8 +18,8 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gnome3.gtkmm - gnome3.webkitgtk + gnome.gtkmm + gnome.webkitgtk libappindicator-gtk3 gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good diff --git a/pkgs/applications/networking/mailreaders/astroid/default.nix b/pkgs/applications/networking/mailreaders/astroid/default.nix index 570b2d13be1..4401a0a7df8 100644 --- a/pkgs/applications/networking/mailreaders/astroid/default.nix +++ b/pkgs/applications/networking/mailreaders/astroid/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gnome3, gmime3, webkitgtk, ronn +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, gnome, gmime3, webkitgtk, ronn , libsass, notmuch, boost, wrapGAppsHook, glib-networking, protobuf, vim_configurable , gtkmm3, libpeas, gsettings-desktop-schemas, gobject-introspection, python3 @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtkmm3 gmime3 webkitgtk libsass libpeas python3 - notmuch boost gsettings-desktop-schemas gnome3.adwaita-icon-theme + notmuch boost gsettings-desktop-schemas gnome.adwaita-icon-theme glib-networking protobuf vim ]; diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix index 3bf5b5075c6..ad43ed97e09 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, gnome3, cmake, gettext, intltool, pkg-config, evolution-data-server, evolution +{ lib, stdenv, fetchurl, gnome, cmake, gettext, intltool, pkg-config, evolution-data-server, evolution , sqlite, gtk3, webkitgtk, libgdata, libmspack }: stdenv.mkDerivation rec { @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "evolution-ews"; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix index e703f5d7401..53fe3d6f949 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix @@ -24,7 +24,7 @@ , db , gcr , sqlite -, gnome3 +, gnome , librsvg , gdk-pixbuf , libsecret @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme bogofilter db evolution-data-server @@ -68,7 +68,7 @@ stdenv.mkDerivation rec { gdk-pixbuf glib glib-networking - gnome3.gnome-desktop + gnome.gnome-desktop gsettings-desktop-schemas gst_all_1.gst-plugins-base gst_all_1.gstreamer @@ -115,7 +115,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "evolution"; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix index cfbaa988c71..7837393926f 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/wrapper.nix @@ -1,8 +1,8 @@ -{ lib, makeWrapper, symlinkJoin, gnome3, plugins }: +{ lib, makeWrapper, symlinkJoin, gnome, plugins }: symlinkJoin { name = "evolution-with-plugins"; - paths = [ gnome3.evolution-data-server ] ++ plugins; + paths = [ gnome.evolution-data-server ] ++ plugins; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix index dda6abac8e5..83e8984db7b 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/68.nix @@ -30,7 +30,7 @@ , libXt , libxcb , libcanberra -, gnome3 +, gnome , libGLU, libGL , nspr , nss @@ -116,7 +116,7 @@ stdenv.mkDerivation { stdenv.cc.cc ]; - buildInputs = [ gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix index d16cbfc1bca..b81128545d5 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -13,7 +13,7 @@ , gdk-pixbuf , glib , glibc -, gnome3 +, gnome , gnugrep , gnupg , gnused @@ -115,7 +115,7 @@ stdenv.mkDerivation { stdenv.cc.cc ]; - buildInputs = [ gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme ]; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix index a39b4aab837..f0fb5a1239a 100644 --- a/pkgs/applications/networking/p2p/retroshare/default.nix +++ b/pkgs/applications/networking/p2p/retroshare/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, libupnp, gpgme, gnome3, glib, libssh, pkg-config, protobuf, bzip2 +{ lib, stdenv, fetchFromGitHub, libupnp, gpgme, gnome, glib, libssh, pkg-config, protobuf, bzip2 , libXScrnSaver, speex, curl, libxml2, libxslt, sqlcipher, libmicrohttpd, opencv, qmake, ffmpeg_3 , qtmultimedia, qtx11extras, qttools }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config qmake ]; buildInputs = [ - speex libupnp gpgme gnome3.libgnome-keyring glib libssh qtmultimedia qtx11extras qttools + speex libupnp gpgme gnome.libgnome-keyring glib libssh qtmultimedia qtx11extras qttools protobuf bzip2 libXScrnSaver curl libxml2 libxslt sqlcipher libmicrohttpd opencv ffmpeg_3 ]; diff --git a/pkgs/applications/networking/pcloud/default.nix b/pkgs/applications/networking/pcloud/default.nix index 6cff01c1cc2..4b1eca32750 100644 --- a/pkgs/applications/networking/pcloud/default.nix +++ b/pkgs/applications/networking/pcloud/default.nix @@ -21,7 +21,7 @@ # Runtime dependencies; # A few additional ones (e.g. Node) are already shipped together with the # AppImage, so we don't have to duplicate them here. - alsaLib, dbus-glib, fuse, gnome3, gtk3, libdbusmenu-gtk2, libXdamage, udev, nss + alsaLib, dbus-glib, fuse, gnome, gtk3, libdbusmenu-gtk2, libXdamage, udev, nss }: let @@ -94,7 +94,7 @@ in stdenv.mkDerivation { # This is required for the file picker dialog - otherwise pcloud just # crashes - export XDG_DATA_DIRS="${gnome3.gsettings-desktop-schemas}/share/gsettings-schemas/${gnome3.gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" + export XDG_DATA_DIRS="${gnome.gsettings-desktop-schemas}/share/gsettings-schemas/${gnome.gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" exec "$out/app/pcloud" EOF diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix index 8b1ef3c5863..8a96cf84755 100644 --- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix +++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix @@ -1,5 +1,5 @@ { lib, stdenv, requireFile, makeWrapper, autoPatchelfHook, wrapGAppsHook, which, more -, file, atk, alsaLib, cairo, fontconfig, gdk-pixbuf, glib, gnome3, gtk2-x11, gtk3 +, file, atk, alsaLib, cairo, fontconfig, gdk-pixbuf, glib, gnome, gtk2-x11, gtk3 , heimdal, krb5, libsoup, libvorbis, speex, openssl, zlib, xorg, pango, gtk2 , gnome2, mesa, nss, nspr, gtk_engines, freetype, dconf, libpng12, libxml2 , libjpeg, libredirect, tzdata, cacert, systemd, libcxxabi, libcxx, e2fsprogs, symlinkJoin @@ -70,7 +70,7 @@ stdenv.mkDerivation rec { freetype gdk-pixbuf gnome2.gtkglext - gnome3.webkitgtk + gnome.webkitgtk gtk2 gtk2-x11 gtk3 diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index 5d0195b62f8..e2f1cf2c8a2 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -6,7 +6,7 @@ , libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core , openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk, harfbuzz # The themes here are soft dependencies; only icons are missing without them. -, gnome3 +, gnome }: with lib; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { pcre2 libdbusmenu-gtk3 libappindicator-gtk3 libvncserver libpthreadstubs libXdmcp libxkbcommon libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core - openssl gnome3.adwaita-icon-theme json-glib libsodium webkitgtk + openssl gnome.adwaita-icon-theme json-glib libsodium webkitgtk harfbuzz ]; diff --git a/pkgs/applications/networking/syncthing-gtk/default.nix b/pkgs/applications/networking/syncthing-gtk/default.nix index 015033d6ca5..158999f86fe 100644 --- a/pkgs/applications/networking/syncthing-gtk/default.nix +++ b/pkgs/applications/networking/syncthing-gtk/default.nix @@ -1,6 +1,6 @@ { lib, fetchFromGitHub, fetchpatch, libnotify, librsvg, killall , gtk3, libappindicator-gtk3, substituteAll, syncthing, wrapGAppsHook -, gnome3, buildPythonApplication, dateutil, pyinotify, pygobject3 +, gnome, buildPythonApplication, dateutil, pyinotify, pygobject3 , bcrypt, gobject-introspection, gsettings-desktop-schemas , pango, gdk-pixbuf, atk }: @@ -24,7 +24,7 @@ buildPythonApplication rec { buildInputs = [ gtk3 librsvg libappindicator-gtk3 - libnotify gnome3.adwaita-icon-theme + libnotify gnome.adwaita-icon-theme # Schemas with proxy configuration gsettings-desktop-schemas ]; diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix index 4e83f36ea52..e32502749dc 100644 --- a/pkgs/applications/office/abiword/default.nix +++ b/pkgs/applications/office/abiword/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, pkg-config, gtk3, fribidi , libpng, popt, libgsf, enchant, wv, librsvg, bzip2, libjpeg, perl -, boost, libxslt, goffice, wrapGAppsHook, gnome3 +, boost, libxslt, goffice, wrapGAppsHook, gnome }: stdenv.mkDerivation rec { @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 librsvg bzip2 fribidi libpng popt - libgsf enchant wv libjpeg perl boost libxslt goffice gnome3.adwaita-icon-theme + libgsf enchant wv libjpeg perl boost libxslt goffice gnome.adwaita-icon-theme ]; meta = with lib; { diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index f65781352b3..aacc2a2a579 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, intltool, perlPackages -, goffice, gnome3, wrapGAppsHook, gtk3, bison, python3Packages +, goffice, gnome, wrapGAppsHook, gtk3, bison, python3Packages , itstool }: @@ -20,14 +20,14 @@ in stdenv.mkDerivation rec { # ToDo: optional libgda, introspection? buildInputs = [ - goffice gtk3 gnome3.adwaita-icon-theme + goffice gtk3 gnome.adwaita-icon-theme python pygobject3 ] ++ (with perlPackages; [ perl XMLParser ]); enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/office/grisbi/default.nix b/pkgs/applications/office/grisbi/default.nix index 9d085b6c883..1d2d6f0d851 100644 --- a/pkgs/applications/office/grisbi/default.nix +++ b/pkgs/applications/office/grisbi/default.nix @@ -7,7 +7,7 @@ , intltool , wrapGAppsHook , libsoup -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { libofx intltool libsoup - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; meta = with lib; { diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix index a586cea47ab..b7da8c777a9 100644 --- a/pkgs/applications/office/homebank/default.nix +++ b/pkgs/applications/office/homebank/default.nix @@ -1,5 +1,5 @@ { fetchurl, lib, stdenv, gtk, pkg-config, libofx, intltool, wrapGAppsHook -, libsoup, gnome3 }: +, libsoup, gnome }: stdenv.mkDerivation rec { name = "homebank-5.5.1"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config wrapGAppsHook ]; buildInputs = [ gtk libofx intltool libsoup - gnome3.adwaita-icon-theme ]; + gnome.adwaita-icon-theme ]; meta = with lib; { description = "Free, easy, personal accounting for everyone"; diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index c9b1099f8b9..1c5327ebc6c 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -12,7 +12,7 @@ , libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf , librevenge, libe-book, libmwaw, glm, gst_all_1 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook -, gnome3, glib, ncurses, epoxy, gpgme +, gnome, glib, ncurses, epoxy, gpgme , langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "zh-CN" ] , withHelp ? true , kdeIntegration ? false, mkDerivation ? null, qtbase ? null, qtx11extras ? null @@ -399,7 +399,7 @@ in (mkDrv rec { mdds bluez5 libcmis libwps libabw libzmf libxshmfence libatomic_ops graphite2 harfbuzz gpgme util-linux librevenge libe-book libmwaw glm ncurses epoxy - libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext + libodfgen CoinMP librdf_rasqal gnome.adwaita-icon-theme gettext ] ++ (with gst_all_1; [ gstreamer diff --git a/pkgs/applications/office/paperwork/paperwork-gtk.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix index 847287c8c85..d37db7cddb2 100644 --- a/pkgs/applications/office/paperwork/paperwork-gtk.nix +++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix @@ -2,7 +2,7 @@ , python3Packages , gtk3 , cairo -, gnome3 +, gnome , librsvg , xvfb_run , dbus @@ -63,7 +63,7 @@ python3Packages.buildPythonApplication rec { ]; buildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme libnotify librsvg gtk3 diff --git a/pkgs/applications/office/tryton/default.nix b/pkgs/applications/office/tryton/default.nix index 65eb48f3b2d..b3a5ae44c93 100644 --- a/pkgs/applications/office/tryton/default.nix +++ b/pkgs/applications/office/tryton/default.nix @@ -6,7 +6,7 @@ , atk , gtk3 , gtkspell3 -, gnome3 +, gnome , glib , goocanvas2 , gdk-pixbuf @@ -46,7 +46,7 @@ python3Packages.buildPythonApplication rec { atk gdk-pixbuf glib - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme goocanvas2 fontconfig freetype diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix index f34a3e806af..4cf3c3d78ce 100644 --- a/pkgs/applications/office/zim/default.nix +++ b/pkgs/applications/office/zim/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome3 }: +{ lib, stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome }: # # TODO: Declare configuration options for the following optional dependencies: @@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec { sha256 = "13vhwsgv6mscgixypc0ixkgj0y7cpcm7z7wn1vmdrwp7kn8m3xgx"; }; - buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome3.adwaita-icon-theme ]; + buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome.adwaita-icon-theme ]; propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ]; diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix index 1584972cbeb..99fd54c5cc7 100644 --- a/pkgs/applications/office/zotero/default.nix +++ b/pkgs/applications/office/zotero/default.nix @@ -26,7 +26,7 @@ , libXrender , libXt , libnotify -, gnome3 +, gnome , libGLU, libGL , nspr , nss @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs= [ gsettings-desktop-schemas glib gtk3 gnome3.adwaita-icon-theme dconf ]; + buildInputs= [ gsettings-desktop-schemas glib gtk3 gnome.adwaita-icon-theme dconf ]; dontConfigure = true; dontBuild = true; diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 76048733a6a..86bda3092bc 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,6 +1,6 @@ { lib, stdenv , fetchFromGitLab -, gnome3 +, gnome , dconf , wxGTK30 , wxGTK31 @@ -187,7 +187,7 @@ stdenv.mkDerivation rec { makeWrapperArgs = with passthru.libraries; [ "--prefix XDG_DATA_DIRS : ${base}/share" "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" - "--prefix XDG_DATA_DIRS : ${gnome3.adwaita-icon-theme}/share" + "--prefix XDG_DATA_DIRS : ${gnome.adwaita-icon-theme}/share" "--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}" "--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" # wrapGAppsHook did these two as well, no idea if it matters... diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 20a17b11221..9d6212fef11 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -9,7 +9,7 @@ , customOCamlPackages ? null , ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ncurses , buildIde ? true -, glib, gnome3, wrapGAppsHook +, glib, gnome, wrapGAppsHook , csdp ? null , version, coq-version ? null, }@args: @@ -128,7 +128,7 @@ self = stdenv.mkDerivation { buildInputs = [ ncurses ] ++ ocamlBuildInputs ++ optionals buildIde (if versionAtLeast "8.10" - then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.adwaita-icon-theme wrapGAppsHook ] + then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme wrapGAppsHook ] else [ ocamlPackages.lablgtk ]); postPatch = '' diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix index 25215d7abb5..94e675d7dd4 100644 --- a/pkgs/applications/science/math/wxmaxima/default.nix +++ b/pkgs/applications/science/math/wxmaxima/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub , wrapGAppsHook, cmake, gettext -, maxima, wxGTK, gnome3 }: +, maxima, wxGTK, gnome }: stdenv.mkDerivation rec { pname = "wxmaxima"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sha256 = "sha256-5nvaaKsvSEs7QxOszjDK1Xkana2er1BCMZ83b1JZSqc="; }; - buildInputs = [ wxGTK maxima gnome3.adwaita-icon-theme ]; + buildInputs = [ wxGTK maxima gnome.adwaita-icon-theme ]; nativeBuildInputs = [ wrapGAppsHook cmake gettext ]; diff --git a/pkgs/applications/terminal-emulators/kgx/default.nix b/pkgs/applications/terminal-emulators/kgx/default.nix index 4e8cf06c1fd..dc5c651d50a 100644 --- a/pkgs/applications/terminal-emulators/kgx/default.nix +++ b/pkgs/applications/terminal-emulators/kgx/default.nix @@ -3,7 +3,7 @@ , genericBranding ? false , fetchFromGitLab , gettext -, gnome3 +, gnome , libgtop , gtk3 , libhandy @@ -35,7 +35,7 @@ stdenv.mkDerivation { buildInputs = [ gettext libgtop - gnome3.nautilus + gnome.nautilus gtk3 libhandy pcre2 diff --git a/pkgs/applications/terminal-emulators/mlterm/default.nix b/pkgs/applications/terminal-emulators/mlterm/default.nix index 94629314341..b9f7d4ef677 100644 --- a/pkgs/applications/terminal-emulators/mlterm/default.nix +++ b/pkgs/applications/terminal-emulators/mlterm/default.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation rec { "--enable-ind" #indic scripts "--enable-fribidi" #bidi scripts "--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc" - #mlterm-menu and mlconfig depend on enabling gnome3.at-spi2-core + #mlterm-menu and mlconfig depend on enabling gnome.at-spi2-core #and configuring ~/.mlterm/key correctly. ] ++ lib.optionals (!stdenv.isDarwin) [ "--with-x=yes" diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix index 7e4b7a84075..c8b95fa238f 100644 --- a/pkgs/applications/version-management/gitkraken/default.nix +++ b/pkgs/applications/version-management/gitkraken/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, libXcomposite, libgnome-keyring, makeWrapper, udev, curl, alsaLib -, libXfixes, atk, gtk3, libXrender, pango, gnome3, cairo, freetype, fontconfig +, libXfixes, atk, gtk3, libXrender, pango, gnome, cairo, freetype, fontconfig , libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst , nss, nspr, cups, fetchzip, expat, gdk-pixbuf, libXdamage, libXrandr, dbus , makeDesktopItem, openssl, wrapGAppsHook, at-spi2-atk, at-spi2-core, libuuid @@ -76,7 +76,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; - buildInputs = [ gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme ]; installPhase = '' runHook preInstall diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix index 95a9f2d7242..9859163031c 100644 --- a/pkgs/applications/version-management/meld/default.nix +++ b/pkgs/applications/version-management/meld/default.nix @@ -12,7 +12,7 @@ , gobject-introspection , gtk3 , gtksourceview4 -, gnome3 +, gnome , gsettings-desktop-schemas }: @@ -44,7 +44,7 @@ python3.pkgs.buildPythonApplication rec { gtk3 gtksourceview4 gsettings-desktop-schemas - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; propagatedBuildInputs = with python3.pkgs; [ @@ -57,7 +57,7 @@ python3.pkgs.buildPythonApplication rec { strictDeps = false; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix index 324c61ab194..14e1173d406 100644 --- a/pkgs/applications/version-management/smartgithg/default.nix +++ b/pkgs/applications/version-management/smartgithg/default.nix @@ -4,7 +4,7 @@ , jre , gtk3 , glib -, gnome3 +, gnome , wrapGAppsHook , libXtst , which @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ wrapGAppsHook ]; - buildInputs = [ jre gnome3.adwaita-icon-theme gtk3 ]; + buildInputs = [ jre gnome.adwaita-icon-theme gtk3 ]; preFixup = with lib; '' gappsWrapperArgs+=( \ diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix index 80e1c1260bd..a9eee05d238 100644 --- a/pkgs/applications/video/byzanz/default.nix +++ b/pkgs/applications/video/byzanz/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchgit, wrapGAppsHook, which, gnome3, glib, intltool, pkg-config, libtool, cairo, gtk3, gst_all_1, xorg }: +{ lib, stdenv, fetchgit, wrapGAppsHook, which, gnome, glib, intltool, pkg-config, libtool, cairo, gtk3, gst_all_1, xorg }: stdenv.mkDerivation { version = "0.2.3.alpha"; @@ -19,7 +19,7 @@ stdenv.mkDerivation { NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ which gnome3.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo xorg.libXdamage ] + buildInputs = [ which gnome.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo xorg.libXdamage ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]); meta = with lib; { diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix index b9707e7c249..b1be6035f9e 100644 --- a/pkgs/applications/video/pitivi/default.nix +++ b/pkgs/applications/video/pitivi/default.nix @@ -11,7 +11,7 @@ , gobject-introspection , libpeas , librsvg -, gnome3 +, gnome , libnotify , gsound , meson @@ -52,9 +52,9 @@ python3Packages.buildPythonApplication rec { gtk3 libpeas librsvg - gnome3.gnome-desktop + gnome.gnome-desktop gsound - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gsettings-desktop-schemas libnotify ] ++ (with gst_all_1; [ @@ -89,7 +89,7 @@ python3Packages.buildPythonApplication rec { strictDeps = false; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "pitivi"; versionPolicy = "none"; # we are using dev version, since the stable one is too old }; diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index 922d6fa9ff1..f15a2e91496 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -1,7 +1,7 @@ { lib, fetchurl, python3Packages, intltool, file , wrapGAppsHook, gtk-vnc, vte, avahi, dconf , gobject-introspection, libvirt-glib, system-libvirt -, gsettings-desktop-schemas, libosinfo, gnome3 +, gsettings-desktop-schemas, libosinfo, gnome , gtksourceview4, docutils , spiceSupport ? true, spice-gtk ? null , cpio, e2fsprogs, findutils, gzip @@ -26,7 +26,7 @@ python3Packages.buildPythonApplication rec { buildInputs = [ wrapGAppsHook - libvirt-glib vte dconf gtk-vnc gnome3.adwaita-icon-theme avahi + libvirt-glib vte dconf gtk-vnc gnome.adwaita-icon-theme avahi gsettings-desktop-schemas libosinfo gtksourceview4 gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943 ] ++ optional spiceSupport spice-gtk; diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix index 95faee74dbc..8be84abbdfb 100644 --- a/pkgs/applications/window-managers/phosh/default.nix +++ b/pkgs/applications/window-managers/phosh/default.nix @@ -11,7 +11,7 @@ , pulseaudio , glib , gtk3 -, gnome3 +, gnome , gcr , pam , systemd @@ -52,7 +52,7 @@ let [ -n "$WLR_BACKENDS" ] || WLR_BACKENDS=drm,libinput export WLR_BACKENDS exec "${phoc}/bin/phoc" -C "$PHOC_INI" \ - -E "bash -lc 'XDG_DATA_DIRS=$XDG_DATA_DIRS:\$XDG_DATA_DIRS ${gnome3.gnome-session}/bin/gnome-session $GNOME_SESSION_ARGS'" + -E "bash -lc 'XDG_DATA_DIRS=$XDG_DATA_DIRS:\$XDG_DATA_DIRS ${gnome.gnome-session}/bin/gnome-session $GNOME_SESSION_ARGS'" ''; in stdenv.mkDerivation rec { @@ -85,9 +85,9 @@ in stdenv.mkDerivation rec { gcr networkmanager polkit - gnome3.gnome-control-center - gnome3.gnome-desktop - gnome3.gnome-session + gnome.gnome-control-center + gnome.gnome-desktop + gnome.gnome-session gtk3 pam systemd @@ -131,7 +131,7 @@ in stdenv.mkDerivation rec { # Depends on GSettings schemas in gnome-shell preFixup = '' gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${gnome3.gnome-shell}/share/gsettings-schemas/${gnome3.gnome-shell.name}" + --prefix XDG_DATA_DIRS : "${gnome.gnome-shell}/share/gsettings-schemas/${gnome.gnome-shell.name}" ) ''; diff --git a/pkgs/applications/window-managers/xmonad/log-applet/default.nix b/pkgs/applications/window-managers/xmonad/log-applet/default.nix index 830242667db..2e41cc2c97c 100644 --- a/pkgs/applications/window-managers/xmonad/log-applet/default.nix +++ b/pkgs/applications/window-managers/xmonad/log-applet/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, glib, dbus-glib , desktopSupport ? "gnomeflashback", xorg , gtk2 -, gtk3, gnome3, mate +, gtk3, gnome, mate , libxfce4util, xfce4-panel }: @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ glib dbus-glib xorg.xcbutilwm ] - ++ lib.optionals (desktopSupport == "gnomeflashback") [ gtk3 gnome3.gnome-panel ] + ++ lib.optionals (desktopSupport == "gnomeflashback") [ gtk3 gnome.gnome-panel ] ++ lib.optionals (desktopSupport == "mate") [ gtk3 mate.mate-panel ] ++ lib.optionals (desktopSupport == "xfce4") [ gtk2 libxfce4util xfce4-panel ] ; diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix index 7659c9f42a1..3a820853b1f 100644 --- a/pkgs/build-support/appimage/default.nix +++ b/pkgs/build-support/appimage/default.nix @@ -61,7 +61,7 @@ rec { targetPkgs = pkgs: with pkgs; [ gtk3 bashInteractive - gnome3.zenity + gnome.zenity python2 xorg.xrandr which diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix index 39fe4235f13..e76fee1a6eb 100644 --- a/pkgs/data/documentation/gnome-user-docs/default.nix +++ b/pkgs/data/documentation/gnome-user-docs/default.nix @@ -1,7 +1,7 @@ { lib, stdenv , fetchurl , gettext -, gnome3 +, gnome , itstool , libxml2 , yelp-tools @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix index dc0b8cc23eb..011e88dc1d2 100644 --- a/pkgs/data/fonts/cantarell-fonts/default.nix +++ b/pkgs/data/fonts/cantarell-fonts/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, gettext, appstream-glib, gnome3 }: +{ lib, stdenv, fetchurl, meson, ninja, gettext, appstream-glib, gnome }: stdenv.mkDerivation rec { pname = "cantarell-fonts"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { outputHash = "1sczskw2kv3qy39i9mzw2lkl94a90bjgv5ln9acy5kh4gb2zmy7z"; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/data/icons/arc-icon-theme/default.nix b/pkgs/data/icons/arc-icon-theme/default.nix index 6b7de57a4ff..88184b585ec 100644 --- a/pkgs/data/icons/arc-icon-theme/default.nix +++ b/pkgs/data/icons/arc-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk3, gnome3, moka-icon-theme, gnome-icon-theme, hicolor-icon-theme }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, gtk3, gnome, moka-icon-theme, gnome-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "arc-icon-theme"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ moka-icon-theme - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gnome-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix index dfcd2f59679..384086204c1 100644 --- a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix +++ b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, gdk-pixbuf, optipng, librsvg, gtk3, pantheon, gnome3, gnome-icon-theme, hicolor-icon-theme }: +{ lib, stdenv, fetchFromGitHub, pkg-config, gdk-pixbuf, optipng, librsvg, gtk3, pantheon, gnome, gnome-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "elementary-xfce-icon-theme"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ pantheon.elementary-icon-theme - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gnome-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/data/icons/humanity-icon-theme/default.nix b/pkgs/data/icons/humanity-icon-theme/default.nix index 13ee96d0499..12e2d0a06d6 100644 --- a/pkgs/data/icons/humanity-icon-theme/default.nix +++ b/pkgs/data/icons/humanity-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, gtk3, gnome3, hicolor-icon-theme }: +{ lib, stdenv, fetchurl, gtk3, gnome, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "humanity-icon-theme"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/data/icons/paper-icon-theme/default.nix b/pkgs/data/icons/paper-icon-theme/default.nix index c84369a8a4a..a8eb1a8736d 100644 --- a/pkgs/data/icons/paper-icon-theme/default.nix +++ b/pkgs/data/icons/paper-icon-theme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, gnome3, gnome-icon-theme, hicolor-icon-theme }: +{ lib, stdenv, fetchFromGitHub, meson, ninja, gtk3, python3, gnome, gnome-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "paper-icon-theme"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gnome-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/data/icons/pop-icon-theme/default.nix b/pkgs/data/icons/pop-icon-theme/default.nix index cb7db20d67c..1bcfab57b4a 100644 --- a/pkgs/data/icons/pop-icon-theme/default.nix +++ b/pkgs/data/icons/pop-icon-theme/default.nix @@ -4,7 +4,7 @@ , ninja , gtk3 , breeze-icons -, gnome3 +, gnome , pantheon , hicolor-icon-theme }: @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ breeze-icons - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme pantheon.elementary-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix index fba9580107a..49755dbd8ad 100644 --- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix +++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, gnome3, libxslt }: +{ lib, stdenv, fetchurl, gnome, libxslt }: stdenv.mkDerivation rec { pname = "mobile-broadband-provider-info"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/data/themes/adapta/default.nix b/pkgs/data/themes/adapta/default.nix index f67d689a4bf..fc6e5b8c355 100644 --- a/pkgs/data/themes/adapta/default.nix +++ b/pkgs/data/themes/adapta/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, parallel, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine, gnome3 }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, parallel, sassc, inkscape, libxml2, glib, gdk-pixbuf, librsvg, gtk-engine-murrine, gnome }: stdenv.mkDerivation rec { pname = "adapta-gtk-theme"; @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { inkscape libxml2 glib.dev - gnome3.gnome-shell + gnome.gnome-shell ]; buildInputs = [ diff --git a/pkgs/data/themes/arc/default.nix b/pkgs/data/themes/arc/default.nix index 8a283a04185..fff5e4bf41a 100644 --- a/pkgs/data/themes/arc/default.nix +++ b/pkgs/data/themes/arc/default.nix @@ -4,7 +4,7 @@ , autoreconfHook , pkg-config , gtk3 -, gnome3 +, gnome , gtk-engine-murrine , optipng , inkscape @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ]; propagatedUserEnvPkgs = [ - gnome3.gnome-themes-extra + gnome.gnome-themes-extra gtk-engine-murrine ]; @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-cinnamon=${cinnamon.cinnamon-common.version}" - "--with-gnome-shell=${gnome3.gnome-shell.version}" + "--with-gnome-shell=${gnome.gnome-shell.version}" "--disable-unity" ]; diff --git a/pkgs/data/themes/canta/default.nix b/pkgs/data/themes/canta/default.nix index cf122315208..431522fa85e 100644 --- a/pkgs/data/themes/canta/default.nix +++ b/pkgs/data/themes/canta/default.nix @@ -4,7 +4,7 @@ , librsvg , gtk-engine-murrine , gtk3 -, gnome3 +, gnome , gnome-icon-theme , numix-icon-theme-circle , hicolor-icon-theme @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gnome-icon-theme numix-icon-theme-circle hicolor-icon-theme diff --git a/pkgs/data/themes/equilux-theme/default.nix b/pkgs/data/themes/equilux-theme/default.nix index 162b8788508..067c2b88a09 100644 --- a/pkgs/data/themes/equilux-theme/default.nix +++ b/pkgs/data/themes/equilux-theme/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, gnome3, glib, libxml2, gtk-engine-murrine, gdk-pixbuf, librsvg, bc }: +{ lib, stdenv, fetchFromGitHub, gnome, glib, libxml2, gtk-engine-murrine, gdk-pixbuf, librsvg, bc }: stdenv.mkDerivation rec { pname = "equilux-theme"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ glib libxml2 bc ]; - buildInputs = [ gnome3.gnome-themes-extra gdk-pixbuf librsvg ]; + buildInputs = [ gnome.gnome-themes-extra gdk-pixbuf librsvg ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { patchShebangs install.sh sed -i install.sh \ -e "s|if .*which gnome-shell.*;|if true;|" \ - -e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${lib.versions.majorMinor gnome3.gnome-shell.version}|" + -e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${lib.versions.majorMinor gnome.gnome-shell.version}|" mkdir -p $out/share/themes ./install.sh --dest $out/share/themes rm $out/share/themes/*/COPYING diff --git a/pkgs/data/themes/lounge/default.nix b/pkgs/data/themes/lounge/default.nix index 0c51b78333d..ab945f51053 100644 --- a/pkgs/data/themes/lounge/default.nix +++ b/pkgs/data/themes/lounge/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gtk3, gnome3, gdk-pixbuf, librsvg, gtk-engine-murrine }: +{ lib, stdenv, fetchFromGitHub, meson, ninja, sassc, gtk3, gnome, gdk-pixbuf, librsvg, gtk-engine-murrine }: stdenv.mkDerivation rec { pname = "lounge-gtk-theme"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { propagatedUserEnvPkgs = [ gtk-engine-murrine ]; mesonFlags = [ - "-D gnome_version=${lib.versions.majorMinor gnome3.gnome-shell.version}" + "-D gnome_version=${lib.versions.majorMinor gnome.gnome-shell.version}" ]; postFixup = '' diff --git a/pkgs/data/themes/materia-theme/default.nix b/pkgs/data/themes/materia-theme/default.nix index d34ece5c94f..f9e3463f2fd 100644 --- a/pkgs/data/themes/materia-theme/default.nix +++ b/pkgs/data/themes/materia-theme/default.nix @@ -3,7 +3,7 @@ , meson , ninja , sassc -, gnome3 +, gnome , gtk-engine-murrine , gdk-pixbuf , librsvg @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - gnome3.gnome-themes-extra + gnome.gnome-themes-extra gdk-pixbuf librsvg ]; @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { dontBuild = true; mesonFlags = [ - "-Dgnome_shell_version=${lib.versions.majorMinor gnome3.gnome-shell.version}" + "-Dgnome_shell_version=${lib.versions.majorMinor gnome.gnome-shell.version}" ]; postInstall = '' diff --git a/pkgs/data/themes/ubuntu-themes/default.nix b/pkgs/data/themes/ubuntu-themes/default.nix index 732c9a74573..fb23141a64e 100644 --- a/pkgs/data/themes/ubuntu-themes/default.nix +++ b/pkgs/data/themes/ubuntu-themes/default.nix @@ -2,7 +2,7 @@ , fetchurl , fetchpatch , gnome-icon-theme -, gnome3 +, gnome , gtk-engine-murrine , gtk3 , hicolor-icon-theme @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gnome-icon-theme - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme humanity-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix index f0d2493473a..c2f449e9f20 100644 --- a/pkgs/data/themes/yaru/default.nix +++ b/pkgs/data/themes/yaru/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, meson, sassc, pkg-config, glib, ninja, - python3, gtk3, gnome3, gtk-engine-murrine, humanity-icon-theme, hicolor-icon-theme }: + python3, gtk3, gnome, gtk-engine-murrine, humanity-icon-theme, hicolor-icon-theme }: stdenv.mkDerivation rec { pname = "yaru"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ]; - buildInputs = [ gtk3 gnome3.gnome-themes-extra ]; + buildInputs = [ gtk3 gnome.gnome-themes-extra ]; propagatedBuildInputs = [ humanity-icon-theme hicolor-icon-theme ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; diff --git a/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/pkgs/desktops/cinnamon/cinnamon-common/default.nix index 65eede25832..a5800b01a30 100644 --- a/pkgs/desktops/cinnamon/cinnamon-common/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-common/default.nix @@ -28,7 +28,7 @@ , wrapGAppsHook , libxml2 , gtk-doc -, gnome3 +, gnome , python3 , keybinder3 , cairo @@ -91,7 +91,7 @@ stdenv.mkDerivation rec { # bindings cairo - gnome3.caribou + gnome.caribou keybinder3 upower xapps diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix index c2e50c65557..4208b92ae2d 100644 --- a/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix @@ -18,7 +18,7 @@ , libxklavier , networkmanager , libwacom -, gnome3 +, gnome , wrapGAppsHook , tzdata , glibc diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix index 39dee473cc5..b70673253ed 100644 --- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix @@ -12,7 +12,7 @@ , libxslt , gtk3 , libgnomekbd -, gnome3 +, gnome , libtool , wrapGAppsHook , gobject-introspection @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { cinnamon-desktop cinnamon-common libgnomekbd - gnome3.caribou + gnome.caribou # things iso-flags-png-320x420 diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix index 3c01d003937..1a1e8132bd6 100644 --- a/pkgs/desktops/cinnamon/cjs/default.nix +++ b/pkgs/desktops/cinnamon/cjs/default.nix @@ -7,7 +7,7 @@ , wrapGAppsHook , python3 , cairo -, gnome3 +, gnome , xapps , keybinder3 , upower @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { glib # bindings - gnome3.caribou + gnome.caribou keybinder3 upower xapps diff --git a/pkgs/desktops/cinnamon/mint-x-icons/default.nix b/pkgs/desktops/cinnamon/mint-x-icons/default.nix index f52b0556d56..f4a04cf33a8 100644 --- a/pkgs/desktops/cinnamon/mint-x-icons/default.nix +++ b/pkgs/desktops/cinnamon/mint-x-icons/default.nix @@ -1,6 +1,6 @@ { fetchFromGitHub , lib, stdenv -, gnome3 +, gnome , gnome-icon-theme , hicolor-icon-theme , gtk3 @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gnome-icon-theme hicolor-icon-theme humanity-icon-theme diff --git a/pkgs/desktops/cinnamon/mint-y-icons/default.nix b/pkgs/desktops/cinnamon/mint-y-icons/default.nix index 8d55e81c58c..e04a1baa669 100644 --- a/pkgs/desktops/cinnamon/mint-y-icons/default.nix +++ b/pkgs/desktops/cinnamon/mint-y-icons/default.nix @@ -1,6 +1,6 @@ { fetchFromGitHub , lib, stdenv -, gnome3 +, gnome , gnome-icon-theme , hicolor-icon-theme , gtk3 @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { }; propagatedBuildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gnome-icon-theme hicolor-icon-theme ]; diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix index 2df5f875b41..5470933d619 100644 --- a/pkgs/desktops/cinnamon/muffin/default.nix +++ b/pkgs/desktops/cinnamon/muffin/default.nix @@ -2,7 +2,7 @@ , cinnamon-desktop , glib , file -, gnome3 +, gnome , gnome-doc-utils , fetchpatch , gobject-introspection @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { xorg.xkeyboardconfig libxkbcommon - gnome3.zenity + gnome.zenity libinput libstartup_notification libXtst diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix deleted file mode 100644 index e634037b871..00000000000 --- a/pkgs/desktops/gnome-3/apps/accerciser/default.nix +++ /dev/null @@ -1,74 +0,0 @@ -{ lib -, fetchurl -, pkg-config -, gnome3 -, gtk3 -, wrapGAppsHook -, gobject-introspection -, itstool -, libxml2 -, python3 -, at-spi2-core -, dbus -, gettext -, libwnck3 -, adwaita-icon-theme -}: - -python3.pkgs.buildPythonApplication rec { - pname = "accerciser"; - version = "3.38.0"; - - format = "other"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0fd9vv2abd2if2qj4nlfy7mpd7rc4sx18zhmxd5ijlnfhkpggbp5"; - }; - - nativeBuildInputs = [ - gettext - gobject-introspection # For setup hook - itstool - libxml2 - pkg-config - dbus - wrapGAppsHook - ]; - - buildInputs = [ - adwaita-icon-theme - at-spi2-core - gtk3 - libwnck3 - ]; - - propagatedBuildInputs = with python3.pkgs; [ - ipython - pyatspi - pycairo - pygobject3 - setuptools - xlib - ]; - - # Strict deps breaks accerciser - # and https://github.com/NixOS/nixpkgs/issues/56943 - strictDeps = false; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "accerciser"; - attrPath = "gnome3.accerciser"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Accerciser"; - description = "Interactive Python accessibility explorer"; - maintainers = teams.gnome.members; - license = licenses.bsd3; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/cheese/default.nix b/pkgs/desktops/gnome-3/apps/cheese/default.nix deleted file mode 100644 index 75c3060f51d..00000000000 --- a/pkgs/desktops/gnome-3/apps/cheese/default.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ lib -, stdenv -, gettext -, fetchurl -, fetchpatch -, wrapGAppsHook -, gnome-video-effects -, libcanberra-gtk3 -, pkg-config -, gtk3 -, glib -, clutter-gtk -, clutter-gst -, gst_all_1 -, itstool -, vala -, docbook_xml_dtd_43 -, docbook-xsl-nons -, appstream-glib -, libxslt -, gtk-doc -, adwaita-icon-theme -, librsvg -, totem -, gdk-pixbuf -, gnome3 -, gnome-desktop -, libxml2 -, meson -, ninja -, dbus -, python3 -}: - -stdenv.mkDerivation rec { - pname = "cheese"; - version = "3.38.0"; - - outputs = [ "out" "man" "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/cheese/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8"; - }; - - patches = [ - # Fix build with latest Vala or GLib - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/cheese/commit/7cf6268e54620bbbe5e6e61800c50fb0cb4bea57.patch"; - sha256 = "WJgGNrpZLTahe7Sxr8HdTl+4Mf4VcmJb6DdiInlDcT4="; - }) - ]; - - nativeBuildInputs = [ - appstream-glib - docbook_xml_dtd_43 - docbook-xsl-nons - gettext - gtk-doc - itstool - libxml2 - libxslt # for xsltproc - meson - ninja - pkg-config - python3 - vala - wrapGAppsHook - glib # for glib-compile-schemas - ]; - - buildInputs = [ - adwaita-icon-theme - clutter-gst - clutter-gtk - dbus - gdk-pixbuf - glib - gnome-desktop - gnome-video-effects - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gstreamer - gtk3 - libcanberra-gtk3 - librsvg - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - preFixup = '' - gappsWrapperArgs+=( - # Effects - --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share" - # vp8enc preset - --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets" - # Thumbnailers - --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" - --prefix XDG_DATA_DIRS : "${totem}/share" - ) - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "cheese"; - attrPath = "gnome3.cheese"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Cheese"; - description = "Take photos and videos with your webcam, with fun graphical effects"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix deleted file mode 100644 index c6a2a3a6400..00000000000 --- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ lib, stdenv, fetchurl, glib, gtk3, meson, ninja, pkg-config, gnome3, gettext, itstool, libxml2, libarchive -, file, json-glib, python3, wrapGAppsHook, desktop-file-utils, libnotify, nautilus, glibcLocales -, unzip, cpio }: - -stdenv.mkDerivation rec { - pname = "file-roller"; - version = "3.40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a"; - }; - - LANG = "en_US.UTF-8"; # postinstall.py - - nativeBuildInputs = [ meson ninja gettext itstool pkg-config libxml2 python3 wrapGAppsHook glibcLocales desktop-file-utils ]; - - buildInputs = [ glib gtk3 json-glib libarchive file gnome3.adwaita-icon-theme libnotify nautilus cpio ]; - - PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; - - postPatch = '' - chmod +x postinstall.py # patchShebangs requires executable file - patchShebangs postinstall.py - patchShebangs data/set-mime-type-entry.py - ''; - - postFixup = '' - # Workaround because of https://gitlab.gnome.org/GNOME/file-roller/issues/40 - wrapProgram "$out/bin/file-roller" \ - --prefix PATH : ${lib.makeBinPath [ unzip ]} - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "file-roller"; - attrPath = "gnome3.file-roller"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/FileRoller"; - description = "Archive manager for the GNOME desktop environment"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix deleted file mode 100644 index 1458d509e61..00000000000 --- a/pkgs/desktops/gnome-3/apps/gedit/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ lib, stdenv -, meson -, fetchurl -, python3 -, pkg-config -, gtk3 -, glib -, adwaita-icon-theme -, libpeas -, gtksourceview4 -, gsettings-desktop-schemas -, wrapGAppsHook -, ninja -, libsoup -, tepl -, gnome3 -, gspell -, perl -, itstool -, desktop-file-utils -, vala -}: - -stdenv.mkDerivation rec { - pname = "gedit"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gedit/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm"; - }; - - nativeBuildInputs = [ - desktop-file-utils - itstool - meson - ninja - perl - pkg-config - python3 - vala - wrapGAppsHook - ]; - - buildInputs = [ - adwaita-icon-theme - glib - gsettings-desktop-schemas - gspell - gtk3 - gtksourceview4 - libpeas - libsoup - tepl - ]; - - postPatch = '' - chmod +x build-aux/meson/post_install.py - chmod +x plugins/externaltools/scripts/gedit-tool-merge.pl - patchShebangs build-aux/meson/post_install.py - patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl - ''; - - # Reliably fails to generate gedit-file-browser-enum-types.h in time - enableParallelBuilding = false; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gedit"; - attrPath = "gnome3.gedit"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Gedit"; - description = "Official text editor of the GNOME desktop environment"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.unix; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/ghex/default.nix b/pkgs/desktops/gnome-3/apps/ghex/default.nix deleted file mode 100644 index fb8cf0a1a1c..00000000000 --- a/pkgs/desktops/gnome-3/apps/ghex/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, meson -, ninja -, python3 -, gnome3 -, desktop-file-utils -, appstream-glib -, gettext -, itstool -, libxml2 -, gtk3 -, glib -, atk -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "ghex"; - version = "3.18.4"; - - outputs = [ "out" "dev" ]; - - src = fetchurl { - url = "mirror://gnome/sources/ghex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"; - }; - - nativeBuildInputs = [ - desktop-file-utils - gettext - itstool - meson - ninja - pkg-config - python3 - wrapGAppsHook - ]; - - buildInputs = [ - gtk3 - atk - glib - ]; - - checkInputs = [ - appstream-glib - desktop-file-utils - ]; - - patches = [ - # Fixes for darwin. Drop in next release. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/ghex/commit/b0af26666cd990d99076c242b2abb3efc6e98671.patch"; - sha256 = "1zwdkgr2nqrn9q3ydyvrrpn5x55cdi747fhbq6mh6blp9cbrk9b5"; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/ghex/commit/cc8ef9e67b23604c402460010dc0b5dccb85391b.patch"; - sha256 = "0j2165rfhlbrlzhmcnirqd5m89ljpz0n3nz20sxbwlc8h42zv36s"; - }) - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "ghex"; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Ghex"; - description = "Hex editor for GNOME desktop environment"; - platforms = platforms.unix; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-books/default.nix b/pkgs/desktops/gnome-3/apps/gnome-books/default.nix deleted file mode 100644 index 2b0aedc9e3e..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-books/default.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ lib, stdenv -, meson -, ninja -, gettext -, fetchurl -, evince -, gjs -, pkg-config -, gtk3 -, glib -, tracker -, tracker-miners -, libxslt -, webkitgtk -, gnome-desktop -, libgepub -, gnome3 -, gdk-pixbuf -, gsettings-desktop-schemas -, adwaita-icon-theme -, docbook-xsl-nons -, docbook_xml_dtd_42 -, desktop-file-utils -, python3 -, gobject-introspection -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "gnome-books"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0c41l8m2di8h39bmk2fnhpwglwp6qhljmwqqbihzp4ay9976zrc5"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - libxslt - desktop-file-utils - docbook-xsl-nons - docbook_xml_dtd_42 - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - gdk-pixbuf - adwaita-icon-theme - evince - webkitgtk - gjs - gobject-introspection - tracker - tracker-miners - gnome-desktop - libgepub - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-books"; - attrPath = "gnome3.gnome-books"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Books"; - description = "An e-book manager application for GNOME"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix deleted file mode 100644 index 779bfe6886d..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix +++ /dev/null @@ -1,145 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, wrapGAppsHook -, pkg-config -, gettext -, itstool -, libvirt-glib -, glib -, gobject-introspection -, libxml2 -, gtk3 -, gtksourceview4 -, gtk-vnc -, freerdp -, libvirt -, spice-gtk -, python3 -, appstream-glib -, spice-protocol -, libhandy -, libsoup -, libosinfo -, systemd -, tracker -, tracker-miners -, vala -, libcap -, yajl -, gmp -, gdbm -, cyrus_sasl -, gnome3 -, librsvg -, desktop-file-utils -, mtools -, cdrkit -, libcdio -, libusb1 -, libarchive -, acl -, libgudev -, libsecret -, libcap_ng -, numactl -, libapparmor -, json-glib -, webkitgtk -, vte -, glib-networking -}: - -stdenv.mkDerivation rec { - pname = "gnome-boxes"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "seKPLH+3a/T7uGLQ1S6BG5TL6f8W8GdAiWRWhpCILvg="; - }; - - doCheck = true; - - nativeBuildInputs = [ - appstream-glib # for appstream-util - desktop-file-utils - gettext - gobject-introspection - itstool - meson - ninja - pkg-config - python3 - vala - wrapGAppsHook - ]; - - # Required for USB redirection PolicyKit rules file - propagatedUserEnvPkgs = [ - spice-gtk - ]; - - buildInputs = [ - acl - cyrus_sasl - freerdp - gdbm - glib - glib-networking - gmp - gnome3.adwaita-icon-theme - gtk-vnc - gtk3 - gtksourceview4 - json-glib - libapparmor - libarchive - libcap - libcap_ng - libgudev - libhandy - libosinfo - librsvg - libsecret - libsoup - libusb1 - libvirt - libvirt-glib - libxml2 - numactl - spice-gtk - spice-protocol - systemd - tracker - tracker-miners - vte - webkitgtk - yajl - ]; - - preFixup = '' - gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ mtools cdrkit libcdio ]}") - ''; - - postPatch = '' - chmod +x build-aux/post_install.py # patchShebangs requires executable file - patchShebangs build-aux/post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "Simple GNOME 3 application to access remote or virtual systems"; - homepage = "https://wiki.gnome.org/Apps/Boxes"; - license = licenses.lgpl2Plus; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix deleted file mode 100644 index fae4149a131..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-calendar/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, wrapGAppsHook -, libdazzle -, libgweather -, geoclue2 -, geocode-glib -, python3 -, gettext -, libxml2 -, gnome3 -, gtk3 -, evolution-data-server -, libsoup -, glib -, gnome-online-accounts -, gsettings-desktop-schemas -, libhandy -, adwaita-icon-theme -}: - -stdenv.mkDerivation rec { - pname = "gnome-calendar"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0d74hng9jdmwdcjgj4xfrcink2gwkbp1k1mad4wanaf7q31c6f38"; - }; - - patches = [ - # https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/84 - # A refactor has caused the PR patch to drift enough to need rebasing - ./gtk_image_reset_crash.patch - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - libxml2 - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - evolution-data-server - libsoup - glib - gnome-online-accounts - libdazzle - libgweather - geoclue2 - geocode-glib - gsettings-desktop-schemas - adwaita-icon-theme - libhandy - ]; - - postPatch = '' - chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file - patchShebangs build-aux/meson/meson_post_install.py - ''; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Calendar"; - description = "Simple and beautiful calendar application for GNOME"; - maintainers = teams.gnome.members; - license = licenses.gpl3; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-calendar/gtk_image_reset_crash.patch b/pkgs/desktops/gnome-3/apps/gnome-calendar/gtk_image_reset_crash.patch deleted file mode 100644 index 5065295b57b..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-calendar/gtk_image_reset_crash.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/gui/views/gcal-year-view.c b/src/gui/views/gcal-year-view.c -index ac32a8f9..532425c1 100644 ---- a/src/gui/views/gcal-year-view.c -+++ b/src/gui/views/gcal-year-view.c -@@ -2158,7 +2158,11 @@ update_weather (GcalYearView *self) - if (!updated) - { - gtk_label_set_text (self->temp_label, ""); -- gtk_image_clear (self->weather_icon); -+ /* FIXME: This should never be NULL, but it somehow is. -+ * https://gitlab.gnome.org/GNOME/gnome-calendar/issues/299 -+ */ -+ if (self->weather_icon != NULL) -+ gtk_image_clear (self->weather_icon); - } - } - diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix deleted file mode 100644 index b5abee28380..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, gnome3 -, glib -, gtk3 -, pango -, wrapGAppsHook -, python3 -, gobject-introspection -, gjs -, libunistring -, libhandy -, gsettings-desktop-schemas -, adwaita-icon-theme -, gnome-desktop -}: - -stdenv.mkDerivation rec { - pname = "gnome-characters"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha"; - }; - - nativeBuildInputs = [ - gettext - gobject-introspection - meson - ninja - pkg-config - python3 - wrapGAppsHook - ]; - - - buildInputs = [ - adwaita-icon-theme - gjs - glib - gnome-desktop # for typelib - gsettings-desktop-schemas - gtk3 - libunistring - libhandy - pango - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - dontWrapGApps = true; - - # Fixes https://github.com/NixOS/nixpkgs/issues/31168 - postFixup = '' - for file in $out/share/org.gnome.Characters/org.gnome.Characters \ - $out/share/org.gnome.Characters/org.gnome.Characters.BackgroundService - do - sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \ - -i $file - - wrapGApp "$file" - done - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Characters"; - description = "Simple utility application to find and insert unusual characters"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix deleted file mode 100644 index cd91cef6687..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, gettext -, pkg-config -, wrapGAppsHook -, itstool -, desktop-file-utils -, vala -, gobject-introspection -, libxml2 -, gtk3 -, glib -, gsound -, sound-theme-freedesktop -, gsettings-desktop-schemas -, adwaita-icon-theme -, gnome-desktop -, geocode-glib -, gnome3 -, gdk-pixbuf -, geoclue2 -, libgweather -, libhandy -}: - -stdenv.mkDerivation rec { - pname = "gnome-clocks"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "02d3jg46sn8d9gd4dsaly22gg5vkbz2gpq4pmwpvncb4rsqk7sn2"; - }; - - nativeBuildInputs = [ - vala - meson - ninja - pkg-config - gettext - itstool - wrapGAppsHook - desktop-file-utils - libxml2 - gobject-introspection # for finding vapi files - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - gdk-pixbuf - adwaita-icon-theme - gnome-desktop - geocode-glib - geoclue2 - libgweather - gsound - libhandy - ]; - - preFixup = '' - gappsWrapperArgs+=( - # Fallback sound theme - --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" - ) - ''; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-clocks"; - attrPath = "gnome3.gnome-clocks"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Clocks"; - description = "Clock application designed for GNOME 3"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-connections/default.nix b/pkgs/desktops/gnome-3/apps/gnome-connections/default.nix deleted file mode 100644 index 17f11d0efdc..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-connections/default.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib, stdenv -, fetchurl -, gnome3 -, meson -, ninja -, vala -, pkg-config -, glib -, gtk3 -, python3 -, libxml2 -, gtk-vnc -, gettext -, desktop-file-utils -, appstream-glib -, gobject-introspection -, freerdp -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "gnome-connections"; - version = "3.38.1"; - - src = fetchurl { - url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz"; - hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA="; - }; - - nativeBuildInputs = [ - desktop-file-utils - gettext - glib # glib-compile-resources - meson - appstream-glib - ninja - pkg-config - python3 - vala - wrapGAppsHook - - # for gtk-frdp subproject - gobject-introspection - ]; - - buildInputs = [ - glib - gtk-vnc - gtk3 - libxml2 - - # for gtk-frdp subproject - freerdp - ]; - - postPatch = '' - chmod +x build-aux/meson/postinstall.py - patchShebangs build-aux/meson/postinstall.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "connections"; - attrPath = "gnome-connections"; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/connections"; - description = "A remote desktop client for the GNOME desktop environment"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix deleted file mode 100644 index 3172ae27123..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix +++ /dev/null @@ -1,127 +0,0 @@ -{ lib, stdenv -, meson -, ninja -, gettext -, fetchurl -, fetchpatch -, evince -, gjs -, pkg-config -, gtk3 -, glib -, tracker -, tracker-miners -, itstool -, libxslt -, webkitgtk -, libgdata -, gnome-desktop -, libzapojit -, libgepub -, gnome3 -, gdk-pixbuf -, libsoup -, docbook_xsl -, docbook_xml_dtd_42 -, gobject-introspection -, inkscape -, poppler_utils -, desktop-file-utils -, wrapGAppsHook -, python3 -, appstream-glib -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-documents"; - version = "3.34.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-documents/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq"; - }; - - patches = [ - # Fix inkscape 1.0 usage - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-documents/commit/0f55a18c40a61e6ae4ec4652604775f139892350.diff"; - sha256 = "1yrisq69dl1dn7639drlbza20a5ic6xg04ksr9iq4sxdx3xj3d8s"; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - libxslt - desktop-file-utils - docbook_xsl - docbook_xml_dtd_42 - wrapGAppsHook - python3 - appstream-glib - - # building getting started - inkscape - poppler_utils - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - gdk-pixbuf - gnome3.adwaita-icon-theme - evince - libsoup - webkitgtk - gjs - gobject-introspection - tracker - tracker-miners - libgdata - gnome-desktop - libzapojit - libgepub - ]; - - doCheck = true; - - mesonFlags = [ - "-Dgetting_started=true" - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - preFixup = '' - substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.bin}/bin/gapplication" - ''; - - preConfigure = - # To silence inkscape warnings regarding profile directory - '' - export INKSCAPE_PROFILE_DIR="$(mktemp -d)" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - broken = true; # Tracker 3 not supported and it cannot start Tracker 2. - homepage = "https://wiki.gnome.org/Apps/Documents"; - description = "Document manager application designed to work with GNOME 3"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix b/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix deleted file mode 100644 index 20b27b2ddd0..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-logs/default.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, meson -, ninja -, pkg-config -, gnome3 -, glib -, gtk3 -, wrapGAppsHook -, gettext -, itstool -, libxml2 -, libxslt -, docbook_xsl -, docbook_xml_dtd_43 -, systemd -, python3 -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-logs"; - version = "3.36.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-logs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0w1nfdxbv3f0wnhmdy21ydvr4swfc108hypda561p7l9lrhnnxj4"; - }; - - patches = [ - # https://gitlab.gnome.org/GNOME/gnome-logs/-/issues/52 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-logs/-/commit/b42defceefc775220b525f665a3b662ab9593b81.patch"; - sha256 = "1s0zscmhwy7r0xff17wh8ik8x9xw1vrkipw5vl5i770bxnljps8n"; - }) - ]; - - nativeBuildInputs = [ - python3 - meson - ninja - pkg-config - wrapGAppsHook - gettext - itstool - libxml2 - libxslt - docbook_xsl - docbook_xml_dtd_43 - ]; - - buildInputs = [ - glib - gtk3 - systemd - gsettings-desktop-schemas - gnome3.adwaita-icon-theme - ]; - - mesonFlags = [ - "-Dman=true" - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-logs"; - attrPath = "gnome3.gnome-logs"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Logs"; - description = "A log viewer for the systemd journal"; - maintainers = teams.gnome.members; - license = licenses.gpl3; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix deleted file mode 100644 index 673013c8e60..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix +++ /dev/null @@ -1,104 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, gettext -, python3 -, pkg-config -, gnome3 -, gtk3 -, gobject-introspection -, gdk-pixbuf -, librsvg -, libgweather -, geoclue2 -, wrapGAppsHook -, folks -, libchamplain -, gfbgraph -, libsoup -, gsettings-desktop-schemas -, webkitgtk -, gjs -, libgee -, libhandy -, geocode-glib -, evolution-data-server -, gnome-online-accounts -}: - -stdenv.mkDerivation rec { - pname = "gnome-maps"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-mAXUwFs6NpV0bTdisoFr/+bZ19VuF7y7nZ1B3C0CYxo="; - }; - - doCheck = true; - - nativeBuildInputs = [ - gettext - meson - ninja - pkg-config - python3 - wrapGAppsHook - ]; - - buildInputs = [ - evolution-data-server - folks - gdk-pixbuf - geoclue2 - geocode-glib - gfbgraph - gjs - gnome-online-accounts - gnome3.adwaita-icon-theme - gobject-introspection - gsettings-desktop-schemas - gtk3 - libchamplain - libgee - libgweather - libhandy - librsvg - libsoup - webkitgtk - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - - # The .service file isn't wrapped with the correct environment - # so misses GIR files when started. By re-pointing from the gjs - # entry point to the wrapped binary we get back to a wrapped - # binary. - substituteInPlace "data/org.gnome.Maps.service.in" \ - --replace "Exec=@pkgdatadir@/org.gnome.Maps" \ - "Exec=$out/bin/gnome-maps" - ''; - - preCheck = '' - # “time.js” included by “timeTest” and “translationsTest” depends on “org.gnome.desktop.interface” schema. - export XDG_DATA_DIRS="${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:$XDG_DATA_DIRS" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Maps"; - description = "A map application for GNOME 3"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix deleted file mode 100644 index b50ce59980f..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix +++ /dev/null @@ -1,113 +0,0 @@ -{ lib -, meson -, ninja -, gettext -, fetchurl -, gdk-pixbuf -, tracker -, libxml2 -, python3 -, libnotify -, wrapGAppsHook -, libmediaart -, gobject-introspection -, gnome-online-accounts -, grilo -, grilo-plugins -, pkg-config -, gtk3 -, pango -, glib -, desktop-file-utils -, appstream-glib -, itstool -, gnome3 -, gst_all_1 -, libdazzle -, libsoup -, gsettings-desktop-schemas -}: - -python3.pkgs.buildPythonApplication rec { - pname = "gnome-music"; - version = "40.0"; - - format = "other"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1djqhd4jccvk352hwxjhiwjgbnv1qnpv450f2c6w6581vcn9pq38"; - }; - - nativeBuildInputs = [ - meson - ninja - gettext - itstool - pkg-config - libxml2 - wrapGAppsHook - desktop-file-utils - appstream-glib - gobject-introspection - ]; - - buildInputs = [ - gtk3 - pango - glib - libmediaart - gnome-online-accounts - gobject-introspection - gdk-pixbuf - gnome3.adwaita-icon-theme - python3 - grilo - grilo-plugins - libnotify - libdazzle - libsoup - gsettings-desktop-schemas - tracker - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]); - - propagatedBuildInputs = with python3.pkgs; [ - pycairo - dbus-python - pygobject3 - ]; - - - postPatch = '' - for f in meson_post_conf.py meson_post_install.py; do - chmod +x $f - patchShebangs $f - done - ''; - - doCheck = false; - - # handle setup hooks better - strictDeps = false; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Music"; - description = "Music player and management application for the GNOME desktop environment"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix b/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix deleted file mode 100644 index 6fca1c0eea5..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gnome3, gtk3, wrapGAppsHook -, libgtop, intltool, itstool, libxml2, nmap, inetutils }: - -stdenv.mkDerivation rec { - pname = "gnome-nettool"; - version = "3.8.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h"; - }; - - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - gtk3 wrapGAppsHook libgtop intltool itstool libxml2 - gnome3.adwaita-icon-theme - ]; - - propagatedUserEnvPkgs = [ nmap inetutils ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - versionPolicy = "none"; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/gnome-nettool"; - description = "A collection of networking tools"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix deleted file mode 100644 index afeddd1bb99..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ lib, stdenv -, meson -, ninja -, gettext -, fetchurl -, pkg-config -, wrapGAppsHook -, itstool -, desktop-file-utils -, python3 -, glib -, gtk3 -, evolution-data-server -, gnome-online-accounts -, json-glib -, libuuid -, curl -, libhandy -, webkitgtk -, gnome3 -, libxml2 -, gsettings-desktop-schemas -, tracker -}: - -stdenv.mkDerivation rec { - pname = "gnome-notes"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/bijiben/${lib.versions.major version}/bijiben-${version}.tar.xz"; - sha256 = "1gvvb2klkzbmyzwkjgmscdiqcl8lyz9b0rxb4igjz079csq6z805"; - }; - - doCheck = true; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - libxml2 - desktop-file-utils - python3 - wrapGAppsHook - ]; - - buildInputs = [ - glib - gtk3 - json-glib - libuuid - curl - libhandy - webkitgtk - tracker - gnome-online-accounts - gsettings-desktop-schemas - evolution-data-server - gnome3.adwaita-icon-theme - ]; - - mesonFlags = [ - "-Dupdate_mimedb=false" - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "bijiben"; - attrPath = "gnome3.gnome-notes"; - }; - }; - - meta = with lib; { - description = "Note editor designed to remain simple to use"; - homepage = "https://wiki.gnome.org/Apps/Notes"; - license = licenses.gpl3; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix b/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix deleted file mode 100644 index cb79a772b79..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-power-manager/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ lib, stdenv -, gettext -, fetchurl -, pkg-config -, gtk3 -, glib -, meson -, ninja -, upower -, python3 -, desktop-file-utils -, wrapGAppsHook -, gnome3 }: - -let - pname = "gnome-power-manager"; - version = "3.32.0"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0drfn3wcc8l4n07qwv6p0rw2dwcd00hwzda282q62l6sasks2b2g"; - }; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - wrapGAppsHook - gettext - - # needed by meson_post_install.sh - python3 - glib.dev - desktop-file-utils - ]; - - buildInputs = [ - gtk3 - glib - upower - gnome3.adwaita-icon-theme - ]; - - meta = with lib; { - homepage = "https://projects-old.gnome.org/gnome-power-manager/"; - description = "View battery and power statistics provided by UPower"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix deleted file mode 100644 index 3b34fae714c..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-sound-recorder/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, gettext -, gobject-introspection -, wrapGAppsHook -, gjs -, glib -, gtk3 -, gdk-pixbuf -, gst_all_1 -, gnome3 -, meson -, ninja -, python3 -, desktop-file-utils -, libhandy -}: - -stdenv.mkDerivation rec { - pname = "gnome-sound-recorder"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "00b55vsfzx877b7mj744abzjws7zclz71wbvh0axsrbl9l84ranl"; - }; - - nativeBuildInputs = [ - pkg-config - gettext - meson - ninja - gobject-introspection - wrapGAppsHook - python3 - desktop-file-utils - ]; - - buildInputs = [ - gjs - glib - gtk3 - gdk-pixbuf - libhandy - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - gst-plugins-bad # for gstreamer-player-1.0 - ]); - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "A simple and modern sound recorder"; - homepage = "https://wiki.gnome.org/Apps/SoundRecorder"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix b/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix deleted file mode 100644 index 34aed52fa85..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-todo/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, meson -, ninja -, pkg-config -, python3 -, wrapGAppsHook -, gettext -, gnome3 -, glib -, gtk3 -, libpeas -, gnome-online-accounts -, gsettings-desktop-schemas -, evolution-data-server -, libxml2 -, libsoup -, libical -, librest -, json-glib -}: - -stdenv.mkDerivation rec { - pname = "gnome-todo"; - version = "3.28.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"; - }; - - patches = [ - # fix build with libecal 2.0 - (fetchpatch { - name = "gnome-todo-eds-libecal-2.0.patch"; - url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch"; - sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq"; - }) - ]; - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - python3 - wrapGAppsHook - ]; - - buildInputs = [ - glib - gtk3 - libpeas - gnome-online-accounts - gsettings-desktop-schemas - gnome3.adwaita-icon-theme - # Plug-ins - evolution-data-server - libxml2 - libsoup - libical - librest - json-glib - ]; - - # Fix parallel building: missing dependency from src/gtd-application.c - # Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170 - preBuild = "ninja src/gtd-vcs-identifier.h"; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "Personal task manager for GNOME"; - homepage = "https://wiki.gnome.org/Apps/Todo"; - license = licenses.gpl3Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix b/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix deleted file mode 100644 index 6cbfea0f5cf..00000000000 --- a/pkgs/desktops/gnome-3/apps/gnome-weather/default.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gnome3 -, gtk3 -, libhandy -, wrapGAppsHook -, gjs -, gobject-introspection -, libgweather -, meson -, ninja -, geoclue2 -, gnome-desktop -, python3 -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-weather"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-weather/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1vxfcvga5waangq3rzwdrdxyy5sw40vv0l463lc651s0n8xafd9a"; - }; - - nativeBuildInputs = [ - pkg-config - meson - ninja - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - libhandy - gjs - gobject-introspection - gnome-desktop - libgweather - gnome3.adwaita-icon-theme - geoclue2 - gsettings-desktop-schemas - ]; - - postPatch = '' - # The .service file is not wrapped with the correct environment - # so misses GIR files when started. By re-pointing from the gjs - # entry point to the wrapped binary we get back to a wrapped - # binary. - substituteInPlace "data/org.gnome.Weather.service.in" \ - --replace "Exec=@DATA_DIR@/@APP_ID@" \ - "Exec=$out/bin/gnome-weather" - - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-weather"; - attrPath = "gnome3.gnome-weather"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Weather"; - description = "Access current weather conditions and forecasts"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/polari/default.nix b/pkgs/desktops/gnome-3/apps/polari/default.nix deleted file mode 100644 index 727a82e5ff3..00000000000 --- a/pkgs/desktops/gnome-3/apps/polari/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ lib, stdenv, itstool, fetchurl, gdk-pixbuf, adwaita-icon-theme -, telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils -, pkg-config, gtk3, glib, libsecret, libsoup, webkitgtk, gobject-introspection, appstream-glib -, gnome3, wrapGAppsHook, telepathy-logger, gspell, gsettings-desktop-schemas }: - -let - pname = "polari"; - version = "3.38.0"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1l82nmb5qk4h69rsdhzlcmjjdhwh9jzfs4cnw8hy39sg5v9ady1s"; - }; - - patches = [ - # Upstream runs the thumbnailer by passing it to gjs. - # If we wrap it in a shell script, gjs can no longer run it. - # Let’s change the code to run the script directly by making it executable and having gjs in shebang. - ./make-thumbnailer-wrappable.patch - ]; - - propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ]; - - nativeBuildInputs = [ - meson ninja pkg-config itstool gettext wrapGAppsHook libxml2 - desktop-file-utils gobject-introspection appstream-glib - ]; - - buildInputs = [ - gtk3 glib adwaita-icon-theme gsettings-desktop-schemas - telepathy-glib telepathy-logger gjs gspell gdk-pixbuf libsecret libsoup webkitgtk - ]; - - postFixup = '' - wrapGApp "$out/share/polari/thumbnailer.js" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Polari"; - description = "IRC chat client designed to integrate with the GNOME desktop"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch b/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch deleted file mode 100644 index 0fb09eb154a..00000000000 --- a/pkgs/desktops/gnome-3/apps/polari/make-thumbnailer-wrappable.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/thumbnailer.js b/src/thumbnailer.js -old mode 100644 -new mode 100755 -index e2ad0a5..7ebf08a ---- a/src/thumbnailer.js -+++ b/src/thumbnailer.js -@@ -1,3 +1,4 @@ -+#!/usr/bin/env gjs - imports.gi.versions.Gdk = '3.0'; - imports.gi.versions.Gtk = '3.0'; - -diff --git a/src/urlPreview.js b/src/urlPreview.js -index f17e0be..ccffc32 100644 ---- a/src/urlPreview.js -+++ b/src/urlPreview.js -@@ -44,7 +44,7 @@ class Thumbnailer { - _generateThumbnail(data) { - let { filename, uri } = data; - this._subProc = Gio.Subprocess.new( -- ['gjs', `${pkg.pkgdatadir}/thumbnailer.js`, uri, filename], -+ [`${pkg.pkgdatadir}/thumbnailer.js`, uri, filename], - Gio.SubprocessFlags.NONE); - this._subProc.wait_async(null, (o, res) => { - try { diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix deleted file mode 100644 index e44f094be1b..00000000000 --- a/pkgs/desktops/gnome-3/apps/seahorse/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ lib, stdenv -, fetchurl -, vala -, meson -, ninja -, libpwquality -, pkg-config -, gtk3 -, glib -, wrapGAppsHook -, itstool -, gnupg -, libsoup -, gnome3 -, gpgme -, python3 -, openldap -, gcr -, libsecret -, avahi -, p11-kit -, openssh -, gsettings-desktop-schemas -, libhandy -}: - -stdenv.mkDerivation rec { - pname = "seahorse"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-fscFezhousbqBB/aghQKOfXsnlsYi0UJFNRTvC1V0Cw="; - }; - - doCheck = true; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - itstool - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - glib - gcr - gsettings-desktop-schemas - gnupg - gnome3.adwaita-icon-theme - gpgme - libsecret - avahi - libsoup - p11-kit - openssh - openldap - libpwquality - libhandy - ]; - - postPatch = '' - patchShebangs build-aux/ - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Seahorse"; - description = "Application for managing encryption keys and passwords in the GnomeKeyring"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/apps/vinagre/default.nix b/pkgs/desktops/gnome-3/apps/vinagre/default.nix deleted file mode 100644 index 49abb2f1a70..00000000000 --- a/pkgs/desktops/gnome-3/apps/vinagre/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome3, vte, libxml2, gtk-vnc, intltool -, libsecret, itstool, wrapGAppsHook, librsvg }: - -stdenv.mkDerivation rec { - pname = "vinagre"; - version = "3.22.0"; - - src = fetchurl { - url = "mirror://gnome/sources/vinagre/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "cd1cdbacca25c8d1debf847455155ee798c3e67a20903df8b228d4ece5505e82"; - }; - - nativeBuildInputs = [ pkg-config intltool itstool wrapGAppsHook ]; - buildInputs = [ - gtk3 vte libxml2 gtk-vnc libsecret gnome3.adwaita-icon-theme librsvg - ]; - - NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral"; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "vinagre"; - attrPath = "gnome3.vinagre"; - }; - }; - - meta = with lib; { - description = "Remote desktop viewer for GNOME"; - homepage = "https://wiki.gnome.org/Apps/Vinagre"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix deleted file mode 100644 index ceffe2f012b..00000000000 --- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, gnome3 -, iconnamingutils, gtk3, gdk-pixbuf, librsvg, hicolor-icon-theme }: - -stdenv.mkDerivation rec { - pname = "adwaita-icon-theme"; - version = "40.1.1"; - - src = fetchurl { - url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "C2xDbtatmIeoitofcqAZex63OwINjTRKurTH+nJQ+PY="; - }; - - # For convenience, we can specify adwaita-icon-theme only in packages - propagatedBuildInputs = [ hicolor-icon-theme ]; - - buildInputs = [ gdk-pixbuf librsvg ]; - - nativeBuildInputs = [ pkg-config intltool iconnamingutils gtk3 ]; - - dontDropIconThemeCache = true; - - # remove a tree of dirs with no files within - postInstall = '' rm -rf "$out/locale" ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "adwaita-icon-theme"; - attrPath = "gnome3.adwaita-icon-theme"; - }; - }; - - meta = with lib; { - platforms = with platforms; linux ++ darwin; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix deleted file mode 100644 index 386502a854b..00000000000 --- a/pkgs/desktops/gnome-3/core/baobab/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ stdenv -, lib -, gettext -, fetchurl -, vala -, desktop-file-utils -, meson -, ninja -, pkg-config -, python3 -, gtk3 -, libhandy -, glib -, libxml2 -, wrapGAppsHook -, itstool -, gnome3 -}: - -stdenv.mkDerivation rec { - pname = "baobab"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "19yii3bdgivxrcka1c4g6dpbmql5nyawwhzlsph7z6bs68nambm6"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - gettext - itstool - libxml2 - desktop-file-utils - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - libhandy - glib - gnome3.adwaita-icon-theme - ]; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - description = "Graphical application to analyse disk usage in any GNOME environment"; - homepage = "https://wiki.gnome.org/Apps/DiskUsageAnalyzer"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/caribou/default.nix b/pkgs/desktops/gnome-3/core/caribou/default.nix deleted file mode 100644 index 88260f05acf..00000000000 --- a/pkgs/desktops/gnome-3/core/caribou/default.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ fetchurl, lib, stdenv, pkg-config, gnome3, glib, gtk3, clutter, dbus, python3, libxml2 -, libxklavier, libXtst, gtk2, intltool, libxslt, at-spi2-core, autoreconfHook -, wrapGAppsHook, libgee }: - -let - pname = "caribou"; - version = "0.4.21"; - pythonEnv = python3.withPackages ( ps: with ps; [ pygobject3 ] ); -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"; - }; - - patches = [ - # Fix crash in GNOME Flashback - # https://bugzilla.gnome.org/show_bug.cgi?id=791001 - (fetchurl { - url = "https://bugzilla.gnome.org/attachment.cgi?id=364774"; - sha256 = "15k1455grf6knlrxqbjnk7sals1730b0whj30451scp46wyvykvd"; - }) - ]; - - nativeBuildInputs = [ pkg-config intltool libxslt libxml2 autoreconfHook wrapGAppsHook ]; - - buildInputs = [ - glib gtk3 clutter at-spi2-core dbus pythonEnv python3.pkgs.pygobject3 - libXtst gtk2 - ]; - - propagatedBuildInputs = [ libgee libxklavier ]; - - postPatch = '' - patchShebangs . - substituteInPlace libcaribou/Makefile.am --replace "--shared-library=libcaribou.so.0" "--shared-library=$out/lib/libcaribou.so.0" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "An input assistive technology intended for switch and pointer users"; - homepage = "https://wiki.gnome.org/Projects/Caribou"; - license = licenses.lgpl21; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix deleted file mode 100644 index aab9a0db42b..00000000000 --- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, vala -, libxslt -, pkg-config -, glib -, gtk3 -, gnome3 -, python3 -, dconf -, libxml2 -, gettext -, docbook-xsl-nons -, wrapGAppsHook -, gobject-introspection -}: - -stdenv.mkDerivation rec { - pname = "dconf-editor"; - version = "3.38.3"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-Vxr0x9rU8Em1PmzXKLea3fCMJ92ra8V7OW0hGGbueeM="; - }; - - nativeBuildInputs = [ - meson - ninja - vala - libxslt - pkg-config - wrapGAppsHook - gettext - docbook-xsl-nons - libxml2 - gobject-introspection - python3 - ]; - - buildInputs = [ - glib - gtk3 - dconf - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "GSettings editor for GNOME"; - homepage = "https://wiki.gnome.org/Apps/DconfEditor"; - license = licenses.gpl3Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/core/empathy/default.nix deleted file mode 100644 index 8ebb5c3f64f..00000000000 --- a/pkgs/desktops/gnome-3/core/empathy/default.nix +++ /dev/null @@ -1,147 +0,0 @@ -{ lib, stdenv -, intltool -, fetchurl -, webkitgtk -, pkg-config -, gtk3 -, glib -, file -, librsvg -, gnome3 -, gdk-pixbuf -, python3 -, telepathy-glib -, telepathy-farstream -, clutter-gtk -, clutter-gst -, gst_all_1 -, cogl -, gnome-online-accounts -, gcr -, libsecret -, folks -, libpulseaudio -, telepathy-mission-control -, telepathy-logger -, libnotify -, clutter -, libsoup -, gnutls -, evolution-data-server -, yelp-xsl -, libcanberra-gtk3 -, p11-kit -, farstream -, libtool -, shared-mime-info -, wrapGAppsHook -, itstool -, libxml2 -, libxslt -, icu -, libgee -, gsettings-desktop-schemas -, isocodes -, enchant -, libchamplain -, geoclue2 -, geocode-glib -, cheese -, libgudev -}: - -stdenv.mkDerivation rec { - pname = "empathy"; - version = "3.25.90"; - - src = fetchurl { - url = "mirror://gnome/sources/empathy/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc"; - }; - - propagatedBuildInputs = [ - (folks.override { telepathySupport = true; }) - telepathy-logger - evolution-data-server - telepathy-mission-control - ]; - - nativeBuildInputs = [ - pkg-config - libtool - intltool - itstool - file - wrapGAppsHook - libxml2 - libxslt - yelp-xsl - python3 - ]; - - buildInputs = [ - gtk3 - glib - webkitgtk - icu - gnome-online-accounts - telepathy-glib - clutter-gtk - clutter-gst - cogl - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gcr - libsecret - libpulseaudio - gdk-pixbuf - libnotify - clutter - libsoup - gnutls - libgee - p11-kit - libcanberra-gtk3 - telepathy-farstream - farstream - gnome3.adwaita-icon-theme - gsettings-desktop-schemas - librsvg - - # Spell-checking - enchant - isocodes - - # Display maps, location awareness, geocode support - libchamplain - geoclue2 - geocode-glib - - # Cheese webcam support, camera monitoring - cheese - libgudev - ]; - - enableParallelBuilding = true; - - preFixup = '' - gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "empathy"; - versionPolicy = "none"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Empathy"; - description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols"; - maintainers = teams.gnome.members; - license = [ licenses.gpl2 ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix deleted file mode 100644 index 671a6645674..00000000000 --- a/pkgs/desktops/gnome-3/core/eog/default.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, gettext -, itstool -, pkg-config -, libxml2 -, libjpeg -, libpeas -, libportal -, gnome3 -, gtk3 -, glib -, gsettings-desktop-schemas -, adwaita-icon-theme -, gnome-desktop -, lcms2 -, gdk-pixbuf -, exempi -, shared-mime-info -, wrapGAppsHook -, librsvg -, libexif -, gobject-introspection -, python3 -}: - -stdenv.mkDerivation rec { - pname = "eog"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-e+CGA3/tm2v4S6yXqD48kYMBt+nJavEwsnJS0KURFok="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - wrapGAppsHook - libxml2 - gobject-introspection - python3 - ]; - - buildInputs = [ - libjpeg - libportal - gtk3 - gdk-pixbuf - glib - libpeas - librsvg - lcms2 - gnome-desktop - libexif - exempi - gsettings-desktop-schemas - shared-mime-info - adwaita-icon-theme - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - preFixup = '' - gappsWrapperArgs+=( - # Thumbnailers - --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" - --prefix XDG_DATA_DIRS : "${librsvg}/share" - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "GNOME image viewer"; - homepage = "https://wiki.gnome.org/Apps/EyeOfGnome"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.unix; - }; -} diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix deleted file mode 100644 index 349a1c024e4..00000000000 --- a/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ lib, stdenv -, meson -, ninja -, gettext -, fetchurl -, pkg-config -, gtk3 -, glib -, icu -, wrapGAppsHook -, gnome3 -, libportal -, libxml2 -, libxslt -, itstool -, webkitgtk -, libsoup -, glib-networking -, libsecret -, gnome-desktop -, libnotify -, libarchive -, p11-kit -, sqlite -, gcr -, isocodes -, desktop-file-utils -, python3 -, nettle -, gdk-pixbuf -, gst_all_1 -, json-glib -, libdazzle -, libhandy -, buildPackages -}: - -stdenv.mkDerivation rec { - pname = "epiphany"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1l0sb1xg16g4wg3z99xb0w2kbyczbn7q4mphs3w4lxq22xml4sk9"; - }; - - nativeBuildInputs = [ - desktop-file-utils - gettext - itstool - libxslt - meson - ninja - pkg-config - python3 - wrapGAppsHook - buildPackages.glib - buildPackages.gtk3 - ]; - - buildInputs = [ - gcr - gdk-pixbuf - glib - glib-networking - gnome-desktop - gnome3.adwaita-icon-theme - gst_all_1.gst-libav - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-ugly - gst_all_1.gstreamer - gtk3 - icu - isocodes - json-glib - libdazzle - libhandy - libportal - libnotify - libarchive - libsecret - libsoup - libxml2 - nettle - p11-kit - sqlite - webkitgtk - ]; - - # Tests need an X display - mesonFlags = [ - "-Dunit_tests=disabled" - ]; - - postPatch = '' - chmod +x post_install.py # patchShebangs requires executable file - patchShebangs post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Epiphany"; - description = "WebKit based web browser for GNOME"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix deleted file mode 100644 index 59eb31e1918..00000000000 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ /dev/null @@ -1,135 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, libxml2 -, appstream -, glib -, gtk3 -, pango -, atk -, gdk-pixbuf -, shared-mime-info -, itstool -, gnome3 -, poppler -, ghostscriptX -, djvulibre -, libspectre -, libarchive -, libhandy -, libsecret -, wrapGAppsHook -, librsvg -, gobject-introspection -, yelp-tools -, gspell -, adwaita-icon-theme -, gsettings-desktop-schemas -, gnome-desktop -, dbus -, python3 -, texlive -, t1lib -, gst_all_1 -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, supportMultimedia ? true # PDF multimedia -, libgxps -, supportXPS ? true # Open XML Paper Specification via libgxps -}: - -stdenv.mkDerivation rec { - pname = "evince"; - version = "40.1"; - - outputs = [ "out" "dev" "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0bfg7prmjk3z8irx1nfkkqph3igg3cy4pwd7pcxjxbshqdin6rks"; - }; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - nativeBuildInputs = [ - appstream - docbook-xsl-nons - docbook_xml_dtd_43 - gettext - gobject-introspection - gtk-doc - itstool - meson - ninja - pkg-config - python3 - wrapGAppsHook - yelp-tools - ]; - - buildInputs = [ - adwaita-icon-theme - atk - dbus # only needed to find the service directory - djvulibre - gdk-pixbuf - ghostscriptX - glib - gnome-desktop - gsettings-desktop-schemas - gspell - gtk3 - libarchive - libhandy - librsvg - libsecret - libspectre - libxml2 - pango - poppler - t1lib - texlive.bin.core # kpathsea for DVI support - ] ++ lib.optional supportXPS libgxps - ++ lib.optionals supportMultimedia (with gst_all_1; [ - gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]); - - mesonFlags = [ - "-Dnautilus=false" - "-Dps=enabled" - ]; - - NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; - - preFixup = '' - gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Evince"; - description = "GNOME's document viewer"; - - longDescription = '' - Evince is a document viewer for multiple document formats. It - currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal - of Evince is to replace the multiple document viewers that exist - on the GNOME Desktop with a single simple application. - ''; - - license = lib.licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix deleted file mode 100644 index dc3f4b493b0..00000000000 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ fetchurl, lib, stdenv, substituteAll, pkg-config, gnome3, python3, gobject-introspection -, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3, gcr, p11-kit -, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre, vala, cmake, ninja -, libkrb5, openldap, webkitgtk, libaccounts-glib, json-glib, glib, gtk3, libphonenumber -, gnome-online-accounts, libgweather, libgdata, gsettings-desktop-schemas, boost, protobuf }: - -stdenv.mkDerivation rec { - pname = "evolution-data-server"; - version = "3.40.1"; - - outputs = [ "out" "dev" ]; - - src = fetchurl { - url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "08iykha7zhk21b3axsp3v1jfwda612v0m8rz8zlzppm5i8s5ziza"; - }; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - inherit tzdata; - }) - ]; - - prePatch = '' - substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch --subst-var-by ESD_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} \ - --subst-var-by GDS_GSETTINGS_PATH ${glib.getSchemaPath gsettings-desktop-schemas} - patches="$patches $PWD/hardcode-gsettings.patch" - ''; - - nativeBuildInputs = [ - cmake ninja pkg-config intltool python3 gperf wrapGAppsHook gobject-introspection vala - ]; - buildInputs = [ - glib libsoup libxml2 gtk3 gnome-online-accounts - gcr p11-kit libgweather libgdata libaccounts-glib json-glib - icu sqlite libkrb5 openldap webkitgtk glib-networking - libcanberra-gtk3 pcre libphonenumber boost protobuf - ]; - - propagatedBuildInputs = [ libsecret nss nspr libical db libsoup ]; - - cmakeFlags = [ - "-DENABLE_UOA=OFF" - "-DENABLE_VALA_BINDINGS=ON" - "-DENABLE_INTROSPECTION=ON" - "-DCMAKE_SKIP_BUILD_RPATH=OFF" - "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include" - "-DWITH_PHONENUMBER=ON" - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "evolution-data-server"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - description = "Unified backend for programs that work with contacts, tasks, and calendar information"; - homepage = "https://wiki.gnome.org/Apps/Evolution"; - license = licenses.lgpl2; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/fix-paths.patch b/pkgs/desktops/gnome-3/core/evolution-data-server/fix-paths.patch deleted file mode 100644 index 33423551659..00000000000 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/fix-paths.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/calendar/libecal/e-cal-system-timezone.c -+++ b/src/calendar/libecal/e-cal-system-timezone.c -@@ -26,7 +26,7 @@ - #ifdef HAVE_SOLARIS - #define SYSTEM_ZONEINFODIR "/usr/share/lib/zoneinfo/tab" - #else --#define SYSTEM_ZONEINFODIR "/usr/share/zoneinfo" -+#define SYSTEM_ZONEINFODIR "@tzdata@/share/zoneinfo" - #endif - - #define ETC_TIMEZONE "/etc/timezone" diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch deleted file mode 100644 index 4e345c3cb3c..00000000000 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/hardcode-gsettings.patch +++ /dev/null @@ -1,526 +0,0 @@ -diff --git a/src/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c -index 2c0557c3c..5955aa55e 100644 ---- a/src/addressbook/libebook/e-book-client.c -+++ b/src/addressbook/libebook/e-book-client.c -@@ -1989,7 +1989,20 @@ e_book_client_get_self (ESourceRegistry *registry, - - *out_client = book_client; - -- settings = g_settings_new (SELF_UID_PATH_ID); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ SELF_UID_PATH_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - uid = g_settings_get_string (settings, SELF_UID_KEY); - g_object_unref (settings); - -@@ -2057,7 +2070,20 @@ e_book_client_set_self (EBookClient *client, - g_return_val_if_fail ( - e_contact_get_const (contact, E_CONTACT_UID) != NULL, FALSE); - -- settings = g_settings_new (SELF_UID_PATH_ID); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ SELF_UID_PATH_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - g_settings_set_string ( - settings, SELF_UID_KEY, - e_contact_get_const (contact, E_CONTACT_UID)); -@@ -2093,8 +2119,20 @@ e_book_client_is_self (EContact *contact) - * unfortunately the API doesn't allow that. - */ - g_mutex_lock (&mutex); -- if (!settings) -- settings = g_settings_new (SELF_UID_PATH_ID); -+ if (!settings) { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ SELF_UID_PATH_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - uid = g_settings_get_string (settings, SELF_UID_KEY); - g_mutex_unlock (&mutex); - -diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c -index 3396b57c0..ac6420b2e 100644 ---- a/src/addressbook/libebook/e-book.c -+++ b/src/addressbook/libebook/e-book.c -@@ -2594,7 +2594,20 @@ e_book_get_self (ESourceRegistry *registry, - return FALSE; - } - -- settings = g_settings_new (SELF_UID_PATH_ID); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ SELF_UID_PATH_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - uid = g_settings_get_string (settings, SELF_UID_KEY); - g_object_unref (settings); - -@@ -2649,7 +2662,20 @@ e_book_set_self (EBook *book, - g_return_val_if_fail (E_IS_BOOK (book), FALSE); - g_return_val_if_fail (E_IS_CONTACT (contact), FALSE); - -- settings = g_settings_new (SELF_UID_PATH_ID); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ SELF_UID_PATH_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - g_settings_set_string ( - settings, SELF_UID_KEY, - e_contact_get_const (contact, E_CONTACT_UID)); -@@ -2677,7 +2703,20 @@ e_book_is_self (EContact *contact) - - g_return_val_if_fail (E_IS_CONTACT (contact), FALSE); - -- settings = g_settings_new (SELF_UID_PATH_ID); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ SELF_UID_PATH_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - uid = g_settings_get_string (settings, SELF_UID_KEY); - g_object_unref (settings); - -diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c -index de1716941..e83b104f1 100644 ---- a/src/calendar/backends/contacts/e-cal-backend-contacts.c -+++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c -@@ -1397,7 +1397,20 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc) - (GDestroyNotify) g_free, - (GDestroyNotify) contact_record_free); - -- cbc->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server.calendar", -+ FALSE); -+ cbc->priv->settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - cbc->priv->notifyid = 0; - cbc->priv->update_alarms_id = 0; - cbc->priv->alarm_enabled = FALSE; -diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c -index b08a7f301..a49fe39c5 100644 ---- a/src/calendar/libecal/e-reminder-watcher.c -+++ b/src/calendar/libecal/e-reminder-watcher.c -@@ -2202,7 +2202,21 @@ e_reminder_watcher_init (EReminderWatcher *watcher) - - watcher->priv = G_TYPE_INSTANCE_GET_PRIVATE (watcher, E_TYPE_REMINDER_WATCHER, EReminderWatcherPrivate); - watcher->priv->cancellable = g_cancellable_new (); -- watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server.calendar", -+ FALSE); -+ watcher->priv->settings = g_settings_new_full(schema, NULL, -+ NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - watcher->priv->scheduled = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_reminder_watcher_free_rd_slist); - watcher->priv->default_zone = icaltimezone_copy (zone); - watcher->priv->timers_enabled = TRUE; -diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c -index dcdc3eed0..fd2e428c2 100644 ---- a/src/camel/camel-cipher-context.c -+++ b/src/camel/camel-cipher-context.c -@@ -1635,7 +1635,20 @@ camel_cipher_can_load_photos (void) - GSettings *settings; - gboolean load_photos; - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - load_photos = g_settings_get_boolean (settings, "camel-cipher-load-photos"); - g_clear_object (&settings); - -diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c -index 1b3362886..f0811b292 100644 ---- a/src/camel/camel-gpg-context.c -+++ b/src/camel/camel-gpg-context.c -@@ -573,7 +573,20 @@ gpg_ctx_get_executable_name (void) - GSettings *settings; - gchar *path; - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - path = g_settings_get_string (settings, "camel-gpg-binary"); - g_clear_object (&settings); - -diff --git a/src/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c -index e0d8b87d6..3a4d5a359 100644 ---- a/src/libedataserver/e-network-monitor.c -+++ b/src/libedataserver/e-network-monitor.c -@@ -255,7 +255,20 @@ e_network_monitor_constructed (GObject *object) - /* Chain up to parent's method. */ - G_OBJECT_CLASS (e_network_monitor_parent_class)->constructed (object); - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - g_settings_bind ( - settings, "network-monitor-gio-name", - object, "gio-name", -diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c -index f0c6f2cbf..0053e3ce6 100644 ---- a/src/libedataserver/e-oauth2-service-google.c -+++ b/src/libedataserver/e-oauth2-service-google.c -@@ -69,7 +69,20 @@ eos_google_read_settings (EOAuth2Service *service, - if (!value) { - GSettings *settings; - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - value = g_settings_get_string (settings, key_name); - g_object_unref (settings); - -diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c -index 687c10d3b..684583c35 100644 ---- a/src/libedataserver/e-oauth2-service-outlook.c -+++ b/src/libedataserver/e-oauth2-service-outlook.c -@@ -70,7 +70,20 @@ eos_outlook_read_settings (EOAuth2Service *service, - if (!value) { - GSettings *settings; - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - value = g_settings_get_string (settings, key_name); - g_object_unref (settings); - -diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c -index 682673c16..436f52d5f 100644 ---- a/src/libedataserver/e-oauth2-service.c -+++ b/src/libedataserver/e-oauth2-service.c -@@ -95,7 +95,20 @@ eos_default_guess_can_process (EOAuth2Service *service, - name_len = strlen (name); - hostname_len = strlen (hostname); - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - values = g_settings_get_strv (settings, "oauth2-services-hint"); - g_object_unref (settings); - -diff --git a/src/libedataserver/e-proxy.c b/src/libedataserver/e-proxy.c -index 883379a60..989353494 100644 ---- a/src/libedataserver/e-proxy.c -+++ b/src/libedataserver/e-proxy.c -@@ -969,8 +969,37 @@ e_proxy_init (EProxy *proxy) - - proxy->priv->type = PROXY_TYPE_SYSTEM; - -- proxy->priv->evolution_proxy_settings = g_settings_new ("org.gnome.evolution.shell.network-config"); -- proxy->priv->proxy_settings = g_settings_new ("org.gnome.system.proxy"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution.shell.network-config", -+ FALSE); -+ proxy->priv->evolution_proxy_settings = g_settings_new_full(schema, -+ NULL, -+ NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@GDS_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.system.proxy", -+ FALSE); -+ proxy->priv->proxy_settings = g_settings_new_full(schema, -+ NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - proxy->priv->proxy_http_settings = g_settings_get_child (proxy->priv->proxy_settings, "http"); - proxy->priv->proxy_https_settings = g_settings_get_child (proxy->priv->proxy_settings, "https"); - proxy->priv->proxy_socks_settings = g_settings_get_child (proxy->priv->proxy_settings, "socks"); -diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c -index a5a30a3e1..5fbdf8190 100644 ---- a/src/libedataserver/e-source-registry.c -+++ b/src/libedataserver/e-source-registry.c -@@ -1749,7 +1749,21 @@ e_source_registry_init (ESourceRegistry *registry) - - g_mutex_init (®istry->priv->sources_lock); - -- registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ GSETTINGS_SCHEMA, -+ FALSE); -+ registry->priv->settings = g_settings_new_full(schema, NULL, -+ NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - - g_signal_connect ( - registry->priv->settings, "changed", -diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c -index f89cd4a5c..06cca9b5f 100644 ---- a/src/libedataserverui/e-reminders-widget.c -+++ b/src/libedataserverui/e-reminders-widget.c -@@ -1650,7 +1650,21 @@ static void - e_reminders_widget_init (ERemindersWidget *reminders) - { - reminders->priv = e_reminders_widget_get_instance_private (reminders); -- reminders->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server.calendar", -+ FALSE); -+ reminders->priv->settings = g_settings_new_full(schema, NULL, -+ NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - reminders->priv->cancellable = g_cancellable_new (); - reminders->priv->is_empty = TRUE; - reminders->priv->is_mapped = FALSE; -diff --git a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c -index 6f03053d6..dffc186c7 100644 ---- a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c -+++ b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c -@@ -706,7 +706,20 @@ evolution_source_registry_merge_autoconfig_sources (ESourceRegistryServer *serve - gchar *autoconfig_directory; - gint ii; - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - - autoconfig_sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_autoconfig_free_merge_source_data); - -diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c -index d531cb9e2..c5b1c761c 100644 ---- a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c -+++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c -@@ -61,7 +61,20 @@ evolution_source_registry_migrate_proxies (ESourceRegistryServer *server) - extension_name = E_SOURCE_EXTENSION_PROXY; - extension = e_source_get_extension (source, extension_name); - -- settings = g_settings_new (NETWORK_CONFIG_SCHEMA_ID); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ NETWORK_CONFIG_SCHEMA_ID, -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - - switch (g_settings_get_int (settings, "proxy-type")) { - case 1: -diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c -index 1c0a11382..3e144845e 100644 ---- a/src/services/evolution-source-registry/evolution-source-registry.c -+++ b/src/services/evolution-source-registry/evolution-source-registry.c -@@ -181,7 +181,20 @@ main (gint argc, - - reload: - -- settings = g_settings_new ("org.gnome.evolution-data-server"); -+ { -+ GSettingsSchemaSource *schema_source; -+ GSettingsSchema *schema; -+ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", -+ g_settings_schema_source_get_default(), -+ TRUE, -+ NULL); -+ schema = g_settings_schema_source_lookup(schema_source, -+ "org.gnome.evolution-data-server", -+ FALSE); -+ settings = g_settings_new_full(schema, NULL, NULL); -+ g_settings_schema_source_unref(schema_source); -+ g_settings_schema_unref(schema); -+ } - - if (!opt_disable_migration && !g_settings_get_boolean (settings, "migrated")) { - g_settings_set_boolean (settings, "migrated", TRUE); diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix deleted file mode 100644 index 6c1db6cebd9..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/default.nix +++ /dev/null @@ -1,180 +0,0 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, substituteAll -, meson -, ninja -, python3 -, rsync -, pkg-config -, glib -, itstool -, libxml2 -, xorg -, accountsservice -, libX11 -, gnome3 -, systemd -, dconf -, gtk3 -, libcanberra-gtk3 -, pam -, libselinux -, keyutils -, audit -, gobject-introspection -, plymouth -, librsvg -, coreutils -, xwayland -, dbus -, nixos-icons -}: - -let - - override = substituteAll { - src = ./org.gnome.login-screen.gschema.override; - icon = "${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg"; - }; - -in - -stdenv.mkDerivation rec { - pname = "gdm"; - version = "40.0"; - - outputs = [ "out" "dev" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "XtdLc506Iy/7HkoTK8+WW9/pVdmVtSh3NYh3WwLylQ4="; - }; - - mesonFlags = [ - "-Dgdm-xsession=true" - # TODO: Setup a default-path? https://gitlab.gnome.org/GNOME/gdm/-/blob/6fc40ac6aa37c8ad87c32f0b1a5d813d34bf7770/meson_options.txt#L6 - "-Dinitial-vt=${passthru.initialVT}" - "-Dudev-dir=${placeholder "out"}/lib/udev/rules.d" - "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" - "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" - "--sysconfdir=/etc" - "--localstatedir=/var" - ]; - - nativeBuildInputs = [ - dconf - glib # for glib-compile-schemas - itstool - meson - ninja - pkg-config - python3 - rsync - ]; - - buildInputs = [ - accountsservice - audit - glib - gobject-introspection - gtk3 - keyutils - libX11 - libcanberra-gtk3 - libselinux - pam - plymouth - systemd - xorg.libXdmcp - ]; - - patches = [ - # GDM fails to find g-s with the following error in the journal. - # gdm-x-session[976]: dbus-run-session: failed to exec 'gnome-session': No such file or directory - # https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/92 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gdm/-/commit/ccecd9c975d04da80db4cd547b67a1a94fa83292.patch"; - sha256 = "5hKS9wjjhuSAYwXct5vS0dPbmPRIINJoLC0Zm1naz6Q="; - revert = true; - }) - - # Change hardcoded paths to nix store paths. - (substituteAll { - src = ./fix-paths.patch; - inherit coreutils plymouth xwayland dbus; - }) - - # The following patches implement certain environment variables in GDM which are set by - # the gdm configuration module (nixos/modules/services/x11/display-managers/gdm.nix). - - ./gdm-x-session_extra_args.patch - - # Allow specifying a wrapper for running the session command. - ./gdm-x-session_session-wrapper.patch - - # Forwards certain environment variables to the gdm-x-session child process - # to ensure that the above two patches actually work. - ./gdm-session-worker_forward-vars.patch - - # Set up the environment properly when launching sessions - # https://github.com/NixOS/nixpkgs/issues/48255 - ./reset-environment.patch - ]; - - postPatch = '' - patchShebangs build-aux/meson_post_install.py - - # Upstream checks some common paths to find an `X` binary. We already know it. - echo #!/bin/sh > build-aux/find-x-server.sh - echo "echo ${lib.getBin xorg.xorgserver}/bin/X" >> build-aux/find-x-server.sh - patchShebangs build-aux/find-x-server.sh - ''; - - preInstall = '' - install -D ${override} ${DESTDIR}/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override - ''; - - postInstall = '' - # Move stuff from DESTDIR to proper location. - # We use rsync to merge the directories. - rsync --archive "${DESTDIR}/etc" "$out" - rm --recursive "${DESTDIR}/etc" - for o in $outputs; do - rsync --archive "${DESTDIR}/''${!o}" "$(dirname "''${!o}")" - rm --recursive "${DESTDIR}/''${!o}" - done - # Ensure the DESTDIR is removed. - rmdir "${DESTDIR}/nix/store" "${DESTDIR}/nix" "${DESTDIR}" - - # We are setting DESTDIR so the post-install script does not compile the schemas. - glib-compile-schemas "$out/share/glib-2.0/schemas" - ''; - - # HACK: We want to install configuration files to $out/etc - # but GDM should read them from /etc on a NixOS system. - # With autotools, it was possible to override Make variables - # at install time but Meson does not support this - # so we need to convince it to install all files to a temporary - # location using DESTDIR and then move it to proper one in postInstall. - DESTDIR = "${placeholder "out"}/dest"; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gdm"; - attrPath = "gnome3.gdm"; - }; - - # Used in GDM NixOS module - # Don't remove. - initialVT = "7"; - }; - - meta = with lib; { - description = "A program that manages graphical display servers and handles graphical user logins"; - homepage = "https://wiki.gnome.org/Projects/GDM"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch b/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch deleted file mode 100644 index d649556fe9e..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/fix-paths.patch +++ /dev/null @@ -1,82 +0,0 @@ ---- a/daemon/gdm-local-display-factory.c -+++ b/daemon/gdm-local-display-factory.c -@@ -201,7 +201,7 @@ - #ifdef ENABLE_WAYLAND_SUPPORT - gboolean wayland_enabled = FALSE; - if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) { -- if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) -+ if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) - return TRUE; - } - #endif ---- a/daemon/gdm-manager.c -+++ b/daemon/gdm-manager.c -@@ -145,7 +145,7 @@ - GError *error; - - error = NULL; -- res = g_spawn_command_line_sync ("plymouth --ping", -+ res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth --ping", - NULL, NULL, &status, &error); - if (! res) { - g_debug ("Could not ping plymouth: %s", error->message); -@@ -163,7 +163,7 @@ - GError *error; - - error = NULL; -- res = g_spawn_command_line_sync ("plymouth deactivate", -+ res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth deactivate", - NULL, NULL, NULL, &error); - if (! res) { - g_warning ("Could not deactivate plymouth: %s", error->message); -@@ -178,7 +178,7 @@ - GError *error; - - error = NULL; -- res = g_spawn_command_line_async ("plymouth quit --retain-splash", &error); -+ res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit --retain-splash", &error); - if (! res) { - g_warning ("Could not quit plymouth: %s", error->message); - g_error_free (error); -@@ -194,7 +194,7 @@ - GError *error; - - error = NULL; -- res = g_spawn_command_line_async ("plymouth quit", &error); -+ res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit", &error); - if (! res) { - g_warning ("Could not quit plymouth: %s", error->message); - g_error_free (error); ---- a/data/gdm.service.in -+++ b/data/gdm.service.in -@@ -26,7 +26,7 @@ Restart=always - IgnoreSIGPIPE=no - BusName=org.gnome.DisplayManager - EnvironmentFile=-${LANG_CONFIG_FILE} --ExecReload=/bin/kill -SIGHUP $MAINPID -+ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID - KeyringMode=shared - - [Install] ---- a/daemon/gdm-session.c -+++ b/daemon/gdm-session.c -@@ -2916,16 +2916,16 @@ gdm_session_start_session (GdmSession *self, - */ - if (run_launcher) { - if (is_x11) { -- program = g_strdup_printf (LIBEXECDIR "/gdm-x-session %s\"dbus-run-session -- %s\"", -+ program = g_strdup_printf (LIBEXECDIR "/gdm-x-session %s\"@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s\"", - register_session ? "--register-session " : "", - self->selected_program); - } else { -- program = g_strdup_printf (LIBEXECDIR "/gdm-wayland-session %s\"dbus-run-session -- %s\"", -+ program = g_strdup_printf (LIBEXECDIR "/gdm-wayland-session %s\"@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s\"", - register_session ? "--register-session " : "", - self->selected_program); - } - } else { -- program = g_strdup_printf ("dbus-run-session -- %s", -+ program = g_strdup_printf ("@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s", - self->selected_program); - } - } diff --git a/pkgs/desktops/gnome-3/core/gdm/gdm-session-worker_forward-vars.patch b/pkgs/desktops/gnome-3/core/gdm/gdm-session-worker_forward-vars.patch deleted file mode 100644 index 401b6aea0c2..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/gdm-session-worker_forward-vars.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c -index 9ef4c5b..94da834 100644 ---- a/daemon/gdm-session-worker.c -+++ b/daemon/gdm-session-worker.c -@@ -1515,6 +1515,16 @@ gdm_session_worker_load_env_d (GdmSessionWorker *worker) - g_object_unref (dir); - } - -+static void -+gdm_session_worker_forward_var (GdmSessionWorker *worker, char const *var) -+{ -+ char const *value = g_getenv(var); -+ if (value != NULL) { -+ g_debug ("forwarding %s= %s", var, value); -+ gdm_session_worker_set_environment_variable(worker, var, value); -+ } -+} -+ - static gboolean - gdm_session_worker_accredit_user (GdmSessionWorker *worker, - GError **error) -@@ -1559,6 +1569,9 @@ gdm_session_worker_accredit_user (GdmSessionWorker *worker, - goto out; - } - -+ gdm_session_worker_forward_var(worker, "GDM_X_SERVER_EXTRA_ARGS"); -+ gdm_session_worker_forward_var(worker, "GDM_X_SESSION_WRAPPER"); -+ - gdm_session_worker_update_environment_from_passwd_info (worker, - uid, - gid, diff --git a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_extra_args.patch b/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_extra_args.patch deleted file mode 100644 index 66071aa4af8..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_extra_args.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/daemon/gdm-x-session.c.orig b/daemon/gdm-x-session.c -index d835b34..1f4b7f1 100644 ---- a/daemon/gdm-x-session.c.orig -+++ b/daemon/gdm-x-session.c -@@ -211,6 +211,7 @@ spawn_x_server (State *state, - char *vt_string = NULL; - char *display_number; - gsize display_number_size; -+ gchar **xserver_extra_args = NULL; - - auth_file = prepare_auth_file (); - -@@ -285,6 +286,17 @@ spawn_x_server (State *state, - if (state->debug_enabled) { - g_ptr_array_add (arguments, "-core"); - } -+ -+ if (g_getenv ("GDM_X_SERVER_EXTRA_ARGS") != NULL) { -+ g_debug ("using GDM_X_SERVER_EXTRA_ARGS: %s", g_getenv("GDM_X_SERVER_EXTRA_ARGS")); -+ xserver_extra_args = g_strsplit(g_getenv("GDM_X_SERVER_EXTRA_ARGS"), " ", -1); -+ for (gchar **extra_arg = xserver_extra_args; *extra_arg; extra_arg++) { -+ if (strlen(*extra_arg) < 1) continue; -+ g_debug ("adding: %s", *extra_arg); -+ g_ptr_array_add (arguments, *extra_arg); -+ } -+ } -+ - g_ptr_array_add (arguments, NULL); - - subprocess = g_subprocess_launcher_spawnv (launcher, -@@ -332,6 +344,7 @@ spawn_x_server (State *state, - - is_running = TRUE; - out: -+ g_strfreev(xserver_extra_args); - g_clear_pointer (&auth_file, g_free); - g_clear_object (&data_stream); - g_clear_object (&subprocess); diff --git a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_session-wrapper.patch b/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_session-wrapper.patch deleted file mode 100644 index 58481f0730f..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/gdm-x-session_session-wrapper.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c -index 88fe96f..b1b140a 100644 ---- a/daemon/gdm-x-session.c -+++ b/daemon/gdm-x-session.c -@@ -664,18 +664,34 @@ spawn_session (State *state, - state->session_command, - NULL); - } else { -+ char const *session_wrapper; -+ char *eff_session_command; - int ret; - char **argv; - -- ret = g_shell_parse_argv (state->session_command, -+ session_wrapper = g_getenv("GDM_X_SESSION_WRAPPER"); -+ if (session_wrapper != NULL) { -+ char *quoted_wrapper = g_shell_quote(session_wrapper); -+ eff_session_command = g_strjoin(" ", quoted_wrapper, state->session_command, NULL); -+ g_free(quoted_wrapper); -+ } else { -+ eff_session_command = state->session_command; -+ } -+ -+ ret = g_shell_parse_argv (eff_session_command, - NULL, - &argv, - &error); - -+ if (session_wrapper != NULL) { -+ g_free(eff_session_command); -+ } -+ - if (!ret) { - g_debug ("could not parse session arguments: %s", error->message); - goto out; - } -+ - subprocess = g_subprocess_launcher_spawnv (launcher, - (const char * const *) argv, - &error); diff --git a/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override b/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override deleted file mode 100644 index 8c17f494b0f..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/org.gnome.login-screen.gschema.override +++ /dev/null @@ -1,2 +0,0 @@ -[org.gnome.login-screen] -logo='@icon@' diff --git a/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch b/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch deleted file mode 100644 index 61defd9c4bc..00000000000 --- a/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/daemon/gdm-wayland-session.c -+++ b/daemon/gdm-wayland-session.c -@@ -285,6 +285,7 @@ spawn_session (State *state, - "WAYLAND_DISPLAY", - "WAYLAND_SOCKET", - "GNOME_SHELL_SESSION_MODE", -+ "__NIXOS_SET_ENVIRONMENT_DONE", - NULL }; - - g_debug ("Running wayland session"); ---- a/daemon/gdm-x-session.c -+++ b/daemon/gdm-x-session.c -@@ -610,6 +610,7 @@ spawn_session (State *state, - "WAYLAND_DISPLAY", - "WAYLAND_SOCKET", - "GNOME_SHELL_SESSION_MODE", -+ "__NIXOS_SET_ENVIRONMENT_DONE", - NULL }; - - g_debug ("Running X session"); diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix deleted file mode 100644 index 2ce52911595..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome3, gettext }: - -stdenv.mkDerivation rec { - pname = "gnome-backgrounds"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-backgrounds/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "YN+KDaMBzkJbcEPUKuMuxAEf8I8Y4Pxi8pQBMF2jpw4="; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-backgrounds"; attrPath = "gnome3.gnome-backgrounds"; }; - }; - - nativeBuildInputs = [ meson ninja pkg-config gettext ]; - - meta = with lib; { - platforms = platforms.unix; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix deleted file mode 100644 index e057cc61da8..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-bluetooth/default.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ lib -, stdenv -, fetchurl -, gnome3 -, meson -, ninja -, pkg-config -, gtk3 -, gettext -, glib -, udev -, itstool -, libxml2 -, wrapGAppsHook -, libnotify -, libcanberra-gtk3 -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, docbook_xml_dtd_43 -, python3 -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-bluetooth"; - version = "3.34.5"; - - # TODO: split out "lib" - outputs = [ "out" "dev" "devdoc" "man" ]; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"; - }; - - nativeBuildInputs = [ - meson - ninja - gettext - itstool - pkg-config - libxml2 - wrapGAppsHook - gobject-introspection - gtk-doc - docbook-xsl-nons - docbook_xml_dtd_43 - python3 - ]; - - buildInputs = [ - glib - gtk3 - udev - libnotify - libcanberra-gtk3 - gnome3.adwaita-icon-theme - gsettings-desktop-schemas - ]; - - mesonFlags = [ - "-Dicon_update=false" - "-Dgtk_doc=true" - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en"; - description = "Application that let you manage Bluetooth in the GNOME destkop"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix deleted file mode 100644 index 4bf317a4a26..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ stdenv -, lib -, meson -, ninja -, vala -, gettext -, itstool -, fetchurl -, pkg-config -, libxml2 -, gtk3 -, glib -, gtksourceview4 -, wrapGAppsHook -, gobject-introspection -, python3 -, gnome3 -, mpfr -, gmp -, libsoup -, libmpc -, libhandy -, gsettings-desktop-schemas -, libgee -}: - -stdenv.mkDerivation rec { - pname = "gnome-calculator"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1xkazxbkpn1z5pfphhps7fc5q4yc8lp7f6b222n8bx5iyxhwbrkz"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - gettext - itstool - wrapGAppsHook - python3 - gobject-introspection # for finding vapi files - ]; - - buildInputs = [ - gtk3 - glib - libxml2 - gtksourceview4 - mpfr - gmp - gnome3.adwaita-icon-theme - libgee - gsettings-desktop-schemas - libsoup - libmpc - libhandy - ]; - - doCheck = true; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - preCheck = '' - # Currency conversion test tries to store currency data in $HOME/.cache. - export HOME=$TMPDIR - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-calculator"; - attrPath = "gnome3.gnome-calculator"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Calculator"; - description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix deleted file mode 100644 index 73db99f3d37..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, itstool -, desktop-file-utils -, gnome3 -, glib -, gtk3 -, libexif -, libtiff -, colord -, colord-gtk -, libcanberra-gtk3 -, lcms2 -, vte -, exiv2 -}: - -stdenv.mkDerivation rec { - pname = "gnome-color-manager"; - version = "3.32.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - desktop-file-utils - ]; - - buildInputs = [ - glib - gtk3 - libexif - libtiff - colord - colord-gtk - libcanberra-gtk3 - lcms2 - vte - exiv2 - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "A set of graphical utilities for color management to be used in the GNOME desktop"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-common/default.nix b/pkgs/desktops/gnome-3/core/gnome-common/default.nix deleted file mode 100644 index 53e3ed47ebe..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-common/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, stdenv, fetchurl, which, gnome3, autoconf, automake }: - -stdenv.mkDerivation rec { - pname = "gnome-common"; - version = "3.18.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-common/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-common"; attrPath = "gnome3.gnome-common"; }; - }; - - patches = [(fetchurl { - name = "gnome-common-patch"; - url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; - sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; - })]; - - propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome-common tends to require which - - meta = with lib; { - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix deleted file mode 100644 index 3146ca717d3..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ lib, stdenv -, gettext -, fetchurl -, evolution-data-server -, pkg-config -, libxslt -, docbook_xsl -, docbook_xml_dtd_42 -, python3 -, gtk3 -, glib -, cheese -, libchamplain -, clutter-gtk -, geocode-glib -, gnome-desktop -, gnome-online-accounts -, wrapGAppsHook -, folks -, libgdata -, libxml2 -, gnome3 -, vala -, meson -, ninja -, libhandy -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-contacts"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-contacts/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0w2g5xhw65adzvwzakrj5kaim4sw1w7s8qqwm3nm6inq50znzpn9"; - }; - - propagatedUserEnvPkgs = [ - evolution-data-server - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - gettext - libxslt - docbook_xsl - docbook_xml_dtd_42 - python3 - wrapGAppsHook - ]; - - buildInputs = [ - gtk3 - glib - evolution-data-server - gsettings-desktop-schemas - folks - libgdata # required by some dependency transitively - gnome-desktop - libhandy - libxml2 - gnome-online-accounts - cheese - gnome3.adwaita-icon-theme - libchamplain - clutter-gtk - geocode-glib - ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-contacts"; - attrPath = "gnome3.gnome-contacts"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Contacts"; - description = "GNOME’s integrated address book"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix deleted file mode 100644 index 371f2d794a0..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ /dev/null @@ -1,190 +0,0 @@ -{ fetchurl -, fetchpatch -, lib -, stdenv -, substituteAll -, accountsservice -, adwaita-icon-theme -, cheese -, clutter -, clutter-gtk -, colord -, colord-gtk -, cups -, docbook-xsl-nons -, fontconfig -, gdk-pixbuf -, gettext -, glib -, glib-networking -, glibc -, gnome-bluetooth -, gnome-color-manager -, gnome-desktop -, gnome-online-accounts -, gnome-settings-daemon -, gnome3 -, grilo -, grilo-plugins -, gsettings-desktop-schemas -, gsound -, gtk3 -, ibus -, libcanberra-gtk3 -, libgnomekbd -, libgtop -, libgudev -, libhandy -, libkrb5 -, libpulseaudio -, libpwquality -, librsvg -, libsecret -, libsoup -, libwacom -, libxml2 -, libxslt -, meson -, modemmanager -, mutter -, networkmanager -, networkmanagerapplet -, libnma -, ninja -, pkg-config -, polkit -, python3 -, samba -, shared-mime-info -, sound-theme-freedesktop -, tracker -, tracker-miners -, tzdata -, udisks2 -, upower -, epoxy -, gnome-user-share -, gnome-remote-desktop -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "gnome-control-center"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-zMmlc2UXOFEJrlpZkGwlgkTdh5t1A61ZhM9BZVyzAvE="; - }; - - patches = [ - (substituteAll { - src = ./paths.patch; - gcm = gnome-color-manager; - gnome_desktop = gnome-desktop; - inherit glibc libgnomekbd tzdata; - inherit cups networkmanagerapplet; - }) - - # Fix startup assertion in power panel. - # https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/974 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/9acaa10567c94048657c69538e5d7813f82c4224.patch"; - sha256 = "59GeTPcG2UiVTL4VTS/TP0p0QkAQpm3VgvuAiw64wUU="; - }) - ]; - - nativeBuildInputs = [ - docbook-xsl-nons - gettext - libxslt - meson - ninja - pkg-config - python3 - shared-mime-info - wrapGAppsHook - ]; - - buildInputs = [ - accountsservice - adwaita-icon-theme - cheese - clutter - clutter-gtk - colord - colord-gtk - epoxy - fontconfig - gdk-pixbuf - glib - glib-networking - gnome-bluetooth - gnome-desktop - gnome-online-accounts - gnome-remote-desktop # optional, sharing panel - gnome-settings-daemon - gnome-user-share # optional, sharing panel - grilo - grilo-plugins # for setting wallpaper from Flickr - gsettings-desktop-schemas - gsound - gtk3 - ibus - libcanberra-gtk3 - libgtop - libgudev - libhandy - libkrb5 - libnma - libpulseaudio - libpwquality - librsvg - libsecret - libsoup - libwacom - libxml2 - modemmanager - mutter # schemas for the keybindings - networkmanager - polkit - samba - tracker - tracker-miners # for search locations dialog - udisks2 - upower - ]; - - postPatch = '' - chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file - patchShebangs build-aux/meson/meson_post_install.py - ''; - - preFixup = '' - gappsWrapperArgs+=( - --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" - # Thumbnailers (for setting user profile pictures) - --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" - --prefix XDG_DATA_DIRS : "${librsvg}/share" - # WM keyboard shortcuts - --prefix XDG_DATA_DIRS : "${mutter}/share" - ) - for i in $out/share/applications/*; do - substituteInPlace $i --replace "Exec=gnome-control-center" "Exec=$out/bin/gnome-control-center" - done - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "Utilities to configure the GNOME desktop"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch deleted file mode 100644 index a6787477b81..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/paths.patch +++ /dev/null @@ -1,194 +0,0 @@ -diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c -index 603178efc..c363a6a5c 100644 ---- a/panels/color/cc-color-panel.c -+++ b/panels/color/cc-color-panel.c -@@ -591,7 +591,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *prefs) - - /* run with modal set */ - argv = g_ptr_array_new_with_free_func (g_free); -- g_ptr_array_add (argv, g_strdup ("gcm-calibrate")); -+ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-calibrate", NULL)); - g_ptr_array_add (argv, g_strdup ("--device")); - g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device))); - g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1029,7 +1029,7 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile) - - /* open up gcm-viewer as a info pane */ - argv = g_ptr_array_new_with_free_func (g_free); -- g_ptr_array_add (argv, g_strdup ("gcm-viewer")); -+ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-viewer", NULL)); - g_ptr_array_add (argv, g_strdup ("--profile")); - g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile))); - g_ptr_array_add (argv, g_strdup ("--parent-window")); -@@ -1275,15 +1275,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device) - static void - gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device) - { -- g_autofree gchar *s = NULL; -- - /* get profile */ - g_debug ("selected profile = %s", - cd_profile_get_filename (profile)); - - /* allow getting profile info */ -- if (cd_profile_get_filename (profile) != NULL && -- (s = g_find_program_in_path ("gcm-viewer")) != NULL) -+ if (cd_profile_get_filename (profile) != NULL) - gtk_widget_set_sensitive (prefs->toolbutton_profile_view, TRUE); - else - gtk_widget_set_sensitive (prefs->toolbutton_profile_view, FALSE); -diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h -index a2376f8a4..98769e08f 100644 ---- a/panels/datetime/tz.h -+++ b/panels/datetime/tz.h -@@ -27,11 +27,7 @@ - - G_BEGIN_DECLS - --#ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" --#else --# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" --#endif -+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - - typedef struct _TzDB TzDB; - typedef struct _TzLocation TzLocation; -diff --git a/panels/info-overview/cc-info-overview-panel.c b/panels/info-overview/cc-info-overview-panel.c -index bd0e07762..0e71351f8 100644 ---- a/panels/info-overview/cc-info-overview-panel.c -+++ b/panels/info-overview/cc-info-overview-panel.c -@@ -172,7 +172,7 @@ load_gnome_version (char **version, - gsize length; - g_autoptr(VersionData) data = NULL; - -- if (!g_file_get_contents (DATADIR "/gnome/gnome-version.xml", -+ if (!g_file_get_contents ("@gnome_desktop@/share/gnome/gnome-version.xml", - &contents, - &length, - &error)) -diff --git a/panels/keyboard/cc-input-list-box.c b/panels/keyboard/cc-input-list-box.c -index 6c2cb5614..8f57159cc 100644 ---- a/panels/keyboard/cc-input-list-box.c -+++ b/panels/keyboard/cc-input-list-box.c -@@ -223,10 +223,10 @@ row_layout_cb (CcInputListBox *self, - layout_variant = cc_input_source_get_layout_variant (source); - - if (layout_variant && layout_variant[0]) -- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", -+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", - layout, layout_variant); - else -- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", -+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", - layout); - - g_spawn_command_line_async (commandline, NULL); -diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c -index 505b8ee25..62e94009f 100644 ---- a/panels/network/connection-editor/net-connection-editor.c -+++ b/panels/network/connection-editor/net-connection-editor.c -@@ -267,9 +267,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type) - g_autoptr(GError) error = NULL; - - if (self->is_new_connection) { -- cmdline = g_strdup_printf ("nm-connection-editor --type='%s' --create", type); -+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --type='%s' --create", type); - } else { -- cmdline = g_strdup_printf ("nm-connection-editor --edit='%s'", -+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit='%s'", - nm_connection_get_uuid (self->connection)); - } - -diff --git a/panels/network/net-device-bluetooth.c b/panels/network/net-device-bluetooth.c -index 74dfb0e9a..5f53d1a20 100644 ---- a/panels/network/net-device-bluetooth.c -+++ b/panels/network/net-device-bluetooth.c -@@ -90,7 +90,7 @@ nm_device_bluetooth_refresh_ui (NetDeviceBluetooth *self) - update_off_switch_from_device_state (self->device_off_switch, state, self); - - /* set up the Options button */ -- path = g_find_program_in_path ("nm-connection-editor"); -+ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); - gtk_widget_set_visible (GTK_WIDGET (self->options_button), state != NM_DEVICE_STATE_UNMANAGED && path != NULL); - } - -@@ -141,7 +141,7 @@ options_button_clicked_cb (NetDeviceBluetooth *self) - - connection = net_device_get_find_connection (self->client, self->device); - uuid = nm_connection_get_uuid (connection); -- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); -+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); - g_debug ("Launching '%s'\n", cmdline); - if (!g_spawn_command_line_async (cmdline, &error)) - g_warning ("Failed to launch nm-connection-editor: %s", error->message); -@@ -185,7 +185,7 @@ net_device_bluetooth_init (NetDeviceBluetooth *self) - - gtk_widget_init_template (GTK_WIDGET (self)); - -- path = g_find_program_in_path ("nm-connection-editor"); -+ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); - gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); - } - -diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c -index 34eb86241..50d0a2bed 100644 ---- a/panels/network/net-device-mobile.c -+++ b/panels/network/net-device-mobile.c -@@ -508,7 +508,7 @@ options_button_clicked_cb (NetDeviceMobile *self) - - connection = net_device_get_find_connection (self->client, self->device); - uuid = nm_connection_get_uuid (connection); -- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); -+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); - g_debug ("Launching '%s'\n", cmdline); - if (!g_spawn_command_line_async (cmdline, &error)) - g_warning ("Failed to launch nm-connection-editor: %s", error->message); -@@ -797,7 +797,7 @@ net_device_mobile_init (NetDeviceMobile *self) - - self->cancellable = g_cancellable_new (); - -- path = g_find_program_in_path ("nm-connection-editor"); -+ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); - gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); - } - -diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c -index a31a606e3..ed5133d29 100644 ---- a/panels/printers/pp-host.c -+++ b/panels/printers/pp-host.c -@@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask *task, - devices = g_ptr_array_new_with_free_func (g_object_unref); - - argv = g_new0 (gchar *, 3); -- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); -+ argv[0] = g_strdup ("@cups@/lib/cups/backend/snmp"); - argv[1] = g_strdup (priv->hostname); - - /* Use SNMP to get printer's informations */ -diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c -index 86f53d4fc..0b052856f 100644 ---- a/panels/user-accounts/run-passwd.c -+++ b/panels/user-accounts/run-passwd.c -@@ -150,7 +150,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error) - gchar **envp; - gint my_stdin, my_stdout, my_stderr; - -- argv[0] = "/usr/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ -+ argv[0] = "/run/wrappers/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ - argv[1] = NULL; - - envp = g_get_environ (); -diff --git a/tests/datetime/test-endianess.c b/tests/datetime/test-endianess.c -index 9cb92007a..84d2f0fa3 100644 ---- a/tests/datetime/test-endianess.c -+++ b/tests/datetime/test-endianess.c -@@ -26,7 +26,7 @@ test_endianess (void) - g_autoptr(GDir) dir = NULL; - const char *name; - -- dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL); -+ dir = g_dir_open ("@glibc@/share/i18n/locales/", 0, NULL); - if (dir == NULL) { - /* Try with /usr/share/locale/ - * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */ diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch deleted file mode 100644 index 57eb4b3d44a..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/bubblewrap-paths.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libgnome-desktop/gnome-desktop-thumbnail-script.c -+++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c -@@ -536,9 +536,9 @@ add_bwrap (GPtrArray *array, - g_return_val_if_fail (script->s_infile != NULL, FALSE); - - add_args (array, -- "bwrap", -- "--ro-bind", "/usr", "/usr", -- "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache", -+ "@bubblewrap_bin@", -+ "--ro-bind", "@storeDir@", "@storeDir@", -+ "--ro-bind", "/run/current-system", "/run/current-system", - NULL); - - /* These directories might be symlinks into /usr/... */ diff --git a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix deleted file mode 100644 index 4294e2db240..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, pkg-config -, libxslt -, ninja -, gnome3 -, gtk3 -, glib -, gettext -, libxml2 -, xkeyboard_config -, libxkbcommon -, isocodes -, meson -, wayland -, libseccomp -, systemd -, bubblewrap -, gobject-introspection -, gtk-doc -, docbook-xsl-nons -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-desktop"; - version = "40.1"; - - outputs = [ "out" "dev" "devdoc" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-igeJcwUhnFaZVJriBI9xVVFe+Xx85NZYXd2hXVhZ4c8="; - }; - - patches = [ - (substituteAll { - src = ./bubblewrap-paths.patch; - bubblewrap_bin = "${bubblewrap}/bin/bwrap"; - inherit (builtins) storeDir; - }) - ]; - - nativeBuildInputs = [ - pkg-config - meson - ninja - gettext - libxslt - libxml2 - gobject-introspection - gtk-doc - docbook-xsl-nons - glib - ]; - - buildInputs = [ - bubblewrap - xkeyboard_config - libxkbcommon # for xkbregistry - isocodes - wayland - gtk3 - glib - libseccomp - systemd - ]; - - propagatedBuildInputs = [ - gsettings-desktop-schemas - ]; - - mesonFlags = [ - "-Dgtk_doc=true" - "-Ddesktop_docs=false" - ]; - - separateDebugInfo = stdenv.isLinux; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-desktop"; - attrPath = "gnome3.gnome-desktop"; - }; - }; - - meta = with lib; { - description = "Library with common API for various GNOME modules"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-desktop"; - license = with licenses; [ gpl2Plus lgpl2Plus ]; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix deleted file mode 100644 index 8ff4145a271..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, desktop-file-utils, appstream-glib, libxslt -, libxml2, gettext, itstool, wrapGAppsHook, docbook_xsl, docbook_xml_dtd_43 -, gnome3, gtk3, glib, gsettings-desktop-schemas }: - -stdenv.mkDerivation rec { - pname = "gnome-dictionary"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-dictionary/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f"; - }; - - doCheck = true; - - nativeBuildInputs = [ - meson ninja pkg-config wrapGAppsHook libxml2 gettext itstool - desktop-file-utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43 - ]; - buildInputs = [ gtk3 glib gsettings-desktop-schemas gnome3.adwaita-icon-theme ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-dictionary"; - attrPath = "gnome3.gnome-dictionary"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Dictionary"; - description = "Dictionary is the GNOME application to look up definitions"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix deleted file mode 100644 index 87b89c3a05b..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix +++ /dev/null @@ -1,85 +0,0 @@ -{ lib -, stdenv -, gettext -, fetchurl -, pkg-config -, udisks2 -, libhandy -, libsecret -, libdvdread -, meson -, ninja -, gtk3 -, glib -, wrapGAppsHook -, python3 -, libnotify -, itstool -, gnome3 -, libxml2 -, gsettings-desktop-schemas -, libcanberra-gtk3 -, libxslt -, docbook-xsl-nons -, libpwquality -, systemd -}: - -stdenv.mkDerivation rec { - pname = "gnome-disk-utility"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-KkuZrBHKIzlLKMVYS56WKE6MWk2mXPBiB95U9Csf8UE="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - libxslt - docbook-xsl-nons - wrapGAppsHook - python3 - libxml2 - ]; - - buildInputs = [ - gtk3 - glib - libhandy - libsecret - libpwquality - libnotify - libdvdread - libcanberra-gtk3 - udisks2 - gnome3.adwaita-icon-theme - systemd - gnome3.gnome-settings-daemon - gsettings-desktop-schemas - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-disk-utility"; - attrPath = "gnome3.gnome-disk-utility"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Disks"; - description = "A udisks graphical front-end"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix deleted file mode 100644 index 6e9b6d22f57..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, meson, ninja, gettext, fetchurl -, pkg-config, gtk3, glib, libxml2, gnome-desktop, adwaita-icon-theme, libhandy -, wrapGAppsHook, gnome3, harfbuzz }: - -stdenv.mkDerivation rec { - pname = "gnome-font-viewer"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-font-viewer/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j"; - }; - - doCheck = true; - - nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook libxml2 ]; - buildInputs = [ gtk3 glib gnome-desktop adwaita-icon-theme harfbuzz libhandy ]; - - # Do not run meson-postinstall.sh - preConfigure = "sed -i '2,$ d' meson-postinstall.sh"; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-font-viewer"; - attrPath = "gnome3.gnome-font-viewer"; - }; - }; - - meta = with lib; { - description = "Program that can preview fonts and create thumbnails for fonts"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/0001-fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-initial-setup/0001-fix-paths.patch deleted file mode 100644 index 23237595225..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-initial-setup/0001-fix-paths.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 1ae0eca39ba6af27f37e2fe81395b91a2761a408 Mon Sep 17 00:00:00 2001 -Message-Id: <1ae0eca39ba6af27f37e2fe81395b91a2761a408.1600627676.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Sun, 20 Sep 2020 14:46:59 -0400 -Subject: [PATCH] fix paths - ---- - gnome-initial-setup/pages/keyboard/cc-input-chooser.c | 6 +++--- - gnome-initial-setup/pages/timezone/tz.h | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c -index 196abf6..613d0e5 100644 ---- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c -+++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c -@@ -177,9 +177,9 @@ preview_cb (GtkLabel *label, - return TRUE; - - if (variant[0]) -- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant); -+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant); - else -- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout); -+ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout); - g_spawn_command_line_async (commandline, NULL); - g_free (commandline); - -@@ -831,7 +831,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass) - g_param_spec_string ("showing-extra", "", "", "", - G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); - -- signals[CHANGED] = -+ signals[CHANGED] = - g_signal_new ("changed", - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_FIRST, -diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h -index a2376f8..5cb7bc9 100644 ---- a/gnome-initial-setup/pages/timezone/tz.h -+++ b/gnome-initial-setup/pages/timezone/tz.h -@@ -4,7 +4,7 @@ - * Copyright (C) 2000-2001 Ximian, Inc. - * - * Authors: Hans Petter Jansson -- * -+ * - * Largely based on Michael Fulbright's work on Anaconda. - * - * This program is free software; you can redistribute it and/or modify -@@ -28,7 +28,7 @@ - G_BEGIN_DECLS - - #ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" -+# define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - #else - # define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" - #endif - -base-commit: 5132e206a6bf81964450561d68473ac015760455 --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix deleted file mode 100644 index 6cf549dc5ca..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-initial-setup/default.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ lib, stdenv -, fetchurl -, substituteAll -, gettext -, meson -, ninja -, pkg-config -, wrapGAppsHook -, gnome3 -, accountsservice -, fontconfig -, gdm -, geoclue2 -, geocode-glib -, glib -, gnome-desktop -, gnome-online-accounts -, gtk3 -, libgweather -, json-glib -, krb5 -, libpwquality -, librest -, libsecret -, networkmanager -, pango -, polkit -, webkitgtk -, systemd -, libnma -, tzdata -, libgnomekbd -, gsettings-desktop-schemas -}: - -stdenv.mkDerivation rec { - pname = "gnome-initial-setup"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "10zf87n6c947k9rkk2rqc9cbfwcvq23axq3rf7x1an7npv3414gi"; - }; - - patches = [ - (substituteAll { - src = ./0001-fix-paths.patch; - inherit tzdata libgnomekbd; - }) - ]; - - nativeBuildInputs = [ - gettext - meson - ninja - pkg-config - systemd - wrapGAppsHook - ]; - - buildInputs = [ - accountsservice - fontconfig - gdm - geoclue2 - geocode-glib - glib - gnome-desktop - gnome-online-accounts - gsettings-desktop-schemas - gtk3 - json-glib - krb5 - libgweather - libnma - libpwquality - librest - libsecret - networkmanager - pango - polkit - webkitgtk - ]; - - mesonFlags = [ - "-Dcheese=disabled" - "-Dibus=disabled" - "-Dparental_controls=disabled" - "-Dvendor-conf-file=${./vendor.conf}" - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "Simple, easy, and safe way to prepare a new system"; - homepage = "https://gitlab.gnome.org/GNOME/gnome-initial-setup"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf b/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf deleted file mode 100644 index a06b37e100e..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-initial-setup/vendor.conf +++ /dev/null @@ -1,5 +0,0 @@ -# Disable pages not right for NixOS -# For example user accounts should be preconfigured -# and we can't modify system time with systemd. -[pages] -skip=account;software;password;timezone; diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix deleted file mode 100644 index 833f58f74a4..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, dbus -, libgcrypt -, pam -, python2 -, glib -, libxslt -, gettext -, gcr -, libcap_ng -, libselinux -, p11-kit -, openssh -, wrapGAppsHook -, docbook-xsl-nons -, docbook_xml_dtd_43 -, gnome3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-keyring"; - version = "40.0"; - - outputs = [ "out" "dev" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-keyring/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0cdrlcw814zayhvlaxqs1sm9bqlfijlp22dzzd0g5zg2isq4vlm3"; - }; - - nativeBuildInputs = [ - pkg-config - gettext - libxslt - docbook-xsl-nons - docbook_xml_dtd_43 - wrapGAppsHook - ]; - - buildInputs = [ - glib - libgcrypt - pam - openssh - libcap_ng - libselinux - gcr - p11-kit - ]; - - # In 3.20.1, tests do not support Python 3 - checkInputs = [ dbus python2 ]; - - configureFlags = [ - "--with-pkcs11-config=${placeholder "out"}/etc/pkcs11/" # installation directories - "--with-pkcs11-modules=${placeholder "out"}/lib/pkcs11/" - ]; - - # Tends to fail non-deterministically. - # - https://github.com/NixOS/nixpkgs/issues/55293 - # - https://github.com/NixOS/nixpkgs/issues/51121 - doCheck = false; - - postPatch = '' - patchShebangs build - ''; - - checkPhase = '' - export HOME=$(mktemp -d) - dbus-run-session \ - --config-file=${dbus.daemon}/share/dbus-1/session.conf \ - make check - ''; - - # Use wrapped gnome-keyring-daemon with cap_ipc_lock=ep - postFixup = '' - files=($out/etc/xdg/autostart/* $out/share/dbus-1/services/*) - - for file in ''${files[*]}; do - substituteInPlace $file \ - --replace "$out/bin/gnome-keyring-daemon" "/run/wrappers/bin/gnome-keyring-daemon" - done - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-keyring"; - attrPath = "gnome3.gnome-keyring"; - }; - }; - - meta = with lib; { - description = "Collection of components in GNOME that store secrets, passwords, keys, certificates and make them available to applications"; - homepage = "https://wiki.gnome.org/Projects/GnomeKeyring"; - license = licenses.gpl2; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix deleted file mode 100644 index 3cc85053bce..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix +++ /dev/null @@ -1,116 +0,0 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, autoconf-archive -, autoreconfHook -, pkg-config -, glib -, gnome3 -, libxml2 -, libgdata -, grilo -, libzapojit -, grilo-plugins -, gnome-online-accounts -, libmediaart -, tracker -, gfbgraph -, librest -, libsoup -, json-glib -, gmp -, openssl -, dleyna-server -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "gnome-online-miners"; - version = "3.34.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-online-miners/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"; - }; - - patches = [ - # Fix use after free - # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/4 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/9eb57c6a8cd1a925c508646edae936eee0a8e46b.patch"; - sha256 = "O1GRnzs33I0mFzrNDFkTGiBKstq5krYg7fwj60367TA="; - }) - - # Port to Tracker 3 - # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/3 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/2d3798252807cad9eb061ed2b37e35170c1a1daf.patch"; - sha256 = "hwrkxroMpTfOwJAPkYQFdDCroZ2qSsvOgDetrJDig20="; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/1548c0c527f0e4389047448d7d3b6cff55278c8e.patch"; - sha256 = "U9w81c9Kze7kv5KHeGqvDeSNHzSayVrUG0XYsYMa1sg="; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/941ebd8890c9ac4f75a1f58ccbea9731f46ad912.patch"; - sha256 = "JHtDlZ54/BlSiUA3ROHfCTtTKSin3g6JNm8NS6pYML8="; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/d1681a64bc3f65894af2549e3ba2bffbaf6f539a.patch"; - sha256 = "9ZEatz5I81UAnjS1qCGWYDQQOxg/qp9Tg3xG/a+3goc="; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/3d2af8785c84d6e50d8a8e6a2569a4b709184e94.patch"; - sha256 = "7bdUE2k6g3Z8sdGYEb6pUm1/wbKDe4BHbylXUzfuTG0="; - }) - ]; - - nativeBuildInputs = [ - # patch changes configure.ac - autoconf-archive - autoreconfHook - - pkg-config - wrapGAppsHook - ]; - - buildInputs = [ - glib - libgdata - libxml2 - libsoup - gmp - openssl - grilo - libzapojit - grilo-plugins - gnome-online-accounts - libmediaart - tracker - gfbgraph - json-glib - librest - dleyna-server - ]; - - NIX_CFLAGS_COMPILE = [ - "-Wno-error=format-security" # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/3/diffs#note_942747 - ]; - - enableParallelBuilding = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-online-miners"; - attrPath = "gnome3.gnome-online-miners"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Projects/GnomeOnlineMiners"; - description = "A set of crawlers that go through your online content and index them locally in Tracker"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix deleted file mode 100644 index 8411b2edecb..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ lib, stdenv -, fetchurl -, cairo -, meson -, ninja -, pkg-config -, python3 -, wrapGAppsHook -, glib -, pipewire -, systemd -, libvncserver -, libsecret -, libnotify -, gdk-pixbuf -, freerdp -}: - -stdenv.mkDerivation rec { - pname = "gnome-remote-desktop"; - version = "0.1.9"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - wrapGAppsHook - ]; - - buildInputs = [ - cairo - freerdp - gdk-pixbuf # For libnotify - glib - libnotify - libsecret - libvncserver - pipewire - systemd - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - mesonFlags = [ - "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user" - ]; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop"; - description = "GNOME Remote Desktop server"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix deleted file mode 100644 index 35e7b1a0b02..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ lib, stdenv, gettext, libxml2, libhandy, fetchurl, pkg-config, libcanberra-gtk3 -, gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils -, gnome3, gsettings-desktop-schemas }: - -let - pname = "gnome-screenshot"; - version = "40.0"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${name}.tar.xz"; - sha256 = "1qm544ymwibk31s30k47vnn79xg30m18r7l4di0c57g375dak31n"; - }; - - doCheck = true; - - postPatch = '' - chmod +x build-aux/postinstall.py # patchShebangs requires executable file - patchShebangs build-aux/postinstall.py - ''; - - nativeBuildInputs = [ meson ninja pkg-config gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ]; - buildInputs = [ - gtk3 glib libcanberra-gtk3 libhandy gnome3.adwaita-icon-theme - gsettings-desktop-schemas - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://en.wikipedia.org/wiki/GNOME_Screenshot"; - description = "Utility used in the GNOME desktop environment for taking screenshots"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-session/ctl.nix b/pkgs/desktops/gnome-3/core/gnome-session/ctl.nix deleted file mode 100644 index 6a274e35bf5..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-session/ctl.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -, meson -, ninja -, pkg-config -, glib -, systemd -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "gnome-session-ctl"; - version = "40.0"; - - src = fetchFromGitHub { - owner = "nix-community"; - repo = pname; - rev = version; - hash = "sha256-gvBmLx8Qoj1vPsOwaZsd9+pTDvU5D7uUts7ZT1pXwNo="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - wrapGAppsHook - ]; - - buildInputs = [ - glib - systemd - ]; - - meta = with lib; { - description = "gnome-session-ctl extracted from gnome-session for nixpkgs"; - homepage = "https://github.com/nix-community/gnome-session-ctl"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix deleted file mode 100644 index 49363568eab..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome3, glib, gtk3, gsettings-desktop-schemas -, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3 -, libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl }: - -stdenv.mkDerivation rec { - pname = "gnome-session"; - version = "40.1.1"; - - outputs = ["out" "sessions"]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "10nzyhmgkrzk6i70kj7690na0hmsv6qy5bmr10akxq9jxqlphy4w"; - }; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - gsettings = "${glib.bin}/bin/gsettings"; - dbusLaunch = "${dbus.lib}/bin/dbus-launch"; - grep = "${gnugrep}/bin/grep"; - bash = "${bash}/bin/bash"; - }) - ]; - - mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ]; - - nativeBuildInputs = [ - meson ninja pkg-config gettext makeWrapper - xmlto libxslt docbook_xsl docbook_xml_dtd_412 python3 - dbus # for DTD - ]; - - buildInputs = [ - glib gtk3 libICE gnome-desktop json-glib xorg.xtrans gnome3.adwaita-icon-theme - gnome3.gnome-settings-daemon gsettings-desktop-schemas systemd epoxy - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - - # Use our provided `gnome-session-ctl` - original="@libexecdir@/gnome-session-ctl" - replacement="${gnome-session-ctl}/libexec/gnome-session-ctl" - - find data/ -type f -name "*.service.in" -exec sed -i \ - -e s,$original,$replacement,g \ - {} + - ''; - - # `bin/gnome-session` will reset the environment when run in wayland, we - # therefor wrap `libexec/gnome-session-binary` instead which is the actual - # binary needing wrapping - preFixup = '' - wrapProgram "$out/libexec/gnome-session-binary" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ - --suffix XDG_DATA_DIRS : "${gnome3.gnome-shell}/share"\ - --suffix XDG_CONFIG_DIRS : "${gnome3.gnome-settings-daemon}/etc/xdg" - ''; - - # We move the GNOME sessions to another output since gnome-session is a dependency of - # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is - # enabled without proper GNOME installation. - postInstall = '' - mkdir $sessions - moveToOutput share/wayland-sessions "$sessions" - moveToOutput share/xsessions "$sessions" - - # Our provided one is being used - rm -rf $out/libexec/gnome-session-ctl - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-session"; - attrPath = "gnome3.gnome-session"; - }; - providedSessions = [ "gnome" "gnome-xorg" ]; - }; - - meta = with lib; { - description = "GNOME session manager"; - homepage = "https://wiki.gnome.org/Projects/SessionManagement"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch deleted file mode 100644 index 320b3024dee..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-session/fix-paths.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in -index ddd1a591..46a3488b 100755 ---- a/gnome-session/gnome-session.in -+++ b/gnome-session/gnome-session.in -@@ -3,17 +3,19 @@ - if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && - [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && - [ -n "$SHELL" ] && -- grep -q "$SHELL" /etc/shells && -- ! (echo "$SHELL" | grep -q "false") && -- ! (echo "$SHELL" | grep -q "nologin"); then -+ @grep@ -q "$SHELL" /etc/shells && -+ ! (echo "$SHELL" | @grep@ -q "false") && -+ ! (echo "$SHELL" | @grep@ -q "nologin"); then - if [ "$1" != '-l' ]; then -- exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" -+ # Make sure the shell actually sets up the environment. -+ unset __NIXOS_SET_ENVIRONMENT_DONE -+ exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'" - else - shift - fi - fi - --SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region) -+SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region) - REGION=${SETTING#\'} - REGION=${REGION%\'} - -diff --git a/gnome-session/main.c b/gnome-session/main.c -index 84edfbe5..e5285489 100644 ---- a/gnome-session/main.c -+++ b/gnome-session/main.c -@@ -215,7 +215,7 @@ require_dbus_session (int argc, - } - new_argv[i + 2] = NULL; - -- if (!execvp ("dbus-launch", new_argv)) { -+ if (!execvp ("@dbusLaunch@", new_argv)) { - g_set_error (error, - G_SPAWN_ERROR, - G_SPAWN_ERROR_FAILED, diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix deleted file mode 100644 index d7e549e2893..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix +++ /dev/null @@ -1,133 +0,0 @@ -{ lib, stdenv -, fetchpatch -, substituteAll -, fetchurl -, meson -, ninja -, pkg-config -, gnome3 -, perl -, gettext -, gtk3 -, glib -, libnotify -, libgnomekbd -, lcms2 -, libpulseaudio -, alsaLib -, libcanberra-gtk3 -, upower -, colord -, libgweather -, polkit -, gsettings-desktop-schemas -, geoclue2 -, systemd -, libgudev -, libwacom -, libxslt -, libxml2 -, modemmanager -, networkmanager -, gnome-desktop -, geocode-glib -, docbook_xsl -, wrapGAppsHook -, python3 -, tzdata -, nss -, gcr -, gnome-session-ctl -}: - -stdenv.mkDerivation rec { - pname = "gnome-settings-daemon"; - version = "40.0.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "08bv32hvsmd8izw0llvldg0c2d71srch4hi8j94jwgm5d4dsrprp"; - }; - - patches = [ - # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch"; - sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI="; - }) - - (substituteAll { - src = ./fix-paths.patch; - inherit tzdata; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - perl - gettext - libxml2 - libxslt - docbook_xsl - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - modemmanager - networkmanager - libnotify - libgnomekbd # for org.gnome.libgnomekbd.keyboard schema - gnome-desktop - lcms2 - libpulseaudio - alsaLib - libcanberra-gtk3 - upower - colord - libgweather - nss - polkit - geocode-glib - geoclue2 - systemd - libgudev - libwacom - gcr - ]; - - mesonFlags = [ - "-Dudev_dir=${placeholder "out"}/lib/udev" - "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl" - ]; - - # Default for release buildtype but passed manually because - # we're using plain - NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; - - - postPatch = '' - for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do - chmod +x $f - patchShebangs $f - done - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch deleted file mode 100644 index 2229302cab7..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/plugins/datetime/tz.h -+++ b/plugins/datetime/tz.h -@@ -27,11 +27,7 @@ - - #include - --#ifndef __sun --# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" --#else --# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" --#endif -+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" - - typedef struct _TzDB TzDB; - typedef struct _TzLocation TzLocation; diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch deleted file mode 100644 index 8f3951af2da..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/global-backlight-helper.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c -index d7d10fd2..5619d6ad 100644 ---- a/plugins/power/gsd-backlight.c -+++ b/plugins/power/gsd-backlight.c -@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task) - proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE, - &error, - "pkexec", -- LIBEXECDIR "/gsd-backlight-helper", -+ "/run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper", - g_udev_device_get_sysfs_path (backlight->udev_device), - data->value_str, NULL); - } else { -diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in -index f16300f8..79d6bd17 100644 ---- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in -+++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in -@@ -25,7 +25,7 @@ - no - yes - -- @libexecdir@/gsd-backlight-helper -+ /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper - - - diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix deleted file mode 100644 index 035633d676a..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, pkg-config, spidermonkey_68, glib -, gnome3, gnome-menus, substituteAll }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extensions"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "15hak4prx2nx1svfii39clxy1lll8crdf7p91if85jcsh6r8ab8p"; - }; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - patches = [ - (substituteAll { - src = ./fix_gmenu.patch; - gmenu_path = "${gnome-menus}/lib/girepository-1.0"; - }) - - # Do not show welcome dialog in gnome-classic. - # Needed for gnome-shell 40.1. - # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/169 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions/commit/3e8bbb07ea7109c44d5ac7998f473779e742d041.patch"; - sha256 = "jSmPwSBgRBfPPP9mGVjw1mSWumIXQqtA6tSqHr3U+3w="; - }) - ]; - - doCheck = true; - # 60 is required for tests - # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23 - checkInputs = [ spidermonkey_68 ]; - - nativeBuildInputs = [ meson ninja pkg-config gettext glib ]; - - mesonFlags = [ "-Dextension_set=all" ]; - - preFixup = '' - # The meson build doesn't compile the schemas. - # Fixup adapted from export-zips.sh in the source. - - extensiondir=$out/share/gnome-shell/extensions - schemadir=${glib.makeSchemaPath "$out" "${pname}-${version}"} - - glib-compile-schemas $schemadir - - for f in $extensiondir/*; do - name=`basename ''${f%%@*}` - uuid=$name@gnome-shell-extensions.gcampax.github.com - schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml - - if [ -f $schema ]; then - mkdir $f/schemas - ln -s $schema $f/schemas; - glib-compile-schemas $f/schemas - fi - done - ''; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions"; - description = "Modify and extend GNOME Shell functionality and behavior"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch deleted file mode 100644 index 555664e8ae2..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/fix_gmenu.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/extensions/apps-menu/extension.js -+++ b/extensions/apps-menu/extension.js -@@ -1,6 +1,8 @@ - /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ - /* exported init enable disable */ - -+imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@'); -+ - const { - Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St - } = imports.gi; diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix deleted file mode 100644 index 078582f439f..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ /dev/null @@ -1,225 +0,0 @@ -{ fetchurl -, fetchpatch -, fetchgit -, substituteAll -, lib, stdenv -, meson -, ninja -, pkg-config -, gnome3 -, json-glib -, gettext -, libsecret -, python3 -, polkit -, networkmanager -, gtk-doc -, docbook-xsl-nons -, at-spi2-core -, libstartup_notification -, unzip -, shared-mime-info -, libgweather -, librsvg -, geoclue2 -, perl -, docbook_xml_dtd_45 -, desktop-file-utils -, libpulseaudio -, libical -, gobject-introspection -, wrapGAppsHook -, libxslt -, gcr -, accountsservice -, gdk-pixbuf -, gdm -, upower -, ibus -, libnma -, libgnomekbd -, gnome-desktop -, gsettings-desktop-schemas -, gnome-keyring -, glib -, gjs -, mutter -, evolution-data-server -, gtk3 -, gtk4 -, sassc -, systemd -, pipewire -, gst_all_1 -, adwaita-icon-theme -, gnome-bluetooth -, gnome-clocks -, gnome-settings-daemon -, gnome-autoar -, asciidoc-full -, bash-completion -, mesa -}: - -# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup -let - pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]); -in -stdenv.mkDerivation rec { - pname = "gnome-shell"; - version = "40.0-unstable-2021-05-01"; - - outputs = [ "out" "devdoc" ]; - - src = fetchgit { - url = "https://gitlab.gnome.org/GNOME/gnome-shell.git"; - rev = "a8a79c03330427808e776c344f7ebc42782a1b5a"; - sha256 = "ivHV0SRpnBqsdC7fu1Xhtd/BA55O0UdbUyDLy5KHNYs="; - fetchSubmodules = true; - }; - # src = fetchurl { - # url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz"; - # sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg="; - # }; - - patches = [ - # Hardcode paths to various dependencies so that they can be found at runtime. - (substituteAll { - src = ./fix-paths.patch; - inherit libgnomekbd unzip; - gsettings = "${glib.bin}/bin/gsettings"; - }) - - # Use absolute path for libshew installation to make our patched gobject-introspection - # aware of the location to hardcode in the generated GIR file. - ./shew-gir-path.patch - - # Make D-Bus services wrappable. - ./wrap-services.patch - - # Fix greeter logo being too big. - # https://gitlab.gnome.org/GNOME/gnome-shell/issues/2591 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/ffb8bd5fa7704ce70ce7d053e03549dd15dce5ae.patch"; - revert = true; - sha256 = "14h7ahlxgly0n3sskzq9dhxzbyb04fn80pv74vz1526396676dzl"; - }) - - # Work around failing fingerprint auth - (fetchpatch { - url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/9a647c460b651aaec0b8a21f046cc289c1999416/f/0001-gdm-Work-around-failing-fingerprint-auth.patch"; - sha256 = "pFvZli3TilUt6YwdZztpB8Xq7O60XfuWUuPMMVSpqLw="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - docbook-xsl-nons - docbook_xml_dtd_45 - gtk-doc - perl - wrapGAppsHook - sassc - desktop-file-utils - libxslt.bin - python3 - asciidoc-full - ]; - - buildInputs = [ - systemd - gsettings-desktop-schemas - gnome-keyring - glib - gcr - accountsservice - libsecret - polkit - gdk-pixbuf - librsvg - networkmanager - libstartup_notification - gjs - mutter - libpulseaudio - evolution-data-server - libical - gtk3 - gtk4 - gdm - geoclue2 - adwaita-icon-theme - gnome-bluetooth - gnome-clocks # schemas needed - at-spi2-core - upower - ibus - gnome-desktop - gnome-settings-daemon - gobject-introspection - mesa - - # recording - pipewire - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - - # not declared at build time, but typelib is needed at runtime - libgweather - libnma - - # for gnome-extension tool - bash-completion - gnome-autoar - json-glib - ]; - - mesonFlags = [ - "-Dgtk_doc=true" - ]; - - postPatch = '' - patchShebangs src/data-to-c.pl - chmod +x meson/postinstall.py - patchShebangs meson/postinstall.py - - substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python" - substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python" - ''; - - preFixup = '' - gappsWrapperArgs+=( - # Until glib’s xdgmime is patched - # Fixes “Failed to load resource:///org/gnome/shell/theme/noise-texture.png: Unrecognized image file format” - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - ''; - - postFixup = '' - # The services need typelibs. - for svc in org.gnome.ScreenSaver org.gnome.Shell.Extensions org.gnome.Shell.Notifications org.gnome.Shell.Screencast; do - wrapGApp $out/share/gnome-shell/$svc - done - ''; - - passthru = { - mozillaPlugin = "/lib/mozilla/plugins"; - updateScript = gnome3.updateScript { - packageName = "gnome-shell"; - attrPath = "gnome3.gnome-shell"; - }; - }; - - meta = with lib; { - description = "Core user interface for the GNOME 3 desktop"; - homepage = "https://wiki.gnome.org/Projects/GnomeShell"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; - -} diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch deleted file mode 100644 index e17a608a2d8..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-shell/fix-paths.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- a/js/ui/extensionDownloader.js -+++ b/js/ui/extensionDownloader.js -@@ -86,7 +86,7 @@ - stream.output_stream.write_bytes(contents, null); - stream.close(null); - let [success, pid] = GLib.spawn_async(null, -- ['unzip', '-uod', dir.get_path(), '--', file.get_path()], -+ ['@unzip@/bin/unzip', '-uod', dir.get_path(), '--', file.get_path()], - null, - GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, - null); ---- a/js/ui/status/keyboard.js -+++ b/js/ui/status/keyboard.js -@@ -1062,6 +1062,6 @@ class InputSourceIndicator extends PanelMenu.Button { - if (xkbVariant.length > 0) - description = `${description}\t${xkbVariant}`; - -- Util.spawn(['gkbd-keyboard-display', '-l', description]); -+ Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]); - } - }); ---- a/data/org.gnome.Shell-disable-extensions.service -+++ b/data/org.gnome.Shell-disable-extensions.service -@@ -10,5 +10,5 @@ Requisite=gnome-session-stable.timer - [Service] - Type=simple - # Disable extensions --ExecStart=gsettings set org.gnome.shell disable-user-extensions true -+ExecStart=@gsettings@ set org.gnome.shell disable-user-extensions true - Restart=no diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch b/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch deleted file mode 100644 index 6d888725b5d..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/subprojects/shew/src/meson.build -+++ b/subprojects/shew/src/meson.build -@@ -13,7 +13,7 @@ shew_sources = [ - libshew = library(full_name, - sources: shew_sources, - dependencies: [gtk_dep, x11_dep], -- install_dir: pkglibdir, -+ install_dir: get_option('prefix') / pkglibdir, - install: true, - ) - diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/wrap-services.patch b/pkgs/desktops/gnome-3/core/gnome-shell/wrap-services.patch deleted file mode 100644 index bc494caea9d..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-shell/wrap-services.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/js/dbusServices/dbus-service.in b/js/dbusServices/dbus-service.in -old mode 100644 -new mode 100755 -index 524166102..100b81a63 ---- a/js/dbusServices/dbus-service.in -+++ b/js/dbusServices/dbus-service.in -@@ -1,3 +1,9 @@ -+#!@gjs@ -+ -+// gjs determines the package name from argv[0], which is .*-wrapped -+// so we need to override it to the original one. -+imports.package._findEffectiveEntryPointName = () => '@service@' -+ - imports.package.start({ - name: '@PACKAGE_NAME@', - prefix: '@prefix@', -diff --git a/js/dbusServices/dbus-service.service.in b/js/dbusServices/dbus-service.service.in -index 3b0d09abe..4fd4bb66d 100644 ---- a/js/dbusServices/dbus-service.service.in -+++ b/js/dbusServices/dbus-service.service.in -@@ -1,3 +1,3 @@ - [D-BUS Service] - Name=@service@ --Exec=@gjs@ @pkgdatadir@/@service@ -+Exec=@pkgdatadir@/@service@ -diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build -index c749f45dc..11bcb0c9e 100644 ---- a/js/dbusServices/meson.build -+++ b/js/dbusServices/meson.build -@@ -2,6 +2,7 @@ launcherconf = configuration_data() - launcherconf.set('PACKAGE_NAME', meson.project_name()) - launcherconf.set('prefix', prefix) - launcherconf.set('libdir', libdir) -+launcherconf.set('gjs', gjs.path()) - - dbus_services = { - 'org.gnome.Shell.Extensions': 'extensions', -@@ -11,16 +12,17 @@ dbus_services = { - config_dir = '@0@/..'.format(meson.current_build_dir()) - - foreach service, dir : dbus_services -+ svc_launcherconf = launcherconf -+ svc_launcherconf.set('service', service) - configure_file( - input: 'dbus-service.in', - output: service, -- configuration: launcherconf, -+ configuration: svc_launcherconf, - install_dir: pkgdatadir, - ) - - serviceconf = configuration_data() - serviceconf.set('service', service) -- serviceconf.set('gjs', gjs.path()) - serviceconf.set('pkgdatadir', pkgdatadir) - - configure_file( diff --git a/pkgs/desktops/gnome-3/core/gnome-software/default.nix b/pkgs/desktops/gnome-3/core/gnome-software/default.nix deleted file mode 100644 index d26dc801d69..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-software/default.nix +++ /dev/null @@ -1,120 +0,0 @@ -{ lib -, stdenv -, fetchurl -, substituteAll -, pkg-config -, meson -, ninja -, gettext -, gnome3 -, wrapGAppsHook -, packagekit -, ostree -, glib -, appstream -, libsoup -, libhandy -, polkit -, isocodes -, gspell -, libxslt -, gobject-introspection -, flatpak -, fwupd -, gtk3 -, gsettings-desktop-schemas -, gnome-desktop -, libxmlb -, gnome-online-accounts -, json-glib -, libsecret -, valgrind-light -, docbook-xsl-nons -, docbook_xml_dtd_42 -, docbook_xml_dtd_43 -, gtk-doc -, desktop-file-utils -, libsysprof-capture -}: - -let - withFwupd = stdenv.isx86_64 || stdenv.isi686; -in - -stdenv.mkDerivation rec { - pname = "gnome-software"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "16q2902swxsjdxb1nj335sv1bb76rvq4w6dn4yszkwf3s0fd86in"; - }; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - inherit isocodes; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - wrapGAppsHook - libxslt - docbook_xml_dtd_42 - docbook_xml_dtd_43 - valgrind-light - docbook-xsl-nons - gtk-doc - desktop-file-utils - gobject-introspection - ]; - - buildInputs = [ - gtk3 - glib - packagekit - appstream - libsoup - libhandy - gsettings-desktop-schemas - gnome-desktop - gspell - json-glib - libsecret - ostree - polkit - flatpak - libxmlb - gnome-online-accounts - libsysprof-capture - ] ++ lib.optionals withFwupd [ - fwupd - ]; - - mesonFlags = [ - "-Dgudev=false" - # FIXME: package malcontent parental controls - "-Dmalcontent=false" - ] ++ lib.optionals (!withFwupd) [ - "-Dfwupd=false" - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.gnome-software"; - }; - }; - - meta = with lib; { - description = "Software store that lets you install and update applications and system extensions"; - homepage = "https://wiki.gnome.org/Apps/Software"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch deleted file mode 100644 index 6f443a8a43e..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-software/fix-paths.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/gs-language.c -+++ b/src/gs-language.c -@@ -95,7 +95,7 @@ - g_autoptr(GMarkupParseContext) context = NULL; - - /* find filename */ -- filename = g_build_filename (DATADIR, "xml", "iso-codes", "iso_639.xml", NULL); -+ filename = g_build_filename ("@isocodes@", "share", "xml", "iso-codes", "iso_639.xml", NULL); - if (!g_file_test (filename, G_FILE_TEST_EXISTS)) { - g_free (filename); - filename = g_build_filename ("/usr", "share", "xml", "iso-codes", "iso_639.xml", NULL); diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix deleted file mode 100644 index 44e24e7cdf6..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ lib -, stdenv -, gettext -, fetchurl -, pkg-config -, gtkmm3 -, libxml2 -, bash -, gtk3 -, libhandy -, glib -, wrapGAppsHook -, meson -, ninja -, python3 -, gsettings-desktop-schemas -, itstool -, gnome3 -, librsvg -, gdk-pixbuf -, libgtop -, systemd -}: - -stdenv.mkDerivation rec { - pname = "gnome-system-monitor"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-system-monitor/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "06hxd4igxas2kyind5jwfq5qbfkknykpdfy2sy3anylhcx1hzczx"; - }; - - nativeBuildInputs = [ - pkg-config - gettext - itstool - wrapGAppsHook - meson - ninja - python3 - ]; - - buildInputs = [ - bash - gtk3 - libhandy - glib - libxml2 - gtkmm3 - libgtop - gdk-pixbuf - gnome3.adwaita-icon-theme - librsvg - gsettings-desktop-schemas - systemd - ]; - - doCheck = true; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-system-monitor"; - attrPath = "gnome3.gnome-system-monitor"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/SystemMonitor"; - description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix deleted file mode 100644 index de5cb767d54..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, gnome3, dconf, nautilus -, gtk3, gsettings-desktop-schemas, vte, gettext, which, libuuid, vala -, desktop-file-utils, itstool, wrapGAppsHook, pcre2 -, libxslt, docbook-xsl-nons }: - -stdenv.mkDerivation rec { - pname = "gnome-terminal"; - version = "3.40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1r6qd6w18gk83w32y6bvn4hg2hd7qvngak4ymwpgndyp41rwqw07"; - }; - - buildInputs = [ - gtk3 gsettings-desktop-schemas vte libuuid dconf - # For extension - nautilus - ]; - - nativeBuildInputs = [ - pkg-config gettext itstool which libxml2 libxslt docbook-xsl-nons - vala desktop-file-utils wrapGAppsHook pcre2 - ]; - - # Silly ./configure, it looks for dbus file from gnome-shell in the - # installation tree of the package it is configuring. - postPatch = '' - substituteInPlace configure --replace '$(eval echo $(eval echo $(eval echo ''${dbusinterfacedir})))/org.gnome.ShellSearchProvider2.xml' "${gnome3.gnome-shell}/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml" - substituteInPlace src/Makefile.in --replace '$(dbusinterfacedir)/org.gnome.ShellSearchProvider2.xml' "${gnome3.gnome-shell}/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml" - ''; - - configureFlags = [ "--disable-migration" ]; # TODO: remove this with 3.30 - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-terminal"; - attrPath = "gnome3.gnome-terminal"; - }; - }; - - enableParallelBuilding = true; - - meta = with lib; { - description = "The GNOME Terminal Emulator"; - homepage = "https://wiki.gnome.org/Apps/Terminal"; - platforms = platforms.linux; - license = licenses.gpl3Plus; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix deleted file mode 100644 index 7b42d724593..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-themes-extra/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchurl, intltool, gtk3, gnome3, librsvg, pkg-config, pango, atk, gtk2 -, gdk-pixbuf, hicolor-icon-theme }: - -let - pname = "gnome-themes-extra"; - version = "3.28"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"; - }; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - nativeBuildInputs = [ pkg-config intltool ]; - buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf ]; - propagatedBuildInputs = [ gnome3.adwaita-icon-theme hicolor-icon-theme ]; - - dontDropIconThemeCache = true; - - postInstall = '' - gtk-update-icon-cache "$out"/share/icons/HighContrast - ''; - - meta = with lib; { - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-tour/default.nix b/pkgs/desktops/gnome-3/core/gnome-tour/default.nix deleted file mode 100644 index 4e6c58a14e8..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-tour/default.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib -, stdenv -, rustPlatform -, gettext -, meson -, ninja -, fetchurl -, pkg-config -, gtk3 -, glib -, gdk-pixbuf -, desktop-file-utils -, appstream-glib -, wrapGAppsHook -, python3 -, gnome3 -, libhandy -, librsvg -, rustc -, cargo -}: - -stdenv.mkDerivation rec { - pname = "gnome-tour"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - hash = "sha256-cGMiOGmgdHJ0FL7H23ONhQYhbuhMz8O8p9rFLkmMG/k="; - }; - - cargoVendorDir = "vendor"; - - nativeBuildInputs = [ - appstream-glib - cargo - desktop-file-utils - gettext - glib # glib-compile-resources - meson - ninja - pkg-config - python3 - rustPlatform.cargoSetupHook - rustc - wrapGAppsHook - ]; - - buildInputs = [ - gdk-pixbuf - glib - gtk3 - libhandy - librsvg - ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - homepage = "https://gitlab.gnome.org/GNOME/gnome-tour"; - description = "GNOME Greeter & Tour"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix deleted file mode 100644 index 54fcf531c65..00000000000 --- a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix +++ /dev/null @@ -1,96 +0,0 @@ -{ lib, stdenv -, gettext -, meson -, ninja -, fetchurl -, fetchpatch -, apacheHttpd -, nautilus -, pkg-config -, gtk3 -, glib -, libxml2 -, systemd -, wrapGAppsHook -, itstool -, libnotify -, mod_dnssd -, gnome3 -, libcanberra-gtk3 -, python3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-user-share"; - version = "3.34.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x"; - }; - - patches = [ - # fix gio-unix-2.0 lookup - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-user-share/commit/8772980d4732c15505b15dccff2ca3c97e96d49d.patch"; - sha256 = "03clzhrx72pq1cbmg2y24hvw4i1xsvrg9ip113fi5bc3w4gcji7p"; - }) - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - preConfigure = '' - sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \ - -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \ - -i data/dav_user_2.4.conf - ''; - - mesonFlags = [ - "-Dhttpd=${apacheHttpd.out}/bin/httpd" - "-Dmodules_path=${apacheHttpd.dev}/modules" - "-Dsystemduserunitdir=${placeholder "out"}/etc/systemd/user" - # In 3.34.0 it defaults to false but it is silently ignored and always installed. - # Let’s add it anyway in case they decide to make build respect the option in the future. - "-Dnautilus_extension=true" - ]; - - nativeBuildInputs = [ - pkg-config - meson - ninja - gettext - itstool - libxml2 - wrapGAppsHook - python3 - ]; - - buildInputs = [ - gtk3 - glib - nautilus - libnotify - libcanberra-gtk3 - systemd - ]; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://help.gnome.org/users/gnome-user-share/3.8"; - description = "Service that exports the contents of the Public folder in your home directory on the local network"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix deleted file mode 100644 index aac5a43e433..00000000000 --- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ lib, stdenv -, intltool -, fetchFromGitLab -, meson -, ninja -, pkg-config -, python3 -, gtk3 -, adwaita-icon-theme -, glib -, desktop-file-utils -, gtk-doc -, wrapGAppsHook -, gnome3 -, itstool -, libxml2 -, yelp-tools -, docbook_xsl -, docbook_xml_dtd_412 -, gsettings-desktop-schemas -, callPackage -, unzip -, unicode-character-database -, unihan-database -, runCommand -, symlinkJoin -, gobject-introspection -}: - -let - # TODO: make upstream patch allowing to use the uncompressed file, - # preferably from XDG_DATA_DIRS. - # https://gitlab.gnome.org/GNOME/gucharmap/issues/13 - unihanZip = runCommand "unihan" {} '' - mkdir -p $out/share/unicode - ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip - ''; - ucd = symlinkJoin { - name = "ucd+unihan"; - paths = [ - unihanZip - unicode-character-database - ]; - }; -in stdenv.mkDerivation rec { - pname = "gucharmap"; - version = "13.0.2"; - - outputs = [ "out" "lib" "dev" "devdoc" ]; - - src = fetchFromGitLab { - domain = "gitlab.gnome.org"; - owner = "GNOME"; - repo = pname; - rev = version; - sha256 = "099za9mc6qdq9pwcbjp3d7hxjbaa43vk2w9qw4yiyswl1xq3jw62"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - python3 - wrapGAppsHook - unzip - intltool - itstool - gtk-doc - docbook_xsl - docbook_xml_dtd_412 - yelp-tools - libxml2 - desktop-file-utils - gobject-introspection - ]; - - buildInputs = [ - gtk3 - glib - gsettings-desktop-schemas - adwaita-icon-theme - ]; - - mesonFlags = [ - "-Ducd_path=${ucd}/share/unicode" - "-Dvapi=false" - ]; - - doCheck = true; - - postPatch = '' - patchShebangs data/meson_desktopfile.py gucharmap/gen-guch-unicode-tables.pl gucharmap/meson_compileschemas.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - description = "GNOME Character Map, based on the Unicode Character Database"; - homepage = "https://wiki.gnome.org/Apps/Gucharmap"; - license = licenses.gpl3; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix deleted file mode 100644 index f4b76996ac4..00000000000 --- a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool, gobject-introspection, gnome3 }: - -let - pname = "libgnome-keyring"; - version = "3.12.0"; -in -stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"; - }; - - outputs = [ "out" "dev" ]; - - propagatedBuildInputs = [ glib gobject-introspection dbus libgcrypt ]; - nativeBuildInputs = [ pkg-config intltool ]; - - meta = { - description = "Framework for managing passwords and other secrets"; - homepage = "https://wiki.gnome.org/Projects/GnomeKeyring"; - license = with lib.licenses; [ gpl2Plus lgpl2Plus ]; - inherit (glib.meta) platforms maintainers; - - longDescription = '' - gnome-keyring is a program that keeps password and other secrets for - users. The library libgnome-keyring is used by applications to integrate - with the gnome-keyring system. - ''; - }; -} diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch deleted file mode 100644 index 3691c034d1e..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001 -Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Sun, 20 Oct 2019 12:04:31 +0200 -Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h - -From: Jan Alexander Steffens (heftig) - -The eglext.h shipped by libglvnd does not include the Mesa extensions, -unlike the header shipped in Mesa. - -Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876 - -(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90) ---- - cogl/cogl/meson.build | 2 +- - src/backends/meta-egl-ext.h | 1 + - src/backends/meta-egl.c | 1 + - src/backends/meta-egl.h | 1 + - 4 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build -index 1057ef9..9a64294 100644 ---- a/cogl/cogl/meson.build -+++ b/cogl/cogl/meson.build -@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file( - built_headers += [cogl_gl_header_h] - - if have_egl -- cogl_egl_includes_string = '#include \n#include ' -+ cogl_egl_includes_string = '#include \n#include \n#include ' - else - cogl_egl_includes_string = '' - endif -diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h -index 8705e7d..db0b74f 100644 ---- a/src/backends/meta-egl-ext.h -+++ b/src/backends/meta-egl-ext.h -@@ -29,6 +29,7 @@ - - #include - #include -+#include - - /* - * This is a little different to the tests shipped with EGL implementations, -diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c -index 6554be9..fdeff4f 100644 ---- a/src/backends/meta-egl.c -+++ b/src/backends/meta-egl.c -@@ -27,6 +27,7 @@ - - #include - #include -+#include - #include - #include - #include -diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h -index f2a8164..4591e7d 100644 ---- a/src/backends/meta-egl.h -+++ b/src/backends/meta-egl.h -@@ -28,6 +28,7 @@ - - #include - #include -+#include - #include - - #define META_EGL_ERROR meta_egl_error_quark () - -base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0002-drop-inheritable.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0002-drop-inheritable.patch deleted file mode 100644 index 28f89ac7c0c..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0002-drop-inheritable.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001 -Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Sat, 19 Oct 2019 13:26:05 +0200 -Subject: [PATCH 2/7] drop inheritable - -From: Tor Hedin Brønner - -Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01 - -We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell. ---- - config.h.meson | 3 +++ - meson.build | 5 +++++ - meson_options.txt | 6 ++++++ - src/core/main.c | 10 ++++++++++ - src/meson.build | 1 + - 5 files changed, 25 insertions(+) - -diff --git a/config.h.meson b/config.h.meson -index 0bab718..202fb7e 100644 ---- a/config.h.meson -+++ b/config.h.meson -@@ -58,6 +58,9 @@ - /* Xwayland applications allowed to issue keyboard grabs */ - #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES - -+/* Defined if libcap-ng is available */ -+#mesondefine HAVE_LIBCAPNG -+ - /* XKB base prefix */ - #mesondefine XKB_BASE - -diff --git a/meson.build b/meson.build -index 29d495b..86970df 100644 ---- a/meson.build -+++ b/meson.build -@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7' - libcanberra_req = '>= 0.26' - libwacom_req = '>= 0.13' - atk_req = '>= 2.5.3' -+libcapng_req = '>= 0.7.9' - - # optional version requirements - udev_req = '>= 228' -@@ -125,6 +126,7 @@ xau_dep = dependency('xau') - ice_dep = dependency('ice') - atk_dep = dependency('atk', version: atk_req) - libcanberra_dep = dependency('libcanberra', version: libcanberra_req) -+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng')) - - # For now always require X11 support - have_x11 = true -@@ -256,6 +258,7 @@ have_core_tests = false - have_cogl_tests = false - have_clutter_tests = false - have_installed_tests = false -+have_libcapng = libcapng_dep.found() - - if have_tests - have_core_tests = get_option('core_tests') -@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom) - cdata.set('HAVE_SM', have_sm) - cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification) - cdata.set('HAVE_INTROSPECTION', have_introspection) -+cdata.set('HAVE_LIBCAPNG', have_libcapng) - cdata.set('HAVE_PROFILER', have_profiler) - - xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base') -@@ -443,6 +447,7 @@ output = [ - ' Startup notification..... ' + have_startup_notification.to_string(), - ' Introspection............ ' + have_introspection.to_string(), - ' Profiler................. ' + have_profiler.to_string(), -+ ' libcap-ng................ ' + have_libcapng.to_string(), - '', - ' Tests:', - '', -diff --git a/meson_options.txt b/meson_options.txt -index 73aa7ad..8bfaacd 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules', - value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr', - description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland' - ) -+ -+option('libcapng', -+ type: 'feature', -+ value: 'auto', -+ description: 'Enable libcap-ng support' -+) -diff --git a/src/core/main.c b/src/core/main.c -index 3935f35..ecf3cb2 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -66,6 +66,10 @@ - #include - #endif - -+#ifdef HAVE_LIBCAPNG -+#include -+#endif -+ - #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND) - #include - #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */ -@@ -673,6 +677,12 @@ meta_run (void) - if (!meta_display_open ()) - meta_exit (META_EXIT_ERROR); - -+#ifdef HAVE_LIBCAPNG -+ capng_clear(CAPNG_SELECT_BOTH); -+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); -+ capng_apply(CAPNG_SELECT_BOTH); -+#endif -+ - g_main_loop_run (meta_main_loop); - - meta_finalize (); -diff --git a/src/meson.build b/src/meson.build -index 90d8073..a9fffa2 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -18,6 +18,7 @@ mutter_pkg_deps = [ - glib_dep, - gsettings_desktop_schemas_dep, - gtk3_dep, -+ libcapng_dep, - pango_dep, - ] - --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0003-Fix-glitches-in-gala.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0003-Fix-glitches-in-gala.patch deleted file mode 100644 index 9f78a324d9d..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0003-Fix-glitches-in-gala.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001 -Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Sun, 5 Apr 2020 23:06:03 -0400 -Subject: [PATCH 3/7] Fix glitches in gala - -From: worldofpeace - -This fixes issues for users of mutter like in gala[0]. - -Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536 -[0]: https://github.com/elementary/gala/issues/605 ---- - clutter/clutter/clutter-actor.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c -index ecf9a59..07b8b71 100644 ---- a/clutter/clutter/clutter-actor.c -+++ b/clutter/clutter/clutter-actor.c -@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self) - if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume)) - { - priv->paint_volume_valid = TRUE; -- priv->needs_paint_volume_update = FALSE; -+ //priv->needs_paint_volume_update = FALSE; - return &priv->paint_volume; - } - else --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch deleted file mode 100644 index cd98d395041..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001 -Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Wed, 30 Oct 2019 15:23:24 -0700 -Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof - -From: Christian Hergert - -This tracks the changes to gdbus-codegen in terms of how GUnixFDList is -done to use the UnixFD annotation. - -https://gitlab.gnome.org/GNOME/mutter/merge_requests/908 -(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c) ---- - src/backends/meta-profiler.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c -index 10d433a..0d62701 100644 ---- a/src/backends/meta-profiler.c -+++ b/src/backends/meta-profiler.c -@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler, - static gboolean - handle_start (MetaDBusSysprof3Profiler *dbus_profiler, - GDBusMethodInvocation *invocation, -+ GUnixFDList *fd_list, - GVariant *options, - GVariant *fd_variant) - { - MetaProfiler *profiler = META_PROFILER (dbus_profiler); - GMainContext *main_context = g_main_context_default (); -- GDBusMessage *message; -- GUnixFDList *fd_list; - const char *group_name; - int position; - int fd = -1; -@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler, - - g_variant_get (fd_variant, "h", &position); - -- message = g_dbus_method_invocation_get_message (invocation); -- fd_list = g_dbus_message_get_unix_fd_list (message); - if (fd_list) - fd = g_unix_fd_list_get (fd_list, position, NULL); - -@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler, - - g_debug ("Profiler running"); - -- meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation); -+ meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL); - return TRUE; - } - --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch deleted file mode 100644 index 138970ddda0..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001 -Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Wed, 29 Jan 2020 11:02:33 +0100 -Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h - -From: Corentin Noël - -This is required because MetaDisplayCorner is only defined in display.h - -https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025 -(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12) ---- - src/meta/meta-workspace-manager.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h -index 0390c44..92cd681 100644 ---- a/src/meta/meta-workspace-manager.h -+++ b/src/meta/meta-workspace-manager.h -@@ -26,6 +26,7 @@ - #include - - #include -+#include - #include - #include - --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch deleted file mode 100644 index 6d88f0f5e76..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001 -Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Sat, 4 Jul 2020 12:01:28 -0700 -Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4 - -From: Christian Hergert - -GLib will now be linking against sysprof-capture-4.a. To support that, -sysprof had to remove the GLib dependency from sysprof-capture-4 which -had the side-effect of breaking ABi. - -This bumps the dependency and includes a fallback to compile just the -libsysprof-capture-4.a using a subproject wrap. - -https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352 -(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692) ---- - meson.build | 20 ++++++++++++++++++-- - src/meson.build | 8 ++++++-- - subprojects/sysprof.wrap | 4 ++++ - 3 files changed, 28 insertions(+), 4 deletions(-) - create mode 100644 subprojects/sysprof.wrap - -diff --git a/meson.build b/meson.build -index 86970df..3dc0098 100644 ---- a/meson.build -+++ b/meson.build -@@ -1,6 +1,6 @@ - project('mutter', 'c', - version: '3.34.6', -- meson_version: '>= 0.50.0', -+ meson_version: '>= 0.51.0', - license: 'GPLv2+' - ) - -@@ -52,6 +52,9 @@ gbm_req = '>= 10.3' - # screen cast version requirements - libpipewire_req = '>= 0.2.5' - -+# profiler requirements -+sysprof_req = '>= 3.37.2' -+ - gnome = import('gnome') - pkg = import('pkgconfig') - i18n = import('i18n') -@@ -275,7 +278,20 @@ endif - - have_profiler = get_option('profiler') - if have_profiler -- sysprof_dep = dependency('sysprof-capture-3') -+ # libsysprof-capture support -+ sysprof_dep = dependency('sysprof-capture-4', -+ required: true, -+ default_options: [ -+ 'enable_examples=false', -+ 'enable_gtk=false', -+ 'enable_tests=false', -+ 'enable_tools=false', -+ 'libsysprof=false', -+ 'with_sysprofd=none', -+ 'help=false', -+ ], -+ fallback: ['sysprof', 'libsysprof_capture_dep'], -+ ) - endif - - required_functions = [ -diff --git a/src/meson.build b/src/meson.build -index a9fffa2..a91baa1 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -711,9 +711,13 @@ if have_profiler - 'backends/meta-profiler.h', - ] - -- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces') -- sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml') -+ if sysprof_dep.type_name() == 'pkgconfig' -+ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces') -+ else -+ sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src') -+ endif - -+ sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml') - dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler', - sysprof3_dbus_file, - interface_prefix: 'org.gnome.', -diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap -new file mode 100644 -index 0000000..c8f5883 ---- /dev/null -+++ b/subprojects/sysprof.wrap -@@ -0,0 +1,4 @@ -+[wrap-git] -+directory=sysprof -+url=https://gitlab.gnome.org/GNOME/sysprof.git -+revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/0007-fix-paths.patch b/pkgs/desktops/gnome-3/core/mutter/3.34/0007-fix-paths.patch deleted file mode 100644 index 8376fc649b5..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/0007-fix-paths.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001 -Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch> -In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> -From: WORLDofPEACE -Date: Fri, 25 Sep 2020 20:48:33 -0400 -Subject: [PATCH 7/7] fix paths - ---- - src/core/util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/core/util.c b/src/core/util.c -index 79bcfdc..87ce549 100644 ---- a/src/core/util.c -+++ b/src/core/util.c -@@ -623,7 +623,7 @@ meta_show_dialog (const char *type, - - args = g_ptr_array_new (); - -- append_argument (args, "zenity"); -+ append_argument (args, "@zenity@/bin/zenity"); - append_argument (args, type); - - if (display) --- -git-series 0.9.1 diff --git a/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix b/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix deleted file mode 100644 index 1f4ca5d3213..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/3.34/default.nix +++ /dev/null @@ -1,134 +0,0 @@ -{ fetchurl -, fetchpatch -, substituteAll -, lib, stdenv -, pkg-config -, gnome3 -, pantheon -, gettext -, gobject-introspection -, upower -, cairo -, pango -, cogl -, json-glib -, libstartup_notification -, zenity -, libcanberra-gtk3 -, ninja -, xkeyboard_config -, libxkbfile -, libxkbcommon -, libXtst -, libinput -, gsettings-desktop-schemas -, glib -, gtk3 -, gnome-desktop -, geocode-glib -, pipewire_0_2 -, libgudev -, libwacom -, xwayland -, meson -, gnome-settings-daemon -, xorgserver -, python3 -, wrapGAppsHook -, sysprof -, desktop-file-utils -, libcap_ng -, egl-wayland -}: - -stdenv.mkDerivation rec { - pname = "mutter"; - version = "3.34.6"; - - outputs = [ "out" "dev" "man" ]; - - src = fetchurl { - url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY="; - }; - - mesonFlags = [ - "-Degl_device=true" - "-Dinstalled_tests=false" # TODO: enable these - "-Dwayland_eglstream=true" - ]; - - propagatedBuildInputs = [ - # required for pkg-config to detect mutter-clutter - json-glib - libXtst - libcap_ng - ]; - - nativeBuildInputs = [ - desktop-file-utils - gettext - meson - ninja - pkg-config - python3 - wrapGAppsHook - xorgserver # for cvt command - ]; - - buildInputs = [ - cairo - cogl - egl-wayland - geocode-glib - glib - gnome-desktop - gnome-settings-daemon - gobject-introspection - gsettings-desktop-schemas - gtk3 - libcanberra-gtk3 - libgudev - libinput - libstartup_notification - libwacom - libxkbcommon - libxkbfile - pango - pipewire_0_2 # TODO: backport pipewire 0.3 support - sysprof - upower - xkeyboard_config - xwayland - zenity - ]; - - patches = [ - ./0001-EGL-Include-EGL-eglmesaext.h.patch - ./0002-drop-inheritable.patch - ./0003-Fix-glitches-in-gala.patch - ./0004-profiler-track-changes-in-GLib-and-Sysprof.patch - ./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch - ./0006-build-bump-ABI-to-sysprof-capture-4.patch - (substituteAll { - src = ./0007-fix-paths.patch; - inherit zenity; - }) - ]; - - postPatch = '' - patchShebangs src/backends/native/gen-default-modes.py - ''; - - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" - ''; - - meta = with lib; { - description = "A window manager for GNOME"; - homepage = "https://gitlab.gnome.org/GNOME/mutter"; - license = licenses.gpl2; - maintainers = pantheon.maintainers; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix deleted file mode 100644 index 2dda38bb4e7..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/default.nix +++ /dev/null @@ -1,170 +0,0 @@ -{ fetchurl -, fetchpatch -, substituteAll -, runCommand -, lib, stdenv -, pkg-config -, gnome3 -, gettext -, gobject-introspection -, cairo -, pango -, json-glib -, libstartup_notification -, zenity -, libcanberra -, ninja -, xkeyboard_config -, libxkbfile -, libXdamage -, libxkbcommon -, libXtst -, libinput -, libdrm -, gsettings-desktop-schemas -, glib -, gtk3 -, gnome-desktop -, pipewire -, libgudev -, libwacom -, xwayland -, mesa -, meson -, gnome-settings-daemon -, xorgserver -, python3 -, wrapGAppsHook -, sysprof -, desktop-file-utils -, libcap_ng -, egl-wayland -, graphene -, wayland-protocols -}: - -let self = stdenv.mkDerivation rec { - pname = "mutter"; - version = "40.0"; - - outputs = [ "out" "dev" "man" ]; - - src = fetchurl { - url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-enGzEuWmZ8U3SJUYilBqP2tnF2i8s2K2jv3FYnc9GY4="; - }; - - patches = [ - # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking - # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381 - # ./drop-inheritable.patch - - (substituteAll { - src = ./fix-paths.patch; - inherit zenity; - }) - - # Fix non-deterministic build failure: - # https://gitlab.gnome.org/GNOME/mutter/-/issues/1682 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/mutter/commit/91117bb052ed0d69c8ea4159c1df15c814d90627.patch"; - sha256 = "ek8hEoPP4S2TGOm6SGGOhUVIp4OT68nz0SQzZrceFUU="; - }) - ]; - - mesonFlags = [ - "-Degl_device=true" - "-Dinstalled_tests=false" # TODO: enable these - "-Dwayland_eglstream=true" - "-Dprofiler=true" - "-Dxwayland_path=${xwayland}/bin/Xwayland" - # This should be auto detected, but it looks like it manages a false - # positive. - "-Dxwayland_initfd=disabled" - ]; - - propagatedBuildInputs = [ - # required for pkg-config to detect mutter-clutter - json-glib - libXtst - libcap_ng - graphene - ]; - - nativeBuildInputs = [ - desktop-file-utils - gettext - mesa # needed for gbm - meson - ninja - pkg-config - python3 - wrapGAppsHook - xorgserver # for cvt command - ]; - - buildInputs = [ - cairo - egl-wayland - glib - gnome-desktop - gnome-settings-daemon - gobject-introspection - gsettings-desktop-schemas - gtk3 - libcanberra - libdrm - libgudev - libinput - libstartup_notification - libwacom - libxkbcommon - libxkbfile - libXdamage - pango - pipewire - sysprof - xkeyboard_config - xwayland - wayland-protocols - ]; - - postPatch = '' - patchShebangs src/backends/native/gen-default-modes.py - ''; - - postInstall = '' - ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" - ''; - - # Install udev files into our own tree. - PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; - - passthru = { - libdir = "${self}/lib/mutter-7"; - - tests = { - libdirExists = runCommand "mutter-libdir-exists" {} '' - if [[ ! -d ${self.libdir} ]]; then - echo "passthru.libdir should contain a directory, “${self.libdir}” is not one." - exit 1 - fi - touch $out - ''; - }; - - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "A window manager for GNOME"; - homepage = "https://gitlab.gnome.org/GNOME/mutter"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -}; -in self diff --git a/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch b/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch deleted file mode 100644 index 7374e1b8693..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/drop-inheritable.patch +++ /dev/null @@ -1,132 +0,0 @@ -From e9c772e265b2293af031c79f4bbc99b5847dfe3c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= -Date: Sat, 19 Oct 2019 13:26:05 +0200 -Subject: [PATCH] drop inheritable - -Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01 - -We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell. - ---- - config.h.meson | 3 +++ - meson.build | 5 +++++ - meson_options.txt | 6 ++++++ - src/core/main.c | 11 +++++++++++ - src/meson.build | 1 + - 5 files changed, 26 insertions(+) - -diff --git a/config.h.meson b/config.h.meson -index 0bab71848..202fb7ed1 100644 ---- a/config.h.meson -+++ b/config.h.meson -@@ -58,6 +58,9 @@ - /* Xwayland applications allowed to issue keyboard grabs */ - #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES - -+/* Defined if libcap-ng is available */ -+#mesondefine HAVE_LIBCAPNG -+ - /* XKB base prefix */ - #mesondefine XKB_BASE - -diff --git a/meson.build b/meson.build -index 3322bd3b1..01c8020fa 100644 ---- a/meson.build -+++ b/meson.build -@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7' - libcanberra_req = '>= 0.26' - libwacom_req = '>= 0.13' - atk_req = '>= 2.5.3' -+libcapng_req = '>= 0.7.9' - - # optional version requirements - udev_req = '>= 228' -@@ -131,6 +131,7 @@ ice_dep = dependency('ice') - atk_dep = dependency('atk', version: atk_req) - libcanberra_dep = dependency('libcanberra', version: libcanberra_req) - dbus_dep = dependency('dbus-1') -+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng')) - - # For now always require X11 support - have_x11 = true -@@ -256,6 +258,7 @@ have_core_tests = false - have_cogl_tests = false - have_clutter_tests = false - have_installed_tests = false -+have_libcapng = libcapng_dep.found() - - if have_tests - have_core_tests = get_option('core_tests') -@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom) - cdata.set('HAVE_SM', have_sm) - cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification) - cdata.set('HAVE_INTROSPECTION', have_introspection) -+cdata.set('HAVE_LIBCAPNG', have_libcapng) - cdata.set('HAVE_PROFILER', have_profiler) - - xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base') -@@ -465,6 +465,7 @@ output = [ - ' Introspection............ ' + have_introspection.to_string(), - ' Profiler................. ' + have_profiler.to_string(), - ' Xwayland initfd.......... ' + have_xwayland_initfd.to_string(), -+ ' libcap-ng................ ' + have_libcapng.to_string(), - '', - ' Tests:', - '', -diff --git a/meson_options.txt b/meson_options.txt -index 73aa7adde..8bfaacd9a 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules', - value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr', - description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland' - ) -+ -+option('libcapng', -+ type: 'feature', -+ value: 'auto', -+ description: 'Enable libcap-ng support' -+) -diff --git a/src/core/main.c b/src/core/main.c -index 7f4f666d2..b27968f13 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -66,6 +66,10 @@ - #include - #endif - -+#ifdef HAVE_LIBCAPNG -+#include -+#endif -+ - #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND) - #include - #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */ -@@ -670,5 +674,12 @@ int - meta_run (void) - { - meta_start (); -+ -+#ifdef HAVE_LIBCAPNG -+ capng_clear(CAPNG_SELECT_BOTH); -+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); -+ capng_apply(CAPNG_SELECT_BOTH); -+#endif -+ - meta_run_main_loop (); - meta_finalize (); -diff --git a/src/meson.build b/src/meson.build -index 90d80734f..a9fffa2c2 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -18,6 +18,7 @@ mutter_pkg_deps = [ - glib_dep, - gsettings_desktop_schemas_dep, - gtk3_dep, -+ libcapng_dep, - pango_dep, - ] - --- -2.23.0 - diff --git a/pkgs/desktops/gnome-3/core/mutter/fix-paths.patch b/pkgs/desktops/gnome-3/core/mutter/fix-paths.patch deleted file mode 100644 index 6ac0a431f61..00000000000 --- a/pkgs/desktops/gnome-3/core/mutter/fix-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/core/util.c b/src/core/util.c -index 57b73747d..f424cc81c 100644 ---- a/src/core/util.c -+++ b/src/core/util.c -@@ -636,7 +636,7 @@ meta_show_dialog (const char *type, - - args = g_ptr_array_new (); - -- append_argument (args, "zenity"); -+ append_argument (args, "@zenity@/bin/zenity"); - append_argument (args, type); - - if (display) diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix deleted file mode 100644 index 29c44ecd6e9..00000000000 --- a/pkgs/desktops/gnome-3/core/nautilus/default.nix +++ /dev/null @@ -1,118 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, libxml2 -, desktop-file-utils -, python3 -, wrapGAppsHook -, gtk3 -, libhandy -, libportal -, gnome3 -, gnome-autoar -, glib-networking -, shared-mime-info -, libnotify -, libexif -, libseccomp -, exempi -, librsvg -, tracker -, tracker-miners -, gexiv2 -, libselinux -, gdk-pixbuf -, substituteAll -, gnome-desktop -, gst_all_1 -, gsettings-desktop-schemas -, gobject-introspection -}: - -stdenv.mkDerivation rec { - pname = "nautilus"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0cwxr7bfa19dvzra81s9wfshzv0zv7ycpfffn4amigd0fh0vkkwf"; - }; - - patches = [ - # Allow changing extension directory using environment variable. - ./extension_dir.patch - - # Hardcode required paths. - (substituteAll { - src = ./fix-paths.patch; - inherit tracker; - }) - ]; - - nativeBuildInputs = [ - desktop-file-utils - gettext - gobject-introspection - libxml2 - meson - ninja - pkg-config - python3 - wrapGAppsHook - ]; - - buildInputs = [ - exempi - gexiv2 - glib-networking - gnome-desktop - gnome3.adwaita-icon-theme - gsettings-desktop-schemas - gst_all_1.gst-plugins-base - gtk3 - libhandy - libportal - libexif - libnotify - libseccomp - libselinux - shared-mime-info - tracker - tracker-miners - ]; - - propagatedBuildInputs = [ - gnome-autoar - ]; - - preFixup = '' - gappsWrapperArgs+=( - # Thumbnailers - --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" - --prefix XDG_DATA_DIRS : "${librsvg}/share" - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - ''; - - postPatch = '' - patchShebangs build-aux/meson/postinstall.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "The file manager for GNOME"; - homepage = "https://wiki.gnome.org/Apps/Files"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/core/nautilus/extension_dir.patch b/pkgs/desktops/gnome-3/core/nautilus/extension_dir.patch deleted file mode 100644 index e1313999675..00000000000 --- a/pkgs/desktops/gnome-3/core/nautilus/extension_dir.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/nautilus-module.c b/src/nautilus-module.c -index 6273a76..4adcc8a 100644 ---- a/src/nautilus-module.c -+++ b/src/nautilus-module.c -@@ -242,11 +242,17 @@ void - nautilus_module_setup (void) - { - static gboolean initialized = FALSE; -+ const gchar* extensiondir = NULL; - - if (!initialized) - { - initialized = TRUE; - -- load_module_dir (NAUTILUS_EXTENSIONDIR); -+ extensiondir = g_getenv ("NAUTILUS_EXTENSION_DIR"); -+ if (extensiondir == NULL) { -+ extensiondir = NAUTILUS_EXTENSIONDIR; -+ } -+ -+ load_module_dir (extensiondir); - - eel_debug_call_at_shutdown (free_module_objects); - } diff --git a/pkgs/desktops/gnome-3/core/nautilus/fix-paths.patch b/pkgs/desktops/gnome-3/core/nautilus/fix-paths.patch deleted file mode 100644 index dc9874359b2..00000000000 --- a/pkgs/desktops/gnome-3/core/nautilus/fix-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/nautilus-tag-manager.c b/src/nautilus-tag-manager.c -index 28b96c996..0b1fad9ab 100644 ---- a/src/nautilus-tag-manager.c -+++ b/src/nautilus-tag-manager.c -@@ -962,7 +962,7 @@ child_watch_cb (GPid pid, - static void - export_tracker2_data (NautilusTagManager *self) - { -- gchar *argv[] = {"tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL}; -+ gchar *argv[] = {"@tracker@/bin/tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL}; - gint stdout_fd; - GPid child_pid; - g_autoptr (GError) error = NULL; diff --git a/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch b/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch deleted file mode 100644 index 6fe651b9cbb..00000000000 --- a/pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/meson.build b/meson.build -index 4aa683d6..a930d533 100644 ---- a/meson.build -+++ b/meson.build -@@ -20,7 +20,11 @@ if not get_option('uninstalled') - rygel_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'rygel') - rygel_libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'), - 'rygel') -- rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) -+ if get_option('sysconfdir_install') != '' -+ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir_install')) -+ else -+ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) -+ endif - rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.6', 'plugins') - rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.6', 'engines') - rygel_presetdir = join_paths(rygel_datadir, 'presets') -@@ -55,7 +59,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir) - conf.set_quoted('PLUGIN_DIR', rygel_plugindir) - conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir) - conf.set_quoted('SMALL_ICON_DIR', rygel_smallicondir) --conf.set_quoted('SYS_CONFIG_DIR', rygel_sysconfdir) -+conf.set_quoted('SYS_CONFIG_DIR', get_option('sysconfdir')) - conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir'))) - conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract')) - conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications')) -diff --git a/meson_options.txt b/meson_options.txt -index cb604c4e..1b049b77 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,6 +1,7 @@ - option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only') - option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation') - option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path') -+option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation') - option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker', 'tracker3']) - option('engines', type : 'array', choices : ['simple', 'gstreamer']) - option('examples', type : 'boolean', value : 'true') diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix deleted file mode 100644 index da82d30214e..00000000000 --- a/pkgs/desktops/gnome-3/core/rygel/default.nix +++ /dev/null @@ -1,110 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, vala -, gettext -, libxml2 -, gobject-introspection -, wrapGAppsHook -, python3 -, glib -, gssdp -, gupnp -, gupnp-av -, gupnp-dlna -, gst_all_1 -, libgee -, libsoup -, gtk3 -, libmediaart -, sqlite -, systemd -, tracker -, shared-mime-info -, gnome3 -}: - -stdenv.mkDerivation rec { - pname = "rygel"; - version = "0.40.1"; - - # TODO: split out lib - outputs = [ "out" "dev" ]; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "QkDXd1mcjNCeZ9pEzLOV0KbceEedgJzWIZgixbVooy0="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - vala - gettext - libxml2 - gobject-introspection - wrapGAppsHook - python3 - ]; - - buildInputs = [ - glib - gssdp - gupnp - gupnp-av - gupnp-dlna - libgee - libsoup - gtk3 - libmediaart - sqlite - systemd - tracker - shared-mime-info - ] ++ (with gst_all_1; [ - gstreamer - gst-editing-services - gst-plugins-base - gst-plugins-good - gst-plugins-bad - gst-plugins-ugly - ]); - - mesonFlags = [ - "-Dsystemd-user-units-dir=${placeholder "out"}/lib/systemd/user" - "-Dapi-docs=false" - "--sysconfdir=/etc" - "-Dsysconfdir_install=${placeholder "out"}/etc" - # Build all plug-ins except for tracker 2 - "-Dplugins=external,gst-launch,lms,media-export,mpris,playbin,ruih,tracker3" - ]; - - doCheck = true; - - patches = [ - ./add-option-for-installation-sysconfdir.patch - ]; - - postPatch = '' - patchShebangs data/xml/process-xml.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - description = "A home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices"; - homepage = "https://wiki.gnome.org/Projects/Rygel"; - license = licenses.lgpl21Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix deleted file mode 100644 index 59d61febc06..00000000000 --- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gettext -, itstool -, python3 -, wrapGAppsHook -, cairo -, gdk-pixbuf -, colord -, glib -, gtk3 -, gusb -, packagekit -, libhandy -, libwebp -, libxml2 -, sane-backends -, vala -, gnome3 -, gobject-introspection -}: - -stdenv.mkDerivation rec { - pname = "simple-scan"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-E4EbsqhhnmOkP8Lva3E1ny1cQITG1cizqtYXJLIHUa8="; - }; - - nativeBuildInputs = [ - meson - ninja - gettext - itstool - pkg-config - python3 - wrapGAppsHook - libxml2 - gobject-introspection # For setup hook - ]; - - buildInputs = [ - cairo - gdk-pixbuf - colord - glib - gnome3.adwaita-icon-theme - gusb - gtk3 - libhandy - libwebp - packagekit - sane-backends - vala - ]; - - postPatch = '' - patchShebangs data/meson_compile_gschema.py - ''; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "simple-scan"; - }; - }; - - meta = with lib; { - description = "Simple scanning utility"; - longDescription = '' - A really easy way to scan both documents and photos. You can crop out the - bad parts of a photo and rotate it if it is the wrong way round. You can - print your scans, export them to pdf, or save them in a range of image - formats. Basically a frontend for SANE - which is the same backend as - XSANE uses. This means that all existing scanners will work and the - interface is well tested. - ''; - homepage = "https://gitlab.gnome.org/GNOME/simple-scan"; - license = licenses.gpl3Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix deleted file mode 100644 index 73097f99e51..00000000000 --- a/pkgs/desktops/gnome-3/core/sushi/default.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, meson -, gettext -, gobject-introspection -, glib -, gnome3 -, gtksourceview4 -, gjs -, webkitgtk -, libmusicbrainz5 -, icu -, wrapGAppsHook -, gst_all_1 -, gdk-pixbuf -, librsvg -, gtk3 -, harfbuzz -, ninja -, epoxy -}: - -stdenv.mkDerivation rec { - pname = "sushi"; - version = "3.38.0"; - - src = fetchurl { - url = "mirror://gnome/sources/sushi/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0vlqqk916dymv4asbyvalp1m096a5hh99nx23i4xavzvgygh4h2h"; - }; - - nativeBuildInputs = [ - pkg-config - meson - ninja - gettext - gobject-introspection - wrapGAppsHook - ]; - - buildInputs = [ - glib - gtk3 - gnome3.evince - icu - harfbuzz - gjs - gtksourceview4 - gdk-pixbuf - librsvg - libmusicbrainz5 - webkitgtk - epoxy - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - ]; - - # See https://github.com/NixOS/nixpkgs/issues/31168 - postInstall = '' - for file in $out/libexec/org.gnome.NautilusPreviewer - do - sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \ - -i $file - done - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "sushi"; - attrPath = "gnome3.sushi"; - }; - }; - - meta = with lib; { - homepage = "https://en.wikipedia.org/wiki/Sushi_(software)"; - description = "A quick previewer for Nautilus"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix deleted file mode 100644 index a98265ff508..00000000000 --- a/pkgs/desktops/gnome-3/core/totem/default.nix +++ /dev/null @@ -1,123 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, gettext -, gst_all_1 -, clutter-gtk -, clutter-gst -, python3Packages -, shared-mime-info -, pkg-config -, gtk3 -, glib -, gobject-introspection -, totem-pl-parser -, wrapGAppsHook -, itstool -, libxml2 -, vala -, gnome3 -, grilo -, grilo-plugins -, libpeas -, adwaita-icon-theme -, gnome-desktop -, gsettings-desktop-schemas -, gdk-pixbuf -, xvfb_run -}: - -stdenv.mkDerivation rec { - pname = "totem"; - version = "3.38.0"; - - src = fetchurl { - url = "mirror://gnome/sources/totem/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8"; - }; - - nativeBuildInputs = [ - meson - ninja - vala - pkg-config - gettext - python3Packages.python - itstool - gobject-introspection - wrapGAppsHook - ]; - - buildInputs = [ - gtk3 - glib - grilo - clutter-gtk - clutter-gst - totem-pl-parser - grilo-plugins - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - gst_all_1.gst-plugins-good - gst_all_1.gst-plugins-bad - gst_all_1.gst-plugins-ugly - gst_all_1.gst-libav - libpeas - shared-mime-info - gdk-pixbuf - libxml2 - adwaita-icon-theme - gnome-desktop - gsettings-desktop-schemas - # for plug-ins - python3Packages.pygobject3 - python3Packages.dbus-python - ]; - - checkInputs = [ - xvfb_run - ]; - - mesonFlags = [ - # TODO: https://github.com/NixOS/nixpkgs/issues/36468 - "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" - ]; - - # Tests do not work with GStreamer 1.18. - # https://gitlab.gnome.org/GNOME/totem/-/issues/450 - doCheck = false; - - postPatch = '' - chmod +x meson_compile_python.py meson_post_install.py # patchShebangs requires executable file - patchShebangs \ - ./meson_compile_python.py \ - ./meson_post_install.py - ''; - - checkPhase = '' - runHook preCheck - - xvfb-run -s '-screen 0 800x600x24' \ - ninja test - - runHook postCheck - ''; - - wrapPrefixVariables = [ "PYTHONPATH" ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "totem"; - attrPath = "gnome3.totem"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Videos"; - description = "Movie player for the GNOME desktop based on GStreamer"; - maintainers = teams.gnome.members; - license = licenses.gpl2Plus; # with exception to allow use of non-GPL compatible plug-ins - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix deleted file mode 100644 index c5e859954ff..00000000000 --- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ lib, stdenv -, gettext -, fetchurl -, pkg-config -, itstool -, libxml2 -, libxslt -, gnome3 -}: - -stdenv.mkDerivation rec { - pname = "yelp-xsl"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-Nh7NTTP8zbO7CKaH9g5cPpCdLp47Ai2ETgSYINDPYrA="; - }; - - nativeBuildInputs = [ - pkg-config - gettext - itstool - libxml2 - libxslt - ]; - - doCheck = true; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Yelp"; - description = "Yelp's universal stylesheets for Mallard and DocBook"; - maintainers = teams.gnome.members; - license = with licenses; [ - # See https://gitlab.gnome.org/GNOME/yelp-xsl/blob/master/COPYING - # Stylesheets - lgpl2Plus - # Icons, unclear: https://gitlab.gnome.org/GNOME/yelp-xsl/issues/25 - gpl2 - # highlight.js - bsd3 - ]; - platforms = platforms.unix; - }; -} diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/core/yelp/default.nix deleted file mode 100644 index 1e1d679f852..00000000000 --- a/pkgs/desktops/gnome-3/core/yelp/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, gettext, fetchurl, webkitgtk, pkg-config, gtk3, glib -, gnome3, sqlite -, itstool, libxml2, libxslt, gst_all_1 -, wrapGAppsHook }: - -stdenv.mkDerivation rec { - pname = "yelp"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-B3dfoGzSg2Xs2Cm7FqhaaCiXqyHYzONFlrvvXNRVquA="; - }; - - nativeBuildInputs = [ pkg-config gettext itstool wrapGAppsHook ]; - buildInputs = [ - gtk3 glib webkitgtk sqlite - libxml2 libxslt gnome3.yelp-xsl - gnome3.adwaita-icon-theme - gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "yelp"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Yelp"; - description = "The help viewer in Gnome"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix deleted file mode 100644 index d02cb581cb8..00000000000 --- a/pkgs/desktops/gnome-3/core/zenity/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, libxml2 -, gnome3 -, gtk3 -, yelp-tools -, gettext -, libX11 -, itstool -, wrapGAppsHook -}: - -stdenv.mkDerivation rec { - pname = "zenity"; - version = "3.32.0"; - - src = fetchurl { - url = "mirror://gnome/sources/zenity/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"; - }; - - nativeBuildInputs = [ - pkg-config - gettext - yelp-tools - itstool - libxml2 - wrapGAppsHook - ]; - - buildInputs = [ - gtk3 - libX11 - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "zenity"; - attrPath = "gnome3.zenity"; - }; - }; - - meta = with lib; { - description = "Tool to display dialogs from the commandline and shell scripts"; - homepage = "https://wiki.gnome.org/Projects/Zenity"; - platforms = platforms.linux; - maintainers = teams.gnome.members; - }; -} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix deleted file mode 100644 index 7d72e16c326..00000000000 --- a/pkgs/desktops/gnome-3/default.nix +++ /dev/null @@ -1,364 +0,0 @@ -{ config, pkgs, lib }: - -lib.makeScope pkgs.newScope (self: with self; { - updateScript = callPackage ./update.nix { }; - - /* Remove packages of packagesToRemove from packages, based on their names - - Type: - removePackagesByName :: [package] -> [package] -> [package] - - Example: - removePackagesByName [ nautilus file-roller ] [ file-roller totem ] - => [ nautilus ] - */ - removePackagesByName = packages: packagesToRemove: - let - namesToRemove = map lib.getName packagesToRemove; - in - lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages; - - libsoup = pkgs.libsoup.override { gnomeSupport = true; }; - libchamplain = pkgs.libchamplain.override { libsoup = libsoup; }; - gnome3 = self // { recurseForDerivations = false; }; - -# ISO installer -# installerIso = callPackage ./installer.nix {}; - -#### Core (http://ftp.acc.umu.se/pub/GNOME/core/) - - adwaita-icon-theme = callPackage ./core/adwaita-icon-theme { }; - - baobab = callPackage ./core/baobab { }; - - caribou = callPackage ./core/caribou { }; - - dconf-editor = callPackage ./core/dconf-editor { }; - - empathy = callPackage ./core/empathy { }; - - epiphany = callPackage ./core/epiphany { }; - - evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests - - evolution-data-server = callPackage ./core/evolution-data-server { }; - - gdm = callPackage ./core/gdm { }; - - gnome-backgrounds = callPackage ./core/gnome-backgrounds { }; - - gnome-bluetooth = callPackage ./core/gnome-bluetooth { }; - - gnome-color-manager = callPackage ./core/gnome-color-manager { }; - - gnome-contacts = callPackage ./core/gnome-contacts { }; - - gnome-control-center = callPackage ./core/gnome-control-center { }; - - gnome-calculator = callPackage ./core/gnome-calculator { }; - - gnome-common = callPackage ./core/gnome-common { }; - - gnome-desktop = callPackage ./core/gnome-desktop { }; - - gnome-dictionary = callPackage ./core/gnome-dictionary { }; - - gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; - - gnome-font-viewer = callPackage ./core/gnome-font-viewer { }; - - gnome-keyring = callPackage ./core/gnome-keyring { }; - - libgnome-keyring = callPackage ./core/libgnome-keyring { }; - - gnome-initial-setup = callPackage ./core/gnome-initial-setup { }; - - gnome-online-miners = callPackage ./core/gnome-online-miners { }; - - gnome-remote-desktop = callPackage ./core/gnome-remote-desktop { }; - - gnome-session = callPackage ./core/gnome-session { }; - - gnome-session-ctl = callPackage ./core/gnome-session/ctl.nix { }; - - gnome-shell = callPackage ./core/gnome-shell { }; - - gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { }; - - gnome-screenshot = callPackage ./core/gnome-screenshot { }; - - gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { }; - - gnome-software = callPackage ./core/gnome-software { }; - - gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; - - gnome-terminal = callPackage ./core/gnome-terminal { }; - - gnome-themes-extra = callPackage ./core/gnome-themes-extra { }; - - gnome-user-share = callPackage ./core/gnome-user-share { }; - - gucharmap = callPackage ./core/gucharmap { }; - - gvfs = pkgs.gvfs.override { gnomeSupport = true; }; - - eog = callPackage ./core/eog { }; - - mutter = callPackage ./core/mutter { }; - - # Needed for elementary's gala and greeter until 3.36 support has more bugfixes - # https://github.com/elementary/gala/issues/763 - mutter334 = callPackage ./core/mutter/3.34 { }; - - nautilus = callPackage ./core/nautilus { }; - - networkmanager-openvpn = pkgs.networkmanager-openvpn.override { - withGnome = true; - }; - - networkmanager-vpnc = pkgs.networkmanager-vpnc.override { - withGnome = true; - }; - - networkmanager-openconnect = pkgs.networkmanager-openconnect.override { - withGnome = true; - }; - - networkmanager-fortisslvpn = pkgs.networkmanager-fortisslvpn.override { - withGnome = true; - }; - - networkmanager-l2tp = pkgs.networkmanager-l2tp.override { - withGnome = true; - }; - - networkmanager-iodine = pkgs.networkmanager-iodine.override { - withGnome = true; - }; - - rygel = callPackage ./core/rygel { }; - - simple-scan = callPackage ./core/simple-scan { }; - - sushi = callPackage ./core/sushi { }; - - totem = callPackage ./core/totem { }; - - yelp = callPackage ./core/yelp { }; - - yelp-xsl = callPackage ./core/yelp-xsl { }; - - zenity = callPackage ./core/zenity { }; - - -#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) - - accerciser = callPackage ./apps/accerciser { }; - - cheese = callPackage ./apps/cheese { }; - - file-roller = callPackage ./apps/file-roller { }; - - gedit = callPackage ./apps/gedit { }; - - ghex = callPackage ./apps/ghex { }; - - gnome-books = callPackage ./apps/gnome-books { }; - - gnome-boxes = callPackage ./apps/gnome-boxes { }; - - gnome-calendar = callPackage ./apps/gnome-calendar { }; - - gnome-characters = callPackage ./apps/gnome-characters { }; - - gnome-clocks = callPackage ./apps/gnome-clocks { }; - - gnome-documents = callPackage ./apps/gnome-documents { }; - - gnome-logs = callPackage ./apps/gnome-logs { }; - - gnome-maps = callPackage ./apps/gnome-maps { }; - - gnome-music = callPackage ./apps/gnome-music { }; - - gnome-nettool = callPackage ./apps/gnome-nettool { }; - - gnome-notes = callPackage ./apps/gnome-notes { }; - - gnome-power-manager = callPackage ./apps/gnome-power-manager { }; - - gnome-sound-recorder = callPackage ./apps/gnome-sound-recorder { }; - - gnome-todo = callPackage ./apps/gnome-todo {}; - - gnome-weather = callPackage ./apps/gnome-weather { }; - - polari = callPackage ./apps/polari { }; - - seahorse = callPackage ./apps/seahorse { }; - - vinagre = callPackage ./apps/vinagre { }; - -#### Dev http://ftp.gnome.org/pub/GNOME/devtools/ - - anjuta = callPackage ./devtools/anjuta { }; - - devhelp = callPackage ./devtools/devhelp { }; - - gnome-devel-docs = callPackage ./devtools/gnome-devel-docs { }; - -#### Games - - aisleriot = callPackage ./games/aisleriot { }; - - atomix = callPackage ./games/atomix { }; - - five-or-more = callPackage ./games/five-or-more { }; - - four-in-a-row = callPackage ./games/four-in-a-row { }; - - gnome-chess = callPackage ./games/gnome-chess { }; - - gnome-klotski = callPackage ./games/gnome-klotski { }; - - gnome-mahjongg = callPackage ./games/gnome-mahjongg { }; - - gnome-mines = callPackage ./games/gnome-mines { }; - - gnome-nibbles = callPackage ./games/gnome-nibbles { }; - - gnome-robots = callPackage ./games/gnome-robots { }; - - gnome-sudoku = callPackage ./games/gnome-sudoku { }; - - gnome-taquin = callPackage ./games/gnome-taquin { }; - - gnome-tetravex = callPackage ./games/gnome-tetravex { }; - - hitori = callPackage ./games/hitori { }; - - iagno = callPackage ./games/iagno { }; - - lightsoff = callPackage ./games/lightsoff { }; - - swell-foop = callPackage ./games/swell-foop { }; - - tali = callPackage ./games/tali { }; - - quadrapassel = callPackage ./games/quadrapassel { }; - -#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ - - geary = callPackage ./misc/geary { }; - - gitg = callPackage ./misc/gitg { }; - - libgnome-games-support = callPackage ./misc/libgnome-games-support { }; - - gnome-applets = callPackage ./misc/gnome-applets { }; - - gnome-flashback = callPackage ./misc/gnome-flashback { }; - - gnome-panel = callPackage ./misc/gnome-panel { - autoreconfHook = pkgs.autoreconfHook269; - }; - - gnome-tweaks = callPackage ./misc/gnome-tweaks { }; - - gpaste = callPackage ./misc/gpaste { }; - - metacity = callPackage ./misc/metacity { }; - - nautilus-python = callPackage ./misc/nautilus-python { }; - - gtkhtml = callPackage ./misc/gtkhtml { enchant = pkgs.enchant1; }; - - pomodoro = callPackage ./misc/pomodoro { }; - - gnome-autoar = callPackage ./misc/gnome-autoar { }; - - gnome-packagekit = callPackage ./misc/gnome-packagekit { }; -} // lib.optionalAttrs (config.allowAliases or true) { -#### Legacy aliases - - bijiben = gnome-notes; # added 2018-09-26 - evolution_data_server = evolution-data-server; # added 2018-02-25 - geocode_glib = pkgs.geocode-glib; # added 2018-02-25 - glib_networking = pkgs.glib-networking; # added 2018-02-25 - gnome_common = gnome-common; # added 2018-02-25 - gnome_control_center = gnome-control-center; # added 2018-02-25 - gnome_desktop = gnome-desktop; # added 2018-02-25 - gnome_keyring = gnome-keyring; # added 2018-02-25 - gnome_online_accounts = gnome-online-accounts; # added 2018-02-25 - gnome_session = gnome-session; # added 2018-02-25 - gnome_settings_daemon = gnome-settings-daemon; # added 2018-02-25 - gnome_shell = gnome-shell; # added 2018-02-25 - gnome_terminal = gnome-terminal; # added 2018-02-25 - gnome-themes-standard = gnome-themes-extra; # added 2018-03-14 - gnome_themes_standard = gnome-themes-standard; # added 2018-02-25 - gnome-tweak-tool = gnome-tweaks; # added 2018-03-21 - gsettings_desktop_schemas = gsettings-desktop-schemas; # added 2018-02-25 - libgames-support = libgnome-games-support; # added 2018-03-14 - libgnome_keyring = libgnome-keyring; # added 2018-02-25 - inherit (pkgs) rarian; # added 2018-04-25 - networkmanager_fortisslvpn = networkmanager-fortisslvpn; # added 2018-02-25 - networkmanager_iodine = networkmanager-iodine; # added 2018-02-25 - networkmanager_l2tp = networkmanager-l2tp; # added 2018-02-25 - networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25 - networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25 - networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25 - yelp_xsl = yelp-xsl; # added 2018-02-25 - yelp_tools = yelp-tools; # added 2018-02-25 - - # added 2019-02-08 - inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3 - libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4 - easytag meld orca rhythmbox shotwell gnome-usage - clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl; - inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16 - inherit (pkgs) gnome-video-effects; # added 2019-08-19 - inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23 - inherit (pkgs) glib-networking; # added 2019-09-02 - inherit (pkgs) nemiver; # added 2019-09-09 - - defaultIconTheme = adwaita-icon-theme; - gtk = gtk3; - gtkmm = gtkmm3; - rest = librest; - - pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01 - - # added 2019-08-25 - corePackages = throw "gnome3.corePackages is removed since 2019-08-25: please use `services.gnome3.core-shell.enable`"; - optionalPackages = throw "gnome3.optionalPackages is removed since 2019-08-25: please use `services.gnome3.core-utilities.enable`"; - gamesPackages = throw "gnome3.gamesPackages is removed since 2019-08-25: please use `services.gnome3.games.enable`"; - - nautilus-sendto = throw "nautilus-sendto is removed since 2019-09-17: abandoned upstream"; - - inherit (pkgs) vala; # added 2019-10-10 - - inherit (pkgs) gnome-user-docs; # added 2019-11-20 - - inherit (pkgs) gegl_0_4; # added 2019-10-31 - - inherit (pkgs) gjs; # added 2019-01-05 - - inherit (pkgs) yelp-tools; # added 2019-11-20 - - inherit (pkgs) dconf; # added 2019-11-30 - - inherit (pkgs) networkmanagerapplet; # added 2019-12-12 - - inherit (pkgs) glade; # added 2020-05-15 - - vino = throw "vino is deprecated, use gnome-remote-desktop instead."; # added 2020-03-13 - - gnome-screensaver = throw "gnome-screensaver is deprecated. If you are using GNOME Flashback, it now has a built-in lock screen. If you are using it elsewhere, you can try xscreenlock or other alternatives."; # added 2020-03-19 - - maintainers = lib.teams.gnome.members; - - mutter328 = throw "Removed as Pantheon is upgraded to mutter334."; - - gnome-getting-started-docs = throw "Removed in favour of gnome-tour."; -}) diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix deleted file mode 100644 index 4802287cb12..00000000000 --- a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gnome3, gtk3, gjs, flex, bison, libxml2, intltool, - gdl, libgda, gtksourceview, gsettings-desktop-schemas, - itstool, python3, ncurses, makeWrapper }: - -stdenv.mkDerivation rec { - pname = "anjuta"; - version = "3.34.0"; - - src = fetchurl { - url = "mirror://gnome/sources/anjuta/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "13ql7axw6zz387s7pa1m7wmh7qps3x7fk53h9832vq1yxlq33aa2"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "anjuta"; attrPath = "gnome3.anjuta"; }; - }; - - enableParallelBuilding = true; - - nativeBuildInputs = [ - pkg-config intltool itstool python3 makeWrapper - # Required by python3 - ncurses - ]; - buildInputs = [ - flex bison gtk3 libxml2 gjs gdl - libgda gtksourceview - gsettings-desktop-schemas - ]; - - preFixup = '' - wrapProgram $out/bin/anjuta \ - --prefix XDG_DATA_DIRS : \ - "$GSETTINGS_SCHEMAS_PATH" - ''; - - meta = with lib; { - description = "Software development studio"; - homepage = "http://anjuta.org/"; - license = licenses.gpl2; - maintainers = with maintainers; []; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix b/pkgs/desktops/gnome-3/devtools/devhelp/default.nix deleted file mode 100644 index 9a68f151b4a..00000000000 --- a/pkgs/desktops/gnome-3/devtools/devhelp/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gnome3 -, gtk3 -, wrapGAppsHook -, glib -, amtk -, appstream-glib -, gobject-introspection -, python3 -, webkitgtk -, gettext -, itstool -, gsettings-desktop-schemas -, shared-mime-info -}: - -stdenv.mkDerivation rec { - pname = "devhelp"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/devhelp/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0zr64qp5c6jcc3x5hmfp7jhzpi96qwr6xplyfkmz4kjzvr9xidjd"; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - wrapGAppsHook - appstream-glib - gobject-introspection - python3 - ]; - - buildInputs = [ - glib - gtk3 - webkitgtk - amtk - gnome3.adwaita-icon-theme - gsettings-desktop-schemas - ]; - - doCheck = true; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - preFixup = '' - gappsWrapperArgs+=( - # Fix pages being blank - # https://gitlab.gnome.org/GNOME/devhelp/issues/14 - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "devhelp"; - attrPath = "gnome3.devhelp"; - }; - }; - - meta = with lib; { - description = "API documentation browser for GNOME"; - homepage = "https://wiki.gnome.org/Apps/Devhelp"; - license = licenses.gpl3Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix b/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix deleted file mode 100644 index 6349a318456..00000000000 --- a/pkgs/desktops/gnome-3/devtools/gnome-devel-docs/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, stdenv, fetchurl, gnome3, intltool, itstool, libxml2 }: - -stdenv.mkDerivation rec { - pname = "gnome-devel-docs"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-devel-docs/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0zqp01ks8m3s6jn5xqd05rw4fwbvxy5qvcfg9g50b2ar2j7v1ar8"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-devel-docs"; attrPath = "gnome3.gnome-devel-docs"; }; - }; - - buildInputs = [ intltool itstool libxml2 ]; - - meta = with lib; { - homepage = "https://github.com/GNOME/gnome-devel-docs"; - description = "Developer documentation for GNOME"; - maintainers = teams.gnome.members; - license = licenses.fdl12; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix deleted file mode 100644 index fa1d89173fd..00000000000 --- a/pkgs/desktops/gnome-3/extensions/EasyScreenCast/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome3, gettext }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-EasyScreenCast"; - version = "unstable-2020-11-25"; - - src = fetchFromGitHub { - # To make it work with gnome 3.38, using effectively: https://github.com/EasyScreenCast/EasyScreenCast/pull/276 - owner = "Ian2020"; - repo = "EasyScreenCast"; - rev = "b1ab4a999bc7110ecbf68b5fe42c37fa67d7cb0d"; - sha256 = "s9b0ITKUzgG6XOd1bK7i3mGxfc+T+UHrTZhBp0Ff8zQ="; - }; - - patches = [ - (substituteAll { - src = ./fix-gi-path.patch; - gnomeShell = gnome3.gnome-shell; - }) - ]; - - nativeBuildInputs = [ - glib gettext - ]; - - makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; - - uuid = "EasyScreenCast@iacopodeenosee.gmail.com"; - - meta = with lib; { - description = "Simplifies the use of the video recording function integrated in gnome shell"; - homepage = "https://github.com/EasyScreenCast/EasyScreenCast"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ doronbehar ]; - platforms = platforms.linux; - }; -} - diff --git a/pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch b/pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch deleted file mode 100644 index 2d32021b6c6..00000000000 --- a/pkgs/desktops/gnome-3/extensions/EasyScreenCast/fix-gi-path.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git i/utilaudio.js w/utilaudio.js -index 983b29c..7a94de8 100644 ---- i/utilaudio.js -+++ w/utilaudio.js -@@ -11,10 +11,7 @@ - */ - - const GIRepository = imports.gi.GIRepository; --GIRepository.Repository.prepend_search_path("/usr/lib/gnome-shell"); --GIRepository.Repository.prepend_library_path("/usr/lib/gnome-shell"); --GIRepository.Repository.prepend_search_path("/usr/lib64/gnome-shell"); --GIRepository.Repository.prepend_library_path("/usr/lib64/gnome-shell"); -+GIRepository.Repository.prepend_search_path("@gnomeShell@/lib/gnome-shell"); - const Gvc = imports.gi.Gvc; - const Lang = imports.lang; - diff --git a/pkgs/desktops/gnome-3/extensions/appindicator/default.nix b/pkgs/desktops/gnome-3/extensions/appindicator/default.nix deleted file mode 100644 index aaf8c92c672..00000000000 --- a/pkgs/desktops/gnome-3/extensions/appindicator/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-appindicator"; - version = "36"; - - src = fetchFromGitHub { - owner = "Ubuntu"; - repo = "gnome-shell-extension-appindicator"; - rev = "v${version}"; - sha256 = "1nx1lgrrp3w5z5hymb91frjdvdkk7x677my5v4jjd330ihqa02dq"; - }; - - # This package has a Makefile, but it's used for building a zip for - # publication to extensions.gnome.org. Disable the build phase so - # installing doesn't build an unnecessary release. - dontBuild = true; - - uuid = "appindicatorsupport@rgcjonas.gmail.com"; - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp *.js $out/share/gnome-shell/extensions/${uuid} - cp -r interfaces-xml $out/share/gnome-shell/extensions/${uuid} - cp metadata.json $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "AppIndicator/KStatusNotifierItem support for GNOME Shell"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ jonafato ]; - platforms = gnome3.gnome-shell.meta.platforms; - homepage = "https://github.com/Ubuntu/gnome-shell-extension-appindicator"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/arcmenu/default.nix b/pkgs/desktops/gnome-3/extensions/arcmenu/default.nix deleted file mode 100644 index 851a816c61c..00000000000 --- a/pkgs/desktops/gnome-3/extensions/arcmenu/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-arcmenu"; - version = "5"; - - src = fetchFromGitLab { - owner = "arcmenu"; - repo = "ArcMenu"; - rev = "v${version}"; - sha256 = "1w4avvnp08l7lkf76vc7wvfn1cd81l4r4dhz8qnai49rvrjgqcg3"; - }; - - patches = [ - (substituteAll { - src = ./fix_gmenu.patch; - gmenu_path = "${gnome-menus}/lib/girepository-1.0"; - }) - ]; - - buildInputs = [ - glib gettext - ]; - - makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ]; - - uuid = "arcmenu@arcmenu.com"; - - meta = with lib; { - description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ dkabot ]; - homepage = "https://gitlab.com/arcmenu/ArcMenu"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch b/pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch deleted file mode 100644 index 5d8584f52a6..00000000000 --- a/pkgs/desktops/gnome-3/extensions/arcmenu/fix_gmenu.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/extension.js -+++ b/extension.js -@@ -23,6 +23,8 @@ - - const Me = imports.misc.extensionUtils.getCurrentExtension(); - -+imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@'); -+ - const {GLib, Gio, St} = imports.gi; - const Constants = Me.imports.constants; - const Controller = Me.imports.controller; diff --git a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix deleted file mode 100644 index 41155391f89..00000000000 --- a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib, gettext, bash, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-caffeine"; - version = "37"; - - src = fetchFromGitHub { - owner = "eonpatapon"; - repo = "gnome-shell-extension-caffeine"; - rev = "v${version}"; - sha256 = "1mpa0fbpmv3pblb20dxj8iykn4ayvx89qffpcs67bzlq597zsbkb"; - }; - - uuid = "caffeine@patapon.info"; - - nativeBuildInputs = [ - glib gettext - ]; - - buildPhase = '' - runHook preBuild - ${bash}/bin/bash ./update-locale.sh - glib-compile-schemas --strict --targetdir=caffeine@patapon.info/schemas/ caffeine@patapon.info/schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "Fill the cup to inhibit auto suspend and screensaver"; - license = licenses.gpl2; - maintainers = with maintainers; [ eperuffo ]; - homepage = "https://github.com/eonpatapon/gnome-shell-extension-caffeine"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix b/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix deleted file mode 100644 index f6adf85de4d..00000000000 --- a/pkgs/desktops/gnome-3/extensions/chrome-gnome-shell/default.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ lib, stdenv -, fetchurl -, cmake -, ninja -, jq -, python3 -, gnome3 -, wrapGAppsHook -, gobject-introspection -}: - -let - inherit (python3.pkgs) python pygobject3 requests; -in -stdenv.mkDerivation rec { - pname = "chrome-gnome-shell"; - version = "10.1"; - - src = fetchurl { - url = "mirror://gnome/sources/chrome-gnome-shell/${version}/${pname}-${version}.tar.xz"; - sha256 = "0f54xyamm383ypbh0ndkza0pif6ljddg2f947p265fkqj3p4zban"; - }; - - nativeBuildInputs = [ - cmake - ninja - jq - wrapGAppsHook - gobject-introspection # for setup-hook - ]; - - buildInputs = [ - gnome3.gnome-shell - python - pygobject3 - requests - gobject-introspection # for Gio typelib - ]; - - cmakeFlags = [ - "-DBUILD_EXTENSION=OFF" - ]; - - wrapPrefixVariables = [ - "PYTHONPATH" - ]; - - # cmake setup hook changes /etc/opt into /var/empty - dontFixCmake = true; - - preConfigure = '' - substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc" - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "chrome-gnome-shell"; - }; - }; - - meta = with lib; { - description = "GNOME Shell integration for Chrome"; - homepage = "https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome"; - longDescription = '' - To use the integration, install the browser extension, and then set to true. - ''; - license = licenses.gpl3; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix b/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix deleted file mode 100644 index ee64fc5113d..00000000000 --- a/pkgs/desktops/gnome-3/extensions/clipboard-indicator/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-clipboard-indicator"; - version = "37"; - - src = fetchFromGitHub { - owner = "Tudmotu"; - repo = "gnome-shell-extension-clipboard-indicator"; - rev = "v${version}"; - sha256 = "0npxhaam2ra2b9zh2gk2q0n5snlhx6glz86m3jf8hz037w920k41"; - }; - - uuid = "clipboard-indicator@tudmotu.com"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r * $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "Adds a clipboard indicator to the top panel and saves clipboard history"; - license = licenses.mit; - maintainers = with maintainers; [ jonafato ]; - platforms = platforms.linux; - homepage = "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/clock-override/default.nix b/pkgs/desktops/gnome-3/extensions/clock-override/default.nix deleted file mode 100644 index 6d3a752c886..00000000000 --- a/pkgs/desktops/gnome-3/extensions/clock-override/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchzip, gnome3, gettext, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-clock-override"; - version = "12"; - - src = fetchzip { - url = "https://extensions.gnome.org/extension-data/clock-overridegnomeshell.kryogenix.org.v${version}.shell-extension.zip"; - sha256 = "1cyaszks6bwnbgacqsl1pmr24mbj05mad59d4253la9am8ibb4m6"; - stripRoot = false; - }; - - uuid = "clock-override@gnomeshell.kryogenix.org"; - - nativeBuildInputs = [ gettext glib ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas --strict --targetdir=schemas schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r {convenience.js,extension.js,format.js,locale,metadata.json,prefs.js,schemas} $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "Customize the date and time format displayed in clock in the top bar in GNOME Shell"; - license = licenses.mit; - maintainers = with maintainers; [ rhoriguchi ]; - homepage = "https://github.com/stuartlangridge/gnome-shell-clock-override"; - broken = versionOlder gnome3.gnome-shell.version "3.18"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix deleted file mode 100644 index 45233e52f89..00000000000 --- a/pkgs/desktops/gnome-3/extensions/dash-to-dock/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, glib -, gettext -}: - -stdenv.mkDerivation rec { - pname = "gnome-shell-dash-to-dock"; - version = "69"; - - src = fetchFromGitHub { - owner = "micheleg"; - repo = "dash-to-dock"; - rev = "extensions.gnome.org-v" + version; - hash = "sha256-YuLtC7E8dK57JSuFdbDQe5Ml+KQfl9qSdrHdVhFaNiE="; - }; - - nativeBuildInputs = [ - glib - gettext - ]; - - makeFlags = [ - "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" - ]; - - uuid = "dash-to-dock@micxgx.gmail.com"; - - meta = with lib; { - description = "A dock for the Gnome Shell"; - homepage = "https://micheleg.github.io/dash-to-dock/"; - license = licenses.gpl2; - maintainers = with maintainers; [ eperuffo jtojnar ]; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix deleted file mode 100644 index 7a9dc066cc7..00000000000 --- a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib, gettext }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-dash-to-panel"; - version = "40"; - - src = fetchFromGitHub { - owner = "home-sweet-gnome"; - repo = "dash-to-panel"; - rev = "v${version}"; - sha256 = "07jq8d16nn62ikis896nyfn3q02f5srj754fmiblhz472q4ljc3p"; - }; - - buildInputs = [ - glib gettext - ]; - - makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; - - uuid = "dash-to-panel@jderose9.github.com"; - - meta = with lib; { - description = "An icon taskbar for Gnome Shell"; - license = licenses.gpl2; - maintainers = with maintainers; [ mounium ]; - homepage = "https://github.com/jderose9/dash-to-panel"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix b/pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix deleted file mode 100644 index 0a9145de3db..00000000000 --- a/pkgs/desktops/gnome-3/extensions/disable-unredirect/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-disable-unredirect"; - version = "unstable-2021-01-17"; - - src = fetchFromGitHub { - owner = "kazysmaster"; - repo = "gnome-shell-extension-disable-unredirect"; - rev = "2ecb2f489ea3316b77d04f03a0c885f322c67e79"; - sha256 = "1rjyrg8qya0asndxr7189a9npww0rcxk02wkxrxjy7fdp5m89p7y"; - }; - - uuid = "unredirect@vaina.lt"; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/gnome-shell/extensions - cp -R ${uuid} $out/share/gnome-shell/extensions/${uuid} - - runHook postInstall - ''; - - meta = with lib; { - description = "Disables unredirect fullscreen windows in gnome-shell to avoid tearing"; - license = licenses.gpl3Only; - homepage = "https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect"; - maintainers = with maintainers; [ eduardosm ]; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix b/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix deleted file mode 100644 index 0e0dab64be1..00000000000 --- a/pkgs/desktops/gnome-3/extensions/draw-on-your-screen/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, stdenv, fetchgit, gettext, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-draw-on-your-screen"; - version = "10"; - - src = fetchgit { - url = "https://framagit.org/abakkk/DrawOnYourScreen/"; - rev = "v${version}"; - sha256 = "07adzg3mf6k0pmd9lc358w0w3l4pr3p6374day1qhmci2p4zxq6p"; - }; - - uuid = "drawOnYourScreen@abakkk.framagit.org"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r . $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "A drawing extension for GNOME Shell"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ ericdallo ahuzik ]; - platforms = gnome3.gnome-shell.meta.platforms; - homepage = "https://framagit.org/abakkk/DrawOnYourScreen"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix deleted file mode 100644 index 8cd567a590d..00000000000 --- a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, gjs, vte, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-drop-down-terminal"; - version = "unstable-2020-03-25"; - - src = fetchFromGitHub { - owner = "zzrough"; - repo = "gs-extensions-drop-down-terminal"; - rev = "a59669afdb395b3315619f62c1f740f8b2f0690d"; - sha256 = "0igfxgrjdqq6z6xg4rsawxn261pk25g5dw2pm3bhwz5sqsy4bq3i"; - }; - - uuid = "drop-down-terminal@gs-extensions.zzrough.org"; - - patches = [ - (substituteAll { - src = ./fix_vte_and_gjs.patch; - inherit gjs vte; - }) - ]; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions/ - runHook postInstall - ''; - - meta = with lib; { - description = "Configurable drop down terminal shell"; - license = licenses.gpl3; - maintainers = with maintainers; [ ericdallo ]; - homepage = "https://github.com/zzrough/gs-extensions-drop-down-terminal"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch b/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch deleted file mode 100644 index 3544c91ee89..00000000000 --- a/pkgs/desktops/gnome-3/extensions/drop-down-terminal/fix_vte_and_gjs.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/drop-down-terminal@gs-extensions.zzrough.org/extension.js -+++ b/drop-down-terminal@gs-extensions.zzrough.org/extension.js -@@ -15,6 +15,8 @@ - - // Author: Stéphane Démurget - -+imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0') -+ - const Lang = imports.lang; - const Gettext = imports.gettext.domain("drop-down-terminal"); - const Mainloop = imports.mainloop; -@@ -653,7 +655,7 @@ const DropDownTerminalExtension = new Lang.Class({ - this._killingChild = false; - - // finds the forking arguments -- let args = ["gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path]; -+ let args = ["@gjs@/bin/gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path]; - - // forks the process - debug("forking '" + args.join(" ") + "'"); ---- a/drop-down-terminal@gs-extensions.zzrough.org/terminal.js -+++ b/drop-down-terminal@gs-extensions.zzrough.org/terminal.js -@@ -14,6 +14,9 @@ - // along with this program. If not, see . - - // Author: Stéphane Démurget -+ -+imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0') -+ - const Lang = imports.lang; - - const Pango = imports.gi.Pango; diff --git a/pkgs/desktops/gnome-3/extensions/dynamic-panel-transparency/default.nix b/pkgs/desktops/gnome-3/extensions/dynamic-panel-transparency/default.nix deleted file mode 100644 index bf637ecab18..00000000000 --- a/pkgs/desktops/gnome-3/extensions/dynamic-panel-transparency/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, gnome3, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-dynamic-panel-transparency"; - version = "35"; - - src = fetchFromGitHub { - owner = "ewlsh"; - repo = "dynamic-panel-transparency"; - rev = "0800c0a921bb25f51f6a5ca2e6981b1669a69aec"; - sha256 = "0200mx861mlsi9lf7h108yam02jfqqw55r521chkgmk4fy6z99pq"; - }; - - uuid = "dynamic-panel-transparency@rockon999.github.io"; - - nativeBuildInputs = [ glib ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas --strict --targetdir=${uuid}/schemas/ ${uuid}/schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "This extension fades your top panel to nothingness when there are no maximized windows present"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ rhoriguchi ]; - homepage = "https://github.com/ewlsh/dynamic-panel-transparency"; - broken = versionOlder gnome3.gnome-shell.version "3.36"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/emoji-selector/default.nix b/pkgs/desktops/gnome-3/extensions/emoji-selector/default.nix deleted file mode 100644 index 5470dc996be..00000000000 --- a/pkgs/desktops/gnome-3/extensions/emoji-selector/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib, gettext }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-emoji-selector"; - version = "19"; - - src = fetchFromGitHub { - owner = "maoschanz"; - repo = "emoji-selector-for-gnome"; - rev = version; - sha256 = "0x60pg5nl5d73av494dg29hyfml7fbf2d03wm053vx1q8a3pxbyb"; - }; - - uuid = "emoji-selector@maestroschan.fr"; - - nativeBuildInputs = [ glib ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas ./${uuid}/schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = - "GNOME Shell extension providing a searchable popup menu displaying most emojis"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ rawkode ]; - homepage = "https://github.com/maoschanz/emoji-selector-for-gnome"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/freon/default.nix b/pkgs/desktops/gnome-3/extensions/freon/default.nix deleted file mode 100644 index f30e2f6f8a2..00000000000 --- a/pkgs/desktops/gnome-3/extensions/freon/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-freon"; - version = "40"; - - uuid = "freon@UshakovVasilii_Github.yahoo.com"; - - src = fetchFromGitHub { - owner = "UshakovVasilii"; - repo = "gnome-shell-extension-freon"; - rev = "EGO-${version}"; - sha256 = "0ak6f5dds9kk3kqww681gs3l1mj3vf22icrvb5m257s299rq8yzl"; - }; - - nativeBuildInputs = [ glib ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas --strict --targetdir=${uuid}/schemas ${uuid}/schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "GNOME Shell extension for displaying CPU, GPU, disk temperatures, voltage and fan RPM in the top panel"; - license = licenses.gpl2; - maintainers = with maintainers; [ justinas ]; - homepage = "https://github.com/UshakovVasilii/gnome-shell-extension-freon"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix b/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix deleted file mode 100755 index f8a8803435b..00000000000 --- a/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ lib, stdenv, fetchFromGitLab, gnome3, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-fuzzy-app-search"; - version = "4"; - - src = fetchFromGitLab { - owner = "Czarlie"; - repo = "gnome-fuzzy-app-search"; - rev = "da9c15d39958d9c3b38df3b616fd40b85aed24e5"; - sha256 = "1r3qha530s97x818znn1wi76f4x9bhlgi7jlxfwjnrwys62cv5fn"; - }; - - uuid = "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com"; - - nativeBuildInputs = [ glib ]; - - patches = [ ./fix-desktop-file-paths.patch ]; - - makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ]; - - meta = with lib; { - description = "Fuzzy application search results for Gnome Search"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ rhoriguchi ]; - homepage = "https://gitlab.com/Czarlie/gnome-fuzzy-app-search"; - broken = versionOlder gnome3.gnome-shell.version "3.18"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch b/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch deleted file mode 100755 index 1795f998c9b..00000000000 --- a/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/applicationsUtils.js b/applicationsUtils.js -index 728223b..aa9f291 100644 ---- a/applicationsUtils.js -+++ b/applicationsUtils.js -@@ -44,27 +44,24 @@ var Search = new Lang.Class({ - * @return {Void} - */ - _init: function () { -- let dir = [ -- "/usr/share/applications", -- GLib.get_home_dir() + "/.local/share/applications", -- ]; -- -- // listen object - file/monitor list -- this._listen = dir.map((path) => { -- let file = Gio.File.new_for_path(path); -- let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null); -- -- // refresh on each directory change -- monitor.connect( -- "changed", -- Lang.bind(this, this._handleMonitorChanged) -- ); -- -- return { -- file: file, -- monitor: monitor, -- }; -- }); -+ this._listen = [...new Set(GLib.get_system_data_dirs())] -+ .filter((path) => path.endsWith("/share")) -+ .map((path) => Gio.File.new_for_path(path + "/applications")) -+ .filter((file) => file.query_exists(null)) -+ .map((file) => { -+ let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null); -+ -+ // refresh on each directory change -+ monitor.connect( -+ "changed", -+ Lang.bind(this, this._handleMonitorChanged) -+ ); -+ -+ return { -+ file: file, -+ monitor: monitor, -+ }; -+ }); - this._interval = null; - this._data = {}; - \ No newline at end of file diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix b/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix deleted file mode 100644 index d432043d380..00000000000 --- a/pkgs/desktops/gnome-3/extensions/gsconnect/default.nix +++ /dev/null @@ -1,116 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, substituteAll -, openssl -, gsound -, meson -, ninja -, pkg-config -, gobject-introspection -, wrapGAppsHook -, glib -, glib-networking -, gtk3 -, openssh -, gnome3 -, gjs -, nixosTests -}: - -stdenv.mkDerivation rec { - pname = "gnome-shell-gsconnect"; - version = "46"; - - outputs = [ "out" "installedTests" ]; - - src = fetchFromGitHub { - owner = "andyholmes"; - repo = "gnome-shell-extension-gsconnect"; - rev = "v${version}"; - sha256 = "161379kipr6z6gbhchb5b17djrkg5fbvblyyabzkc2gv05r3h6fw"; - }; - - patches = [ - # Make typelibs available in the extension - (substituteAll { - src = ./fix-paths.patch; - gapplication = "${glib.bin}/bin/gapplication"; - }) - - # Allow installing installed tests to a separate output - ./installed-tests-path.patch - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gobject-introspection # for locating typelibs - wrapGAppsHook # for wrapping daemons - ]; - - buildInputs = [ - glib # libgobject - glib-networking - gtk3 - gsound - gjs # for running daemon - gnome3.evolution-data-server # for libebook-contacts typelib - ]; - - mesonFlags = [ - "-Dgnome_shell_libdir=${gnome3.gnome-shell}/lib" - "-Dgsettings_schemadir=${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}" - "-Dchrome_nmhdir=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts" - "-Dchromium_nmhdir=${placeholder "out"}/etc/chromium/native-messaging-hosts" - "-Dopenssl_path=${openssl}/bin/openssl" - "-Dsshadd_path=${openssh}/bin/ssh-add" - "-Dsshkeygen_path=${openssh}/bin/ssh-keygen" - "-Dsession_bus_services_dir=${placeholder "out"}/share/dbus-1/services" - "-Dpost_install=true" - "-Dinstalled_test_prefix=${placeholder "installedTests"}" - ]; - - postPatch = '' - patchShebangs meson/nmh.sh - patchShebangs meson/post-install.sh - patchShebangs installed-tests/prepare-tests.sh - - # TODO: do not include every typelib everywhere - # for example, we definitely do not need nautilus - for file in src/extension.js src/prefs.js; do - substituteInPlace "$file" \ - --subst-var-by typelibPath "$GI_TYPELIB_PATH" - done - ''; - - postFixup = '' - # Let’s wrap the daemons - for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{daemon,nativeMessagingHost}.js; do - echo "Wrapping program $file" - wrapGApp "$file" - done - - # Wrap jasmine runner for tests - for file in $installedTests/libexec/installed-tests/gsconnect/minijasmine; do - echo "Wrapping program $file" - wrapGApp "$file" - done - ''; - - uuid = "gsconnect@andyholmes.github.io"; - - passthru = { - tests = { - installedTests = nixosTests.installed-tests.gsconnect; - }; - }; - - meta = with lib; { - description = "KDE Connect implementation for Gnome Shell"; - homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ etu ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch b/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch deleted file mode 100644 index 58c02a92eb2..00000000000 --- a/pkgs/desktops/gnome-3/extensions/gsconnect/fix-paths.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git i/data/org.gnome.Shell.Extensions.GSConnect.desktop.in w/data/org.gnome.Shell.Extensions.GSConnect.desktop.in -index ffb23342..b405c73b 100644 ---- i/data/org.gnome.Shell.Extensions.GSConnect.desktop.in -+++ w/data/org.gnome.Shell.Extensions.GSConnect.desktop.in -@@ -1,7 +1,7 @@ - [Desktop Entry] - Type=Application - Name=GSConnect --Exec=gapplication launch org.gnome.Shell.Extensions.GSConnect %U -+Exec=@gapplication@ launch org.gnome.Shell.Extensions.GSConnect %U - Terminal=false - NoDisplay=true - Icon=org.gnome.Shell.Extensions.GSConnect -diff --git i/src/extension.js w/src/extension.js -index 5f32aa68..872c0c61 100644 ---- i/src/extension.js -+++ w/src/extension.js -@@ -1,5 +1,7 @@ - 'use strict'; - -+'@typelibPath@'.split(':').forEach(path => imports.gi.GIRepository.Repository.prepend_search_path(path)); -+ - const Gio = imports.gi.Gio; - const GObject = imports.gi.GObject; - const Gtk = imports.gi.Gtk; -diff --git i/src/prefs.js w/src/prefs.js -index 07e93099..1c166710 100644 ---- i/src/prefs.js -+++ w/src/prefs.js -@@ -1,5 +1,7 @@ - 'use strict'; - -+'@typelibPath@'.split(':').forEach(path => imports.gi.GIRepository.Repository.prepend_search_path(path)); -+ - const Gio = imports.gi.Gio; - const GLib = imports.gi.GLib; - const Gtk = imports.gi.Gtk; diff --git a/pkgs/desktops/gnome-3/extensions/gsconnect/installed-tests-path.patch b/pkgs/desktops/gnome-3/extensions/gsconnect/installed-tests-path.patch deleted file mode 100644 index 78e1ad96d74..00000000000 --- a/pkgs/desktops/gnome-3/extensions/gsconnect/installed-tests-path.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/installed-tests/meson.build b/installed-tests/meson.build -index c7eff2fb..ef4f6052 100644 ---- a/installed-tests/meson.build -+++ b/installed-tests/meson.build -@@ -1,5 +1,5 @@ --installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name()) --installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name()) -+installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name()) -+installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name()) - - installed_tests_srcdir = meson.current_source_dir() - installed_tests_builddir = meson.current_build_dir() -diff --git a/meson_options.txt b/meson_options.txt -index 8912e052..ca6ee5eb 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -116,6 +116,13 @@ option( - description: 'Native Messaging Host directory for Mozilla' - ) - -+option( -+ 'installed_test_prefix', -+ type: 'string', -+ value: '', -+ description: 'Prefix for installed tests' -+) -+ - option( - 'installed_tests', - type: 'boolean', diff --git a/pkgs/desktops/gnome-3/extensions/hot-edge/default.nix b/pkgs/desktops/gnome-3/extensions/hot-edge/default.nix deleted file mode 100644 index aaa5870996a..00000000000 --- a/pkgs/desktops/gnome-3/extensions/hot-edge/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib -, stdenv -, fetchFromGitHub -}: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-hot-edge"; - version = "jdoda"; - - src = fetchFromGitHub { - owner = "jdoda"; - repo = "hotedge"; - rev = "bb7f651becea5287241caf7cda246a68ab07dac8"; - sha256 = "oeTs0kRan6b5relxzhK1IKbV0Yv2d5YdvvUPJ3fM9ik="; - }; - - dontBuild = true; - - uuid = "hotedge@jonathan.jdoda.ca"; - - installPhase = '' - runHook preInstall - install -Dt $out/share/gnome-shell/extensions/${uuid} extension.js metadata.json stylesheet.css - runHook postInstall - ''; - - meta = with lib; { - description = "Replace the top-left hot corner with a bottom hot edge"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ jtojnar ]; - homepage = "https://github.com/jdoda/hotedge"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix b/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix deleted file mode 100644 index 00c67421e54..00000000000 --- a/pkgs/desktops/gnome-3/extensions/icon-hider/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-icon-hider"; - version = "23"; - - src = fetchFromGitHub { - owner = "ikalnytskyi"; - repo = "gnome-shell-extension-icon-hider"; - rev = "v${version}"; - sha256 = "18c8zkdrmdbghqqz7b450vhgpykgz25mgigwn2nggcb2lxmvm9ks"; - }; - - uuid = "icon-hider@kalnitsky.org"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "Icon Hider is a GNOME Shell extension for managing status area items"; - license = licenses.bsd3; - maintainers = with maintainers; [ jonafato ]; - platforms = gnome3.gnome-shell.meta.platforms; - homepage = "https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider"; - broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34 - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/impatience/default.nix b/pkgs/desktops/gnome-3/extensions/impatience/default.nix deleted file mode 100644 index 82551efef3c..00000000000 --- a/pkgs/desktops/gnome-3/extensions/impatience/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-impatience"; - version = "unstable-2019-09-23"; - - src = fetchFromGitHub { - owner = "timbertson"; - repo = "gnome-shell-impatience"; - rev = "43e4e0a1e0eeb334a2da5224ce3ab4fdddf4f1b2"; - sha256 = "0kvdhlz41fjyqdgcfw6mrr9nali6wg2qwji3dvykzfi0aypljzpx"; - }; - - buildInputs = [ - glib - ]; - - buildPhase = '' - runHook preBuild - make schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r impatience $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - uuid = "impatience@gfxmonk.net"; - - meta = with lib; { - description = "Speed up builtin gnome-shell animations"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ timbertson tiramiseb ]; - homepage = "http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/material-shell/default.nix b/pkgs/desktops/gnome-3/extensions/material-shell/default.nix deleted file mode 100644 index 87b9a3c1507..00000000000 --- a/pkgs/desktops/gnome-3/extensions/material-shell/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-material-shell"; - version = "12"; - - src = fetchFromGitHub { - owner = "material-shell"; - repo = "material-shell"; - rev = version; - sha256 = "0ikrh70drwr0pqjcdz7l1ky8xllpnk7myprjd4s61nqkx9j2iz44"; - }; - - # This package has a Makefile, but it's used for building a zip for - # publication to extensions.gnome.org. Disable the build phase so - # installing doesn't build an unnecessary release. - dontBuild = true; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r * $out/share/gnome-shell/extensions/${uuid}/ - runHook postInstall - ''; - - uuid = "material-shell@papyelgringo"; - - meta = with lib; { - description = "A modern desktop interface for Linux"; - license = licenses.mit; - maintainers = with maintainers; [ benley ]; - homepage = "https://github.com/material-shell/material-shell"; - platforms = gnome3.gnome-shell.meta.platforms; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix b/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix deleted file mode 100644 index 9ab2168d2dc..00000000000 --- a/pkgs/desktops/gnome-3/extensions/mpris-indicator-button/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, stdenv -, fetchFromGitHub -, nix-update-script -, gnome3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-mpris-indicator-button-unstable"; - version = "2020-03-21"; - - src = fetchFromGitHub { - owner = "JasonLG1979"; - repo = "gnome-shell-extension-mpris-indicator-button"; - rev = "de54160e7d905b8c48c0fe30a437f7c51efc1aa3"; - sha256 = "0n5qlx51fxjq1nn10zhdwfy905j20sv7pwh2jc6fns757ac4pwwk"; - }; - - uuid = "mprisindicatorbutton@JasonLG1979.github.io"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - passthru = { - updateScript = nix-update-script { - attrPath = "gnomeExtensions.${pname}"; - }; - }; - - - meta = with lib; { - description = "A simple MPRIS indicator button for GNOME Shell"; - license = licenses.gpl3; - maintainers = with maintainers; [ worldofpeace ]; - platforms = gnome3.gnome-shell.meta.platforms; - homepage = "https://github.com/JasonLG1979/gnome-shell-extension-mpris-indicator-button"; - broken = versionOlder gnome3.gnome-shell.version "3.34"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix b/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix deleted file mode 100644 index f663aa8977b..00000000000 --- a/pkgs/desktops/gnome-3/extensions/night-theme-switcher/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib, stdenv, fetchFromGitLab, glib, gnome3, unzip }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-night-theme-switcher"; - version = "40"; - - src = fetchFromGitLab { - owner = "rmnvgr"; - repo = "nightthemeswitcher-gnome-shell-extension"; - rev = "v${version}"; - sha256 = "0z11y18bgdc0y41hrrzzgi4lagm2cg06x12jgdnary1ycng7xja0"; - }; - - nativeBuildInputs = [ unzip ]; - buildInputs = [ glib gnome3.gnome-shell ]; - - uuid = "nightthemeswitcher@romainvigier.fr"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/ - unzip build/${uuid}.shell-extension.zip -d $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "Automatically change the GTK theme to dark variant when Night Light activates"; - license = licenses.gpl3; - maintainers = with maintainers; [ jonafato ]; - homepage = "https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix b/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix deleted file mode 100644 index ad588be18ce..00000000000 --- a/pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gettext, xorg }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-no-title-bar"; - version = "11"; - - src = fetchFromGitHub { - owner = "poehlerj"; - repo = "no-title-bar"; - rev = "V_${version}"; - sha256 = "07ddw47binlsbyvgy4xkdjvd40zyp7nwd17r6k7w54d50vmnwhvb"; - }; - - nativeBuildInputs = [ glib gettext ]; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - xprop = "${xorg.xprop}/bin/xprop"; - xwininfo = "${xorg.xwininfo}/bin/xwininfo"; - }) - ]; - - makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; - - uuid = "no-title-bar@jonaspoehler.de"; - - meta = with lib; { - description = "Integrates maximized windows with the top panel"; - homepage = "https://github.com/poehlerj/no-title-bar"; - license = licenses.gpl2; - maintainers = with maintainers; [ jonafato svsdep maxeaubrey ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch b/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch deleted file mode 100644 index fb2d3d57e51..00000000000 --- a/pkgs/desktops/gnome-3/extensions/no-title-bar/fix-paths.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/decoration.js b/decoration.js -index d1ff3dd..ff4193f 100644 ---- a/decoration.js -+++ b/decoration.js -@@ -223,7 +223,7 @@ var Decoration = class { - - let winId = this._guessWindowXID(win); - -- let xprops = GLib.spawn_command_line_sync(`xprop -id ${winId}`); -+ let xprops = GLib.spawn_command_line_sync(`@xprop@ -id ${winId}`); - if (!xprops[0]) { - Utils.log_debug(`Unable to determine windows '${win.get_title()}' original state`); - return win._noTitleBarOriginalState = WindowState.UNKNOWN; -@@ -237,7 +237,7 @@ var Decoration = class { - let prop = '_MOTIF_WM_HINTS'; - let value = '0x2, 0x0, %s, 0x0, 0x0'.format(hide ? '0x2' : '0x1'); - -- GLib.spawn_command_line_sync(`xprop -id ${windId} -f ${prop} 32c -set ${prop} "${value}"`); -+ GLib.spawn_command_line_sync(`@xprop@ -id ${windId} -f ${prop} 32c -set ${prop} "${value}"`); - if (!hide && !win.titlebar_is_onscreen()) { - Utils.log_debug(`Shoving titlebar onscreen for window '${win.get_title()}'`); - win.shove_titlebar_onscreen(); -@@ -354,7 +354,7 @@ var Decoration = class { - let act = win.get_compositor_private(); - let xwindow = act && act['x-window']; - if (xwindow) { -- let xwininfo = GLib.spawn_command_line_sync('xwininfo -children -id 0x%x'.format(xwindow)); -+ let xwininfo = GLib.spawn_command_line_sync('@xwininfo@ -children -id 0x%x'.format(xwindow)); - if (xwininfo[0]) { - let str = ByteArray.toString(xwininfo[1]); - -@@ -384,7 +384,7 @@ var Decoration = class { - // Try enumerating all available windows and match the title. Note that this - // may be necessary if the title contains special characters and `x-window` - // is not available. -- let result = GLib.spawn_command_line_sync('xprop -root _NET_CLIENT_LIST'); -+ let result = GLib.spawn_command_line_sync('@xprop@ -root _NET_CLIENT_LIST'); - if (result[0]) { - let str = ByteArray.toString(result[1]); - -@@ -395,7 +395,7 @@ var Decoration = class { - - // For each window ID, check if the title matches the desired title. - for (var i = 0; i < windowList.length; ++i) { -- let cmd = 'xprop -id "' + windowList[i] + '" _NET_WM_NAME _NO_TITLE_BAR_ORIGINAL_STATE'; -+ let cmd = '@xprop@ -id "' + windowList[i] + '" _NET_WM_NAME _NO_TITLE_BAR_ORIGINAL_STATE'; - let result = GLib.spawn_command_line_sync(cmd); - - if (result[0]) { -@@ -455,4 +455,4 @@ var Decoration = class { - let styleContent = this._updateUserStyles(); - GLib.file_set_contents(this._userStylesPath, styleContent); - } --} -\ No newline at end of file -+} diff --git a/pkgs/desktops/gnome-3/extensions/noannoyance/default.nix b/pkgs/desktops/gnome-3/extensions/noannoyance/default.nix deleted file mode 100644 index 4763d905755..00000000000 --- a/pkgs/desktops/gnome-3/extensions/noannoyance/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ stdenv -, lib -, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "noannoyance"; - version = "unstable-2021-01-17"; - - src = fetchFromGitHub { - owner = "BjoernDaase"; - repo = "noannoyance"; - rev = "f6e76916336aee2f7c4141796f3c40c870d2b347"; - sha256 = "1iy3nif8rjjcwf83fg9ds93fi7vmhliynmlwqnx036s3msmxvgs3"; - }; - - uuid = "noannoyance@daase.net"; - - dontBuild = true; - - installPhase = '' - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp metadata.json extension.js $out/share/gnome-shell/extensions/${uuid} - ''; - - meta = with lib; { - description = "Removes the 'Window is ready' notification and puts the window into focus"; - homepage = "https://github.com/BjoernDaase/noannoyance"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ tu-maurice ]; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/paperwm/default.nix b/pkgs/desktops/gnome-3/extensions/paperwm/default.nix deleted file mode 100644 index 201628b4b42..00000000000 --- a/pkgs/desktops/gnome-3/extensions/paperwm/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-paperwm"; - version = "38.1"; - - src = fetchFromGitHub { - owner = "paperwm"; - repo = "PaperWM"; - rev = version; - sha256 = "1jq15qrq3khqpjsjbcc17amdr1k53jkvambdacdf56xbqkycvlgs"; - }; - - uuid = "paperwm@hedning:matrix.org"; - - dontBuild = true; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r . $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "Tiled scrollable window management for Gnome Shell"; - homepage = "https://github.com/paperwm/PaperWM"; - license = licenses.gpl3; - maintainers = with maintainers; [ hedning ]; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix b/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix deleted file mode 100644 index d1647740347..00000000000 --- a/pkgs/desktops/gnome-3/extensions/pidgin-im-integration/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-pidgin-im-integration"; - version = "32"; - - src = fetchFromGitHub { - owner = "muffinmad"; - repo = "pidgin-im-gnome-shell-extension"; - rev = "v${version}"; - sha256 = "1jyg8r0s1v83sgg6y0jbsj2v37mglh8rvd8vi27fxnjq9xmg8kpc"; - }; - - dontConfigure = true; - dontBuild = true; - - installPhase = '' - runHook preInstall - share_dir="$prefix/share" - extensions_dir="$share_dir/gnome-shell/extensions/pidgin@muffinmad" - mkdir -p "$extensions_dir" - mv *.js metadata.json dbus.xml schemas locale "$extensions_dir" - runHook postInstall - ''; - - uuid = "pidgin@muffinmad"; - - meta = with lib; { - homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension"; - description = "Make Pidgin IM conversations appear in the Gnome Shell message tray"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ ]; - broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34 - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix b/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix deleted file mode 100644 index e310f5dcf10..00000000000 --- a/pkgs/desktops/gnome-3/extensions/remove-dropdown-arrows/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-remove-dropdown-arrows"; - version = "13"; - - src = fetchFromGitHub { - owner = "mpdeimos"; - repo = "gnome-shell-remove-dropdown-arrows"; - rev = "version/${version}"; - sha256 = "09b2hnfbqym20pb1sfc8xiz7gs2kbs6b1s7xl8swc8dydhsbambk"; - }; - - # This package has a Makefile, but it's used for publishing and linting, not - # for building. Disable the build phase so installing doesn't attempt to - # publish the extension. - dontBuild = true; - - uuid = "remove-dropdown-arrows@mpdeimos.com"; - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp extension.js $out/share/gnome-shell/extensions/${uuid} - cp metadata.json $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "Remove dropdown arrows from GNOME Shell Menus"; - license = licenses.gpl3; - maintainers = with maintainers; [ jonafato ]; - homepage = "https://github.com/mpdeimos/gnome-shell-remove-dropdown-arrows"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix b/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix deleted file mode 100644 index e58d8ce6e42..00000000000 --- a/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ lib, stdenv -, substituteAll -, fetchFromGitHub -, libpulseaudio -, python3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-sound-output-device-chooser"; - version = "35"; - - src = fetchFromGitHub { - owner = "kgshank"; - repo = "gse-sound-output-device-chooser"; - rev = version; - sha256 = "sha256-Yl5ut6kJAkAAdCBiNFpwDgshXCLMmFH3/zhnFGpyKqs="; - }; - - patches = [ - # Fix paths to libpulse and python - (substituteAll { - src = ./fix-paths.patch; - libpulse = "${libpulseaudio}/lib/libpulse.so"; - python = python3.interpreter; - }) - ]; - - dontBuild = true; - - uuid = "sound-output-device-chooser@kgshank.net"; - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "GNOME Shell extension adding audio device chooser to panel"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ jtojnar ]; - homepage = "https://github.com/kgshank/gse-sound-output-device-chooser"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/fix-paths.patch b/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/fix-paths.patch deleted file mode 100644 index 1971bf1e5e7..00000000000 --- a/pkgs/desktops/gnome-3/extensions/sound-output-device-chooser/fix-paths.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/sound-output-device-chooser@kgshank.net/convenience.js b/sound-output-device-chooser@kgshank.net/convenience.js -index 54ad06f..0860531 100644 ---- a/sound-output-device-chooser@kgshank.net/convenience.js -+++ b/sound-output-device-chooser@kgshank.net/convenience.js -@@ -142,7 +142,7 @@ function refreshCards() { - if (newProfLogic) { - _log("New logic"); - let pyLocation = Me.dir.get_child("utils/pa_helper.py").get_path(); -- let pythonExec = ["python", "python3", "python2"].find(cmd => isCmdFound(cmd)); -+ let pythonExec = '@python@'; - if (!pythonExec) { - _log("ERROR: Python not found. fallback to default mode"); - _settings.set_boolean(Prefs.NEW_PROFILE_ID, false); -diff --git a/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py b/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py -index c4d2484..262608d 100644 ---- a/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py -+++ b/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py -@@ -82,7 +82,7 @@ else: - - _libraries = {} - --libpulse_library_name = find_library('pulse') -+libpulse_library_name = '@libpulse@' - if libpulse_library_name is None: - raise Exception('No libpulse.so library found!') - diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix deleted file mode 100644 index 3935150c57e..00000000000 --- a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-system-monitor"; - version = "unstable-2021-04-08"; - - src = fetchFromGitHub { - owner = "paradoxxxzero"; - repo = "gnome-shell-system-monitor-applet"; - rev = "942603da39de12f50b1f86efbde92d7526d1290e"; - sha256 = "0lzb7064bigw2xsqkzr8qfhp9wfmxyi3823j2782v99jpcz423aw"; - }; - - buildInputs = [ - glib - glib-networking - libgtop - ]; - - patches = [ - (substituteAll { - src = ./paths_and_nonexisting_dirs.patch; - clutter_path = gnome3.mutter.libdir; # this should not be used in settings but 🤷‍♀️ - gtop_path = "${libgtop}/lib/girepository-1.0"; - glib_net_path = "${glib-networking}/lib/girepository-1.0"; - }) - ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - uuid = "system-monitor@paradoxxx.zero.gmail.com"; - - meta = with lib; { - description = "Display system informations in gnome shell status bar"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ tiramiseb ]; - homepage = "https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch b/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch deleted file mode 100644 index 280af965af3..00000000000 --- a/pkgs/desktops/gnome-3/extensions/system-monitor/paths_and_nonexisting_dirs.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js -index de5e3d7..2d7824d 100644 ---- a/system-monitor@paradoxxx.zero.gmail.com/extension.js -+++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js -@@ -18,6 +18,9 @@ - - // Author: Florian Mounier aka paradoxxxzero - -+imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@'); -+imports.gi.GIRepository.Repository.prepend_search_path('@glib_net_path@'); -+ - /* Ugly. This is here so that we don't crash old libnm-glib based shells unnecessarily - * by loading the new libnm.so. Should go away eventually */ - -@@ -407,7 +410,7 @@ const smMountsMonitor = class SystemMonitor_smMountsMonitor { - this.connected = false; - - this._volumeMonitor = Gio.VolumeMonitor.get(); -- let sys_mounts = ['/home', '/tmp', '/boot', '/usr', '/usr/local']; -+ let sys_mounts = ['/home', '/tmp', '/boot']; - this.base_mounts = ['/']; - sys_mounts.forEach((sMount) => { - if (this.is_sys_mount(sMount + '/')) { -diff --git a/system-monitor@paradoxxx.zero.gmail.com/prefs.js b/system-monitor@paradoxxx.zero.gmail.com/prefs.js -index 81d667c..0da4809 100644 ---- a/system-monitor@paradoxxx.zero.gmail.com/prefs.js -+++ b/system-monitor@paradoxxx.zero.gmail.com/prefs.js -@@ -1,3 +1,5 @@ -+imports.gi.GIRepository.Repository.prepend_search_path('@clutter_path@'); -+ - const Gtk = imports.gi.Gtk; - const Gio = imports.gi.Gio; - const Gdk = imports.gi.Gdk; diff --git a/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix b/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix deleted file mode 100644 index 68d07e2d142..00000000000 --- a/pkgs/desktops/gnome-3/extensions/taskwhisperer/default.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, stdenv, substituteAll, fetchFromGitHub, taskwarrior, gettext, runtimeShell }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-taskwhisperer"; - version = "16"; - - src = fetchFromGitHub { - owner = "cinatic"; - repo = "taskwhisperer"; - rev = "v${version}"; - sha256 = "05w2dfpr5vrydb7ij4nd2gb7c31nxix3j48rb798r4jzl1rakyah"; - }; - - nativeBuildInputs = [ - gettext - ]; - - buildInputs = [ - taskwarrior - ]; - - uuid = "taskwhisperer-extension@infinicode.de"; - - makeFlags = [ - "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" - ]; - - patches = [ - (substituteAll { - src = ./fix-paths.patch; - task = "${taskwarrior}/bin/task"; - shell = runtimeShell; - }) - ]; - - meta = with lib; { - description = "GNOME Shell TaskWarrior GUI"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ jonafato ]; - homepage = "https://github.com/cinatic/taskwhisperer"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/taskwhisperer/fix-paths.patch b/pkgs/desktops/gnome-3/extensions/taskwhisperer/fix-paths.patch deleted file mode 100644 index 2ea54f4b089..00000000000 --- a/pkgs/desktops/gnome-3/extensions/taskwhisperer/fix-paths.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff --git a/taskwhisperer-extension@infinicode.de/extra/create.sh b/taskwhisperer-extension@infinicode.de/extra/create.sh -index a69e369..35d5ea1 100755 ---- a/taskwhisperer-extension@infinicode.de/extra/create.sh -+++ b/taskwhisperer-extension@infinicode.de/extra/create.sh -@@ -1 +1 @@ --bash -c "task add $1" -+bash -c "@task@ add $1" -diff --git a/taskwhisperer-extension@infinicode.de/extra/modify.sh b/taskwhisperer-extension@infinicode.de/extra/modify.sh -index 7964a26..8edd21b 100755 ---- a/taskwhisperer-extension@infinicode.de/extra/modify.sh -+++ b/taskwhisperer-extension@infinicode.de/extra/modify.sh -@@ -1 +1 @@ --bash -c "task $1 modify $2" -+bash -c "@task@ $1 modify $2" -diff --git a/taskwhisperer-extension@infinicode.de/taskService.js b/taskwhisperer-extension@infinicode.de/taskService.js -index ead7a12..aa36db4 100644 ---- a/taskwhisperer-extension@infinicode.de/taskService.js -+++ b/taskwhisperer-extension@infinicode.de/taskService.js -@@ -182,7 +182,7 @@ const TaskService = class TaskService { - - let project = projectName ? "project:" + projectName : ""; - -- let command = ['task', 'rc.json.array=on', status, project, 'export']; -+ let command = ['@task@', 'rc.json.array=on', status, project, 'export']; - let reader = new SpawnReader.SpawnReader(); - - let buffer = ""; -@@ -220,7 +220,7 @@ const TaskService = class TaskService { - break; - } - -- let shellProc = Gio.Subprocess.new(['task', status, 'projects'], Gio.SubprocessFlags.STDOUT_PIPE); -+ let shellProc = Gio.Subprocess.new(['@task@', status, 'projects'], Gio.SubprocessFlags.STDOUT_PIPE); - - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; -@@ -261,7 +261,7 @@ const TaskService = class TaskService { - return; - } - -- let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'done'], Gio.SubprocessFlags.STDOUT_PIPE); -+ let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'done'], Gio.SubprocessFlags.STDOUT_PIPE); - - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; -@@ -290,7 +290,7 @@ const TaskService = class TaskService { - return; - } - -- let shellProc = Gio.Subprocess.new(['task', 'modify', taskID.toString(), 'status:pending'], Gio.SubprocessFlags.STDOUT_PIPE); -+ let shellProc = Gio.Subprocess.new(['@task@', 'modify', taskID.toString(), 'status:pending'], Gio.SubprocessFlags.STDOUT_PIPE); - - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; -@@ -318,7 +318,7 @@ const TaskService = class TaskService { - if (!taskID) { - return; - } -- let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'start'], Gio.SubprocessFlags.STDOUT_PIPE); -+ let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'start'], Gio.SubprocessFlags.STDOUT_PIPE); - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; - shellProc.wait_finish(result); -@@ -344,7 +344,7 @@ const TaskService = class TaskService { - if (!taskID) { - return; - } -- let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'stop'], Gio.SubprocessFlags.STDOUT_PIPE); -+ let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'stop'], Gio.SubprocessFlags.STDOUT_PIPE); - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; - shellProc.wait_finish(result); -@@ -374,7 +374,7 @@ const TaskService = class TaskService { - // FIXME: Gio.Subprocess: due to only passing string vector is allowed, it's not possible to directly pass the - // input of the user to subprocess (why & how, if you can answer then please send msg to fh@infinicode.de) - // bypassing problem with own shell script -- let shellProc = Gio.Subprocess.new(['/bin/sh', EXTENSIONDIR + '/extra/modify.sh', taskID.toString(), params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); -+ let shellProc = Gio.Subprocess.new(['@shell@', EXTENSIONDIR + '/extra/modify.sh', taskID.toString(), params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); - - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; -@@ -403,7 +403,7 @@ const TaskService = class TaskService { - // FIXME: Gio.Subprocess: due to only passing string vector is allowed, it's not possible to directly pass the - // input of the user to subprocess (why & how, if you can answer then please send msg to fh@infinicode.de) - // bypassing problem with own shell script -- let shellProc = Gio.Subprocess.new(['/bin/sh', EXTENSIONDIR + '/extra/create.sh', params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); -+ let shellProc = Gio.Subprocess.new(['@shell@', EXTENSIONDIR + '/extra/create.sh', params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); - - shellProc.wait_async(null, function (obj, result) { - let shellProcExited = true; -@@ -432,7 +432,7 @@ const TaskService = class TaskService { - let shellProc; - - try { -- shellProc = Gio.Subprocess.new(['task', 'sync'], Gio.SubprocessFlags.STDOUT_PIPE); -+ shellProc = Gio.Subprocess.new(['@task@', 'sync'], Gio.SubprocessFlags.STDOUT_PIPE); - } catch (err) { - onError(err); - return; diff --git a/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix b/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix deleted file mode 100644 index dcea4c69ff8..00000000000 --- a/pkgs/desktops/gnome-3/extensions/tilingnome/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ stdenv, lib, fetchFromGitHub, glib, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-tilingnome-unstable"; - version = "unstable-2019-09-19"; - - src = fetchFromGitHub { - owner = "rliang"; - repo = "gnome-shell-extension-tilingnome"; - rev = "f401c20c9721d85e6b3e30d1e822a200db370407"; - sha256 = "1hq9g9bxqpzqrdj9zm0irld8r6q4w1m4b00jya7wsny8rzb1s0y2"; - }; - - nativeBuildInputs = [ glib ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas . - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r * $out/share/gnome-shell/extensions/${uuid}/ - runHook postInstall - ''; - - uuid = "tilingnome@rliang.github.com"; - - meta = with lib; { - description = "Tiling window management for GNOME Shell"; - license = licenses.gpl2; - maintainers = with maintainers; [ benley ]; - homepage = "https://github.com/rliang/gnome-shell-extension-tilingnome"; - platforms = gnome3.gnome-shell.meta.platforms; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/timepp/default.nix b/pkgs/desktops/gnome-3/extensions/timepp/default.nix deleted file mode 100644 index 94b8540c1bf..00000000000 --- a/pkgs/desktops/gnome-3/extensions/timepp/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-timepp"; - version = "unstable-2020-03-15"; - - src = fetchFromGitHub { - owner = "zagortenay333"; - repo = "timepp__gnome"; - rev = "34ae477a51267cc1e85992a80cf85a1a7b7005c1"; - sha256 = "1v0xbrp0x5dwizscxh7h984pax4n92bj8iyw3qvjk27ynpxq8ag1"; - }; - - uuid = "timepp@zagortenay333"; - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/${uuid} - cp -r . $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarms gnome-shell extension."; - homepage = "https://github.com/zagortenay333/timepp__gnome"; - license = licenses.gpl3; - maintainers = with maintainers; [ svsdep ]; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix b/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix deleted file mode 100644 index 084548e1a10..00000000000 --- a/pkgs/desktops/gnome-3/extensions/topicons-plus/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, glib, gettext }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-topicons-plus"; - version = "27"; - - src = fetchFromGitHub { - owner = "phocean"; - repo = "TopIcons-plus"; - rev = version; - sha256 = "1p3jlvs4zgnrvy8am7myivv4rnnshjp49kg87rd22qqyvcz51ykr"; - }; - - buildInputs = [ glib ]; - - nativeBuildInputs = [ gettext ]; - - makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ]; - - uuid = "TopIcons@phocean.net"; - - meta = with lib; { - description = "Brings all icons back to the top panel, so that it's easier to keep track of apps running in the backround"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ eperuffo ]; - homepage = "https://github.com/phocean/TopIcons-plus"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/unite/default.nix b/pkgs/desktops/gnome-3/extensions/unite/default.nix deleted file mode 100644 index 79d7a335239..00000000000 --- a/pkgs/desktops/gnome-3/extensions/unite/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, stdenv, gnome3, fetchFromGitHub, xprop, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-unite"; - version = "53"; - - src = fetchFromGitHub { - owner = "hardpixel"; - repo = "unite-shell"; - rev = "v${version}"; - sha256 = "0fw9wqf362h2yd67fhgbhqx0b2fwcl25wxmb92dqwigxjcj0dnw6"; - }; - - uuid = "unite@hardpixel.eu"; - - nativeBuildInputs = [ glib ]; - - buildInputs = [ xprop ]; - - buildPhase = '' - runHook preBuild - glib-compile-schemas --strict --targetdir=${uuid}/schemas/ ${uuid}/schemas - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ rhoriguchi ]; - homepage = "https://github.com/hardpixel/unite-shell"; - broken = versionOlder gnome3.gnome-shell.version "3.32"; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/window-corner-preview/default.nix b/pkgs/desktops/gnome-3/extensions/window-corner-preview/default.nix deleted file mode 100644 index 42f226e9677..00000000000 --- a/pkgs/desktops/gnome-3/extensions/window-corner-preview/default.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, gnome3 }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-window-corner-preview"; - version = "unstable-2019-04-03"; - - src = fetchFromGitHub { - owner = "medenagan"; - repo = "window-corner-preview"; - rev = "a95bb1389d94474efab7509aac592fb58fff6006"; - sha256 = "03v18j9l0fb64xrg3swf1vcgl0kpgwjlp8ddn068bpvghrsvgfah"; - }; - - dontBuild = true; - - uuid = "window-corner-preview@fabiomereu.it"; - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "GNOME Shell extension showing a video preview on the corner of the screen"; - license = licenses.mit; - maintainers = with maintainers; [ jtojnar ]; - homepage = "https://github.com/medenagan/window-corner-preview"; - broken = lib.versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34 - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/window-is-ready-remover/default.nix b/pkgs/desktops/gnome-3/extensions/window-is-ready-remover/default.nix deleted file mode 100644 index 3f0e9e71b57..00000000000 --- a/pkgs/desktops/gnome-3/extensions/window-is-ready-remover/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, stdenv, fetchFromGitHub }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-window-is-ready-remover"; - version = "1.02"; - - src = fetchFromGitHub { - owner = "nunofarruca"; - repo = "WindowIsReady_Remover"; - rev = "v${version}"; - sha256 = "1xaf95gn0if44avvkjxyf8fl29y28idn9shnrks0m9k67jcwv8ns"; - }; - - uuid = "windowIsReady_Remover@nunofarruca@gmail.com"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/ - cp -r ${uuid} $out/share/gnome-shell/extensions/${uuid} - runHook postInstall - ''; - - meta = with lib; { - description = "GNOME Shell extension removing window is ready notification"; - homepage = "https://github.com/nunofarruca/WindowIsReady_Remover"; - license = licenses.asl20; - }; -} diff --git a/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix deleted file mode 100644 index eb1d6e7e319..00000000000 --- a/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, findutils, glib }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-workspace-matrix"; - version = "4.0.2"; - - src = fetchFromGitHub { - owner = "mzur"; - repo = "gnome-shell-wsmatrix"; - rev = "v${version}"; - sha256 = "0dbn6b3fdd7yblk0mhsmaiqs3mwgcf3khkx1dsnlqn5hcs0a3myd"; - }; - - uuid = "wsmatrix@martin.zurowietz.de"; - - nativeBuildInputs = [ - findutils - glib - ]; - - buildFlags = "schemas"; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions - cp -r ${uuid} $out/share/gnome-shell/extensions - runHook postInstall - ''; - - meta = with lib; { - description = "Arrange workspaces in a two dimensional grid with workspace thumbnails"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ chkno ]; - homepage = "https://github.com/mzur/gnome-shell-wsmatrix"; - }; -} diff --git a/pkgs/desktops/gnome-3/find-latest-version.py b/pkgs/desktops/gnome-3/find-latest-version.py deleted file mode 100644 index 3078999e3e5..00000000000 --- a/pkgs/desktops/gnome-3/find-latest-version.py +++ /dev/null @@ -1,89 +0,0 @@ -import argparse -import math -import json -import requests -import sys -from libversion import Version -from typing import Optional - - -def version_to_list(version): - return list(map(int, version.split("."))) - - -def odd_unstable(version: Version, selected): - try: - version = version_to_list(version.value) - except: - # Failing to parse as a list of numbers likely means the version contains a string tag like “beta”, therefore it is not a stable release. - return selected != "stable" - - if len(version) < 2: - return True - - even = version[1] % 2 == 0 - prerelease = (version[1] >= 90 and version[1] < 100) or (version[1] >= 900 and version[1] < 1000) - stable = even and not prerelease - if selected == "stable": - return stable - else: - return True - - -def tagged(version: Version, selected): - if selected == "stable": - return not ("alpha" in version.value or "beta" in version.value or "rc" in version.value) - else: - return True - - -def no_policy(version: Version, selected): - return True - - -version_policies = { - "odd-unstable": odd_unstable, - "tagged": tagged, - "none": no_policy, -} - - -def make_version_policy(version_predicate, selected, upper_bound: Optional[Version]): - if not upper_bound: - return lambda version: version_predicate(version, selected) - else: - return lambda version: version_predicate(version, selected) and version < upper_bound - - -parser = argparse.ArgumentParser(description="Find latest version for a GNOME package by crawling their release server.") -parser.add_argument("package-name", help="Name of the directory in https://ftp.gnome.org/pub/GNOME/sources/ containing the package.") -parser.add_argument("version-policy", help="Policy determining which versions are considered stable. GNOME packages usually denote stability by alpha/beta/rc tag in the version. For older packages, odd minor versions are unstable but there are exceptions.", choices=version_policies.keys(), nargs="?", default="tagged") -parser.add_argument("requested-release", help="Most of the time, we will want to update to stable version but sometimes it is useful to test.", choices=["stable", "unstable"], nargs="?", default="stable") -parser.add_argument("--upper-bound", dest="upper-bound", help="Only look for versions older than this one (useful for pinning dependencies).") - - -if __name__ == "__main__": - args = parser.parse_args() - - package_name = getattr(args, "package-name") - requested_release = getattr(args, "requested-release") - upper_bound = getattr(args, "upper-bound") - if upper_bound: - upper_bound = Version(upper_bound) - version_predicate = version_policies[getattr(args, "version-policy")] - version_policy = make_version_policy(version_predicate, requested_release, upper_bound) - - # The structure of cache.json: https://gitlab.gnome.org/Infrastructure/sysadmin-bin/blob/master/ftpadmin#L762 - cache = json.loads(requests.get(f"https://ftp.gnome.org/pub/GNOME/sources/{package_name}/cache.json").text) - if type(cache) != list or cache[0] != 4: - print("Unknown format of cache.json file.", file=sys.stderr) - sys.exit(1) - - versions = map(Version, cache[2][package_name]) - versions = sorted(filter(version_policy, versions)) - - if len(versions) == 0: - print("No versions matched.", file=sys.stderr) - sys.exit(1) - - print(versions[-1].value) diff --git a/pkgs/desktops/gnome-3/games/aisleriot/default.nix b/pkgs/desktops/gnome-3/games/aisleriot/default.nix deleted file mode 100644 index bb513df4c7a..00000000000 --- a/pkgs/desktops/gnome-3/games/aisleriot/default.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ lib, stdenv -, fetchFromGitLab -, pkg-config -, gnome3 -, itstool -, gtk3 -, wrapGAppsHook -, meson -, librsvg -, libxml2 -, desktop-file-utils -, pysolfc -, guile -, libcanberra-gtk3 -, ninja -, appstream-glib -, yelp-tools -}: - -stdenv.mkDerivation rec { - pname = "aisleriot"; - version = "3.22.13"; - - src = fetchFromGitLab { - domain = "gitlab.gnome.org"; - owner = "GNOME"; - repo = pname; - rev = version; - sha256 = "05k84bbgrrxchxg08l1jjcz384kpjdmxd24g0wnf731aa9zcnp5k"; - }; - - nativeBuildInputs = [ - wrapGAppsHook - meson - ninja - appstream-glib - pkg-config - itstool - libxml2 - desktop-file-utils - yelp-tools - ]; - - buildInputs = [ - gtk3 - librsvg - guile - libcanberra-gtk3 - pysolfc - ]; - - prePatch = '' - patchShebangs cards/meson_svgz.sh - patchShebangs data/meson_desktopfile.py - patchShebangs data/icons/meson_updateiconcache.py - patchShebangs src/lib/meson_compileschemas.py - ''; - - mesonFlags = [ - "-Dtheme_kde=false" - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Aisleriot"; - description = "A collection of patience games written in guile scheme"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/atomix/default.nix b/pkgs/desktops/gnome-3/games/atomix/default.nix deleted file mode 100644 index 802d92bf19a..00000000000 --- a/pkgs/desktops/gnome-3/games/atomix/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wrapGAppsHook, python3 -, gettext, gnome3, glib, gtk3, libgnome-games-support, gdk-pixbuf }: - -let - pname = "atomix"; - version = "3.34.0"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0h909a4mccf160hi0aimyicqhq2b0gk1dmqp7qwf87qghfrw6m00"; - }; - - nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook python3 ]; - buildInputs = [ glib gtk3 gdk-pixbuf libgnome-games-support gnome3.adwaita-icon-theme ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "Puzzle game where you move atoms to build a molecule"; - homepage = "https://wiki.gnome.org/Apps/Atomix"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/five-or-more/default.nix b/pkgs/desktops/gnome-3/games/five-or-more/default.nix deleted file mode 100644 index 9f6ea6aac04..00000000000 --- a/pkgs/desktops/gnome-3/games/five-or-more/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome3, gtk3, wrapGAppsHook -, librsvg, libgnome-games-support, gettext, itstool, libxml2, python3, vala }: - -stdenv.mkDerivation rec { - pname = "five-or-more"; - version = "3.32.2"; - - src = fetchurl { - url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"; - }; - - nativeBuildInputs = [ - meson ninja pkg-config gettext itstool libxml2 python3 wrapGAppsHook - vala - ]; - buildInputs = [ - gtk3 librsvg libgnome-games-support gnome3.adwaita-icon-theme - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "five-or-more"; - attrPath = "gnome3.five-or-more"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Five_or_more"; - description = "Remove colored balls from the board by forming lines"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix b/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix deleted file mode 100644 index 17dc8fe7c2c..00000000000 --- a/pkgs/desktops/gnome-3/games/four-in-a-row/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gnome3, gtk3, wrapGAppsHook -, gettext, meson, gsound, librsvg, itstool, vala -, python3, ninja, desktop-file-utils }: - -stdenv.mkDerivation rec { - pname = "four-in-a-row"; - version = "3.38.1"; - - src = fetchurl { - url = "mirror://gnome/sources/four-in-a-row/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "10ji60bdfdzb6wk5dkwjc3yww7hqi3yjcx1k1z7x2521h2dpdli1"; - }; - - nativeBuildInputs = [ - pkg-config wrapGAppsHook gettext meson itstool vala - ninja python3 desktop-file-utils - ]; - buildInputs = [ gtk3 gsound librsvg gnome3.adwaita-icon-theme ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "four-in-a-row"; - attrPath = "gnome3.four-in-a-row"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Four-in-a-row"; - description = "Make lines of the same color to win"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-chess/default.nix b/pkgs/desktops/gnome-3/games/gnome-chess/default.nix deleted file mode 100644 index c8bea5a98d2..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-chess/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, vala -, pkg-config -, wrapGAppsHook4 -, gobject-introspection -, gettext -, itstool -, libxml2 -, python3 -, gnome3 -, glib -, gtk4 -, librsvg -}: - -stdenv.mkDerivation rec { - pname = "gnome-chess"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "132nc96z0bryyi9d5gljsbwsa71rl8wm5w57jbhpwiv4fyjhgybk"; - }; - - nativeBuildInputs = [ - meson - ninja - vala - pkg-config - gettext - itstool - libxml2 - python3 - wrapGAppsHook4 - gobject-introspection - ]; - - buildInputs = [ - glib - gtk4 - librsvg - gnome3.adwaita-icon-theme - ]; - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-chess"; - attrPath = "gnome3.gnome-chess"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Chess"; - description = "Play the classic two-player boardgame of chess"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix b/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix deleted file mode 100644 index 4bafc3b4a8d..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-klotski/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, vala, gnome3, gtk3, wrapGAppsHook, appstream-glib, desktop-file-utils -, glib, librsvg, libxml2, gettext, itstool, libgee, libgnome-games-support -, meson, ninja, python3 -}: - -let - pname = "gnome-klotski"; - version = "3.38.2"; -in stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "1qm01hdd5yp8chig62bj10912vclbdvywwczs84sfg4zci2phqwi"; - }; - - nativeBuildInputs = [ - pkg-config vala meson ninja python3 wrapGAppsHook - gettext itstool libxml2 appstream-glib desktop-file-utils - gnome3.adwaita-icon-theme - ]; - buildInputs = [ glib gtk3 librsvg libgee libgnome-games-support ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Klotski"; - description = "Slide blocks to solve the puzzle"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix b/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix deleted file mode 100644 index d5d2de53e47..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-mahjongg/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gnome3, gtk3, wrapGAppsHook -, librsvg, gettext, itstool, libxml2 -, meson, ninja, glib, vala, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "gnome-mahjongg"; - version = "3.38.3"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-mahjongg/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj"; - }; - - nativeBuildInputs = [ - meson ninja vala desktop-file-utils - pkg-config gnome3.adwaita-icon-theme - libxml2 itstool gettext wrapGAppsHook - glib # for glib-compile-schemas - ]; - buildInputs = [ - glib - gtk3 - librsvg - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Mahjongg"; - description = "Disassemble a pile of tiles by removing matching pairs"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix b/pkgs/desktops/gnome-3/games/gnome-mines/default.nix deleted file mode 100644 index f074fb08daa..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-mines/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchurl, meson, ninja, vala, gobject-introspection, pkg-config, gnome3, gtk3, wrapGAppsHook -, librsvg, gettext, itstool, python3, libxml2, libgnome-games-support, libgee, desktop-file-utils }: - -stdenv.mkDerivation rec { - pname = "gnome-mines"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z"; - }; - - # gobject-introspection for finding vapi files - nativeBuildInputs = [ - meson ninja vala gobject-introspection pkg-config gettext itstool python3 - libxml2 wrapGAppsHook desktop-file-utils - ]; - buildInputs = [ gtk3 librsvg gnome3.adwaita-icon-theme libgnome-games-support libgee ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-mines"; - attrPath = "gnome3.gnome-mines"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Mines"; - description = "Clear hidden mines from a minefield"; - maintainers = teams.gnome.members; - license = licenses.gpl3; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix b/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix deleted file mode 100644 index c3d9fb19725..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-nibbles/default.nix +++ /dev/null @@ -1,84 +0,0 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, gnome3 -, gtk3 -, wrapGAppsHook -, librsvg -, gsound -, clutter-gtk -, gettext -, itstool -, vala -, python3 -, libxml2 -, libgee -, libgnome-games-support -, meson -, ninja -, desktop-file-utils -, hicolor-icon-theme -}: - -stdenv.mkDerivation rec { - pname = "gnome-nibbles"; - version = "3.38.2"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-nibbles/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1naknfbciydbym79a0jq039xf0033z8gyln48c0qsbcfr2qn8yj5"; - }; - - patches = [ - # Fix build with recent Vala. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-nibbles/-/commit/62964e9256fcac616109af874dbb2bd8342a9853.patch"; - sha256 = "4VijELRxycS8rwi1HU9U3h9K/VtdQjJntfdtMN9Uz34="; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-nibbles/-/commit/1b48446068608aff9b5edf1fdbd4b8c0d9f0be94.patch"; - sha256 = "X0+Go5ae4F06WTPDYc2HIIax8X4RDgUGO6A6Qp8UifQ="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - vala - python3 - pkg-config - wrapGAppsHook - gettext - itstool - libxml2 - desktop-file-utils - hicolor-icon-theme - ]; - - buildInputs = [ - gtk3 - librsvg - gsound - clutter-gtk - gnome3.adwaita-icon-theme - libgee - libgnome-games-support - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-nibbles"; - attrPath = "gnome3.gnome-nibbles"; - }; - }; - - meta = with lib; { - description = "Guide a worm around a maze"; - homepage = "https://wiki.gnome.org/Apps/Nibbles"; - license = licenses.gpl2; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-robots/default.nix b/pkgs/desktops/gnome-3/games/gnome-robots/default.nix deleted file mode 100644 index 1a49ee38760..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-robots/default.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gnome3 -, gtk3 -, wrapGAppsHook -, librsvg -, gsound -, gettext -, itstool -, libxml2 -, libgnome-games-support -, libgee -, meson -, ninja -, vala -, python3 -, desktop-file-utils -, adwaita-icon-theme -}: - -stdenv.mkDerivation rec { - pname = "gnome-robots"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-robots/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "04fbykj576dq1h6cycgfhh8wd6yxmlsqykvj188sbwahay42zgvg"; - }; - - nativeBuildInputs = [ - pkg-config - meson - ninja - vala - python3 - libxml2 - wrapGAppsHook - gettext - itstool - desktop-file-utils - ]; - - buildInputs = [ - gtk3 - librsvg - gsound - libgnome-games-support - libgee - adwaita-icon-theme - ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-robots"; - attrPath = "gnome3.gnome-robots"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Robots"; - description = "Avoid the robots and make them crash into each other"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix deleted file mode 100644 index 101f3c4f2bd..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-sudoku/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchurl, meson, ninja, vala, pkg-config, gobject-introspection, gettext, gtk3, gnome3, wrapGAppsHook -, libgee, json-glib, qqwing, itstool, libxml2, python3, desktop-file-utils }: - -stdenv.mkDerivation rec { - pname = "gnome-sudoku"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1nr1g4q1gxqbzmaz15y3zgssnj7w01cq9l422ja4rglyg0fwjhbm"; - }; - - nativeBuildInputs = [ meson ninja vala pkg-config gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ]; - buildInputs = [ gtk3 libgee json-glib qqwing ]; - - postPatch = '' - chmod +x build-aux/post_install.py - patchShebangs build-aux/post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-sudoku"; - attrPath = "gnome3.gnome-sudoku"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Sudoku"; - description = "Test your logic skills in this number grid puzzle"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix deleted file mode 100644 index 91bd9637344..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix +++ /dev/null @@ -1,75 +0,0 @@ -{ lib -, stdenv -, fetchurl -, fetchpatch -, pkg-config -, gnome3 -, gtk3 -, wrapGAppsHook -, librsvg -, gsound -, gettext -, itstool -, libxml2 -, meson -, ninja -, vala -, python3 -, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "gnome-taquin"; - version = "3.38.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-taquin/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0kw131q0ad0rbsp6qifjc8fjlhvjxyihil8a76kj8ya9mn7kvnwn"; - }; - - patches = [ - # Fix build with recent Vala. - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-taquin/-/commit/99dea5e7863e112f33f16e59898c56a4f1a547b3.patch"; - sha256 = "U7djuMhb1XJaKAPyogQjaunOkbBK24r25YD7BgH05P4="; - }) - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/gnome-taquin/-/commit/66be44dc20d114e449fc33156e3939fd05dfbb16.patch"; - sha256 = "RN41RCLHlJyXTARSH9qjsmpYi1UFeMRssoYxRsbngDQ="; - }) - ]; - - nativeBuildInputs = [ - pkg-config - wrapGAppsHook - meson - ninja - python3 - gettext - itstool - libxml2 - vala - desktop-file-utils - ]; - buildInputs = [ - gtk3 - librsvg - gsound - gnome3.adwaita-icon-theme - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "gnome-taquin"; - attrPath = "gnome3.gnome-taquin"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Taquin"; - description = "Move tiles so that they reach their places"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix b/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix deleted file mode 100644 index 9ae73773799..00000000000 --- a/pkgs/desktops/gnome-3/games/gnome-tetravex/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gnome3, gtk3, wrapGAppsHook -, libxml2, gettext, itstool, meson, ninja, python3 -, vala, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "gnome-tetravex"; - version = "3.38.2"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-tetravex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "06wihvqp2p52zd2dnknsc3rii69qib4a30yp15h558xrg44z3k8z"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-tetravex"; attrPath = "gnome3.gnome-tetravex"; }; - }; - - nativeBuildInputs = [ - wrapGAppsHook itstool libxml2 gnome3.adwaita-icon-theme - pkg-config gettext meson ninja python3 vala desktop-file-utils - ]; - buildInputs = [ - gtk3 - ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Tetravex"; - description = "Complete the puzzle by matching numbered tiles"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/hitori/default.nix b/pkgs/desktops/gnome-3/games/hitori/default.nix deleted file mode 100644 index 8369c571f54..00000000000 --- a/pkgs/desktops/gnome-3/games/hitori/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ lib, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, gnome3 -, glib -, gtk3 -, cairo -, wrapGAppsHook -, libxml2 -, python3 -, gettext -, itstool -, desktop-file-utils -, adwaita-icon-theme -}: - -stdenv.mkDerivation rec { - pname = "hitori"; - version = "3.38.1"; - - src = fetchurl { - url = "mirror://gnome/sources/hitori/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "Ar0sQh1OIYAmVxToVL0S79PG0Vbd8h95599gAR1OQYQ="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - gettext - itstool - desktop-file-utils - libxml2 - python3 - wrapGAppsHook - ]; - - buildInputs = [ - glib - gtk3 - cairo - adwaita-icon-theme - ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Hitori"; - description = "GTK application to generate and let you play games of Hitori"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix deleted file mode 100644 index 443a417da50..00000000000 --- a/pkgs/desktops/gnome-3/games/iagno/default.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ lib, stdenv -, fetchurl -, fetchpatch -, pkg-config -, gtk3 -, gnome3 -, gdk-pixbuf -, librsvg -, wrapGAppsHook -, itstool -, gsound -, libxml2 -, meson -, ninja -, python3 -, vala -, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "iagno"; - version = "3.38.1"; - - src = fetchurl { - url = "mirror://gnome/sources/iagno/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "097dw1l92l73xah9l56ka5mi3dvx48ffpiv33ni5i5rqw0ng7fc4"; - }; - - patches = [ - # Fix build with recent Vala. - # https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/15 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/iagno/-/commit/e8a0aeec350ea80349582142c0e8e3cd3f1bce38.patch"; - sha256 = "OO1x0Yx56UFzHTBsPAMYAjnJHlnTjdO1Vk7q6XU8wKQ="; - }) - # https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/13 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/iagno/-/commit/508c0f94e5f182e50ff61be6e04f72574dee97cb.patch"; - sha256 = "U7djuMhb1XJaKAPyogQjaunOkbBK24r25YD7BgH05P4="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - python3 - vala - desktop-file-utils - pkg-config - wrapGAppsHook - itstool - libxml2 - ]; - - buildInputs = [ - gtk3 - gnome3.adwaita-icon-theme - gdk-pixbuf - librsvg - gsound - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "iagno"; - attrPath = "gnome3.iagno"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Iagno"; - description = "Computer version of the game Reversi, more popularly called Othello"; - maintainers = teams.gnome.members; - license = licenses.gpl3Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/lightsoff/default.nix b/pkgs/desktops/gnome-3/games/lightsoff/default.nix deleted file mode 100644 index 7e43583d529..00000000000 --- a/pkgs/desktops/gnome-3/games/lightsoff/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ lib, stdenv, fetchurl, vala, pkg-config, gtk3, gnome3, gdk-pixbuf, librsvg, wrapGAppsHook -, gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib -, meson, ninja, python3 }: - -stdenv.mkDerivation rec { - pname = "lightsoff"; - version = "40.0.1"; - - src = fetchurl { - url = "mirror://gnome/sources/lightsoff/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1aziy64g15bm83zfn3ifs20z9yvscdvsxbx132xnq77i0r3qvlxc"; - }; - - nativeBuildInputs = [ - vala pkg-config wrapGAppsHook itstool gettext appstream-glib libxml2 - meson ninja python3 - ]; - buildInputs = [ gtk3 gnome3.adwaita-icon-theme gdk-pixbuf librsvg clutter clutter-gtk ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = "lightsoff"; - attrPath = "gnome3.lightsoff"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Lightsoff"; - description = "Puzzle game, where the objective is to turn off all of the tiles on the board"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/quadrapassel/default.nix b/pkgs/desktops/gnome-3/games/quadrapassel/default.nix deleted file mode 100644 index de3d67b58bf..00000000000 --- a/pkgs/desktops/gnome-3/games/quadrapassel/default.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome3, gdk-pixbuf -, librsvg, gsound, libmanette -, gettext, itstool, libxml2, clutter, clutter-gtk, wrapGAppsHook -, meson, ninja, python3, vala, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "quadrapassel"; - version = "3.38.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "033plabc6q3sk6qjr5nml8z6p07vcw57gxddxjk9b65wgg0rzzhr"; - }; - - nativeBuildInputs = [ - meson ninja python3 vala desktop-file-utils - pkg-config gnome3.adwaita-icon-theme - libxml2 itstool gettext wrapGAppsHook - ]; - buildInputs = [ - gtk3 gdk-pixbuf librsvg libmanette - gsound clutter libxml2 clutter-gtk - ]; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - description = "Classic falling-block game, Tetris"; - homepage = "https://wiki.gnome.org/Apps/Quadrapassel"; - license = licenses.gpl2; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/swell-foop/default.nix b/pkgs/desktops/gnome-3/games/swell-foop/default.nix deleted file mode 100644 index d29ac55ce28..00000000000 --- a/pkgs/desktops/gnome-3/games/swell-foop/default.nix +++ /dev/null @@ -1,72 +0,0 @@ -{ lib -, stdenv -, fetchurl -, meson -, ninja -, pkg-config -, vala -, glib -, gtk3 -, libgnome-games-support -, gnome3 -, desktop-file-utils -, clutter -, clutter-gtk -, gettext -, itstool -, libxml2 -, wrapGAppsHook -, python3 -}: - -stdenv.mkDerivation rec { - pname = "swell-foop"; - version = "40.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "17r4b0g8s7z872wdd7ngk248z7fqx43vm2sym1bdqhzsi250s1y1"; - }; - - nativeBuildInputs = [ - meson - ninja - vala - pkg-config - wrapGAppsHook - python3 - itstool - gettext - libxml2 - desktop-file-utils - ]; - - buildInputs = [ - glib - gtk3 - libgnome-games-support - gnome3.adwaita-icon-theme - clutter - clutter-gtk - ]; - - postPatch = '' - chmod +x meson_post_install.py # patchShebangs requires executable file - patchShebangs meson_post_install.py - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Swell%20Foop"; - description = "Puzzle game, previously known as Same GNOME"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/games/tali/default.nix b/pkgs/desktops/gnome-3/games/tali/default.nix deleted file mode 100644 index e5aad262aa9..00000000000 --- a/pkgs/desktops/gnome-3/games/tali/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome3, gdk-pixbuf -, librsvg, libgnome-games-support, gettext, itstool, libxml2, wrapGAppsHook -, meson, ninja, python3, desktop-file-utils -}: - -stdenv.mkDerivation rec { - pname = "tali"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "19gic6yjg3bg6jf87zvhm7ihsz1y58dz86p4x3a16xdhjyrk40q2"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "tali"; attrPath = "gnome3.tali"; }; - }; - - nativeBuildInputs = [ - meson ninja python3 desktop-file-utils - pkg-config gnome3.adwaita-icon-theme - libxml2 itstool gettext wrapGAppsHook - ]; - buildInputs = [ gtk3 gdk-pixbuf librsvg libgnome-games-support ]; - - postPatch = '' - chmod +x build-aux/meson_post_install.py - patchShebangs build-aux/meson_post_install.py - ''; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Tali"; - description = "Sort of poker with dice and less money"; - maintainers = teams.gnome.members; - license = licenses.gpl2; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/installer.nix b/pkgs/desktops/gnome-3/installer.nix deleted file mode 100644 index 4999e1f3343..00000000000 --- a/pkgs/desktops/gnome-3/installer.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ isoBaseName ? "nixos-graphical-gnome", system ? builtins.currentSystem -, extraModules ? [] }: - -let - - module = ../../../../nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix; - - config = (import ../../../../nixos/lib/eval-config.nix { - inherit system; - modules = [ module { isoImage.isoBaseName = isoBaseName; } ] ++ extraModules; - }).config; - -in - config.system.build.isoImage - diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix deleted file mode 100644 index 3abddaedaec..00000000000 --- a/pkgs/desktops/gnome-3/misc/geary/default.nix +++ /dev/null @@ -1,160 +0,0 @@ -{ lib -, stdenv -, fetchurl -, pkg-config -, gtk3 -, vala -, enchant2 -, wrapGAppsHook -, meson -, ninja -, desktop-file-utils -, gnome-online-accounts -, gsettings-desktop-schemas -, adwaita-icon-theme -, libpeas -, libsecret -, gmime3 -, isocodes -, icu -, libxml2 -, gettext -, sqlite -, gcr -, json-glib -, itstool -, libgee -, gnome3 -, webkitgtk -, python3 -, gnutls -, cacert -, xvfb_run -, glibcLocales -, dbus -, shared-mime-info -, libunwind -, folks -, glib-networking -, gobject-introspection -, gspell -, appstream-glib -, libstemmer -, libytnef -, libhandy -, gsound -}: - -stdenv.mkDerivation rec { - pname = "geary"; - version = "40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "1c2nd35500ng28223y5pszc7fh8g16njj34f6p5xc9594lvj0mik"; - }; - - nativeBuildInputs = [ - appstream-glib - desktop-file-utils - gettext - gobject-introspection - itstool - libxml2 - meson - ninja - pkg-config - python3 - vala - wrapGAppsHook - ]; - - buildInputs = [ - adwaita-icon-theme - enchant2 - folks - gcr - glib-networking - gmime3 - gnome-online-accounts - gsettings-desktop-schemas - gsound - gspell - gtk3 - isocodes - icu - json-glib - libgee - libhandy - libpeas - libsecret - libunwind - libstemmer - libytnef - sqlite - webkitgtk - ]; - - checkInputs = [ - dbus - gnutls # for certtool - cacert # trust store for glib-networking - xvfb_run - glibcLocales # required by Geary.ImapDb.DatabaseTest/utf8_case_insensitive_collation - ]; - - mesonFlags = [ - "-Dprofile=release" - "-Dcontractor=enabled" # install the contractor file (Pantheon specific) - ]; - - # NOTE: Remove `build-auxyaml_to_json.py` when no longer needed, see: - # https://gitlab.gnome.org/GNOME/geary/commit/f7f72143e0f00ca5e0e6a798691805c53976ae31#0cc1139e3347f573ae1feee5b73dbc8a8a21fcfa - postPatch = '' - chmod +x build-aux/post_install.py build-aux/git_version.py - - patchShebangs build-aux/post_install.py build-aux/git_version.py - - chmod +x build-aux/yaml_to_json.py - patchShebangs build-aux/yaml_to_json.py - - chmod +x desktop/geary-attach - ''; - - # Some tests time out. - doCheck = false; - - checkPhase = '' - runHook preCheck - - NO_AT_BRIDGE=1 \ - GIO_EXTRA_MODULES=$GIO_EXTRA_MODULES:${glib-networking}/lib/gio/modules \ - HOME=$TMPDIR \ - XDG_DATA_DIRS=$XDG_DATA_DIRS:${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${shared-mime-info}/share:${folks}/share/gsettings-schemas/${folks.name} \ - xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ - --config-file=${dbus.daemon}/share/dbus-1/session.conf \ - meson test -v --no-stdsplit - - runHook postCheck - ''; - - preFixup = '' - # Add geary to path for geary-attach - gappsWrapperArgs+=(--prefix PATH : "$out/bin") - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Geary"; - description = "Mail client for GNOME 3"; - maintainers = teams.gnome.members; - license = licenses.lgpl21Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix deleted file mode 100644 index 49205751591..00000000000 --- a/pkgs/desktops/gnome-3/misc/gitg/default.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ lib -, stdenv -, fetchurl -, vala -, gettext -, pkg-config -, gtk3 -, glib -, json-glib -, wrapGAppsHook -, libpeas -, bash -, gobject-introspection -, libsoup -, gtksourceview -, gsettings-desktop-schemas -, adwaita-icon-theme -, gnome3 -, gtkspell3 -, shared-mime-info -, libgee -, libgit2-glib -, libsecret -, meson -, ninja -, python3 -, libdazzle -}: - -stdenv.mkDerivation rec { - pname = "gitg"; - version = "3.32.1"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"; - }; - - nativeBuildInputs = [ - gobject-introspection - gettext - meson - ninja - pkg-config - python3 - vala - wrapGAppsHook - ]; - - buildInputs = [ - adwaita-icon-theme - glib - gsettings-desktop-schemas - gtk3 - gtksourceview - gtkspell3 - json-glib - libdazzle - libgee - libgit2-glib - libpeas - libsecret - libsoup - ]; - - doCheck = false; # FAIL: tests-gitg gtk_style_context_add_provider_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed - - postPatch = '' - chmod +x meson_post_install.py - patchShebangs meson_post_install.py - - substituteInPlace tests/libgitg/test-commit.vala --replace "/bin/bash" "${bash}/bin/bash" - ''; - - preFixup = '' - gappsWrapperArgs+=( - # Thumbnailers - --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" - ) - ''; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - }; - }; - - meta = with lib; { - homepage = "https://wiki.gnome.org/Apps/Gitg"; - description = "GNOME GUI client to view git repositories"; - maintainers = with maintainers; [ domenkozar ]; - license = licenses.gpl2Plus; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix b/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix deleted file mode 100644 index 21dedba16ad..00000000000 --- a/pkgs/desktops/gnome-3/misc/gnome-applets/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ lib, stdenv -, fetchurl -, gettext -, itstool -, libxml2 -, pkg-config -, gnome-panel -, gtk3 -, glib -, libwnck3 -, libgtop -, libnotify -, upower -, wirelesstools -, linuxPackages -, adwaita-icon-theme -, libgweather -, gucharmap -, tracker -, polkit -, gnome3 -}: - -stdenv.mkDerivation rec { - pname = "gnome-applets"; - version = "3.40.0"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1k6mdkg16ia29fyg8ikf4dfs51gnrmg0f8xwpvd3192lhfsbsh19"; - }; - - nativeBuildInputs = [ - gettext - itstool - pkg-config - libxml2 - ]; - - buildInputs = [ - gnome-panel - gtk3 - glib - libxml2 - libwnck3 - libgtop - libnotify - upower - adwaita-icon-theme - libgweather - gucharmap - tracker - polkit - wirelesstools - linuxPackages.cpupower - ]; - - enableParallelBuilding = true; - - doCheck = true; - - # Don't try to install modules to gnome panel's directory, as it's read only - PKG_CONFIG_LIBGNOME_PANEL_MODULESDIR = "${placeholder "out"}/lib/gnome-panel/modules"; - - passthru = { - updateScript = gnome3.updateScript { - packageName = pname; - attrPath = "gnome3.${pname}"; - versionPolicy = "odd-unstable"; - }; - }; - - meta = with lib; { - description = "Applets for use with the GNOME panel"; - homepage = "https://wiki.gnome.org/Projects/GnomeApplets"; - license = licenses.gpl2Plus; - maintainers = teams.gnome.members; - platforms = platforms.linux; - }; -} diff --git a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix deleted file mode 100644 index 8d5f07579c6..00000000000 --- a/pkgs/desktops/gnome-3/misc/gnome-autoar/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ lib, stdenv -, fetchurl -, pkg-config -, gnome3 -, gtk3 -, glib -, gobject-introspection -, libarchive -, vala -}: - -stdenv.mkDerivation rec { - pname = "gnome-autoar"; - version = "0.3.2"; - - outputs = [ "out" "dev" ]; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0wkwix44yg126xn1v4f2j60bv9yiyadfpzf8ifx0bvd9x5f4v354"; - }; - - passthru = { - updateScript = gnome3.updateScript { packageName = "gnome-autoar"; attrPath = "gnome3.gnome-autoar"; }; - }; - - nativeBuildInputs = [ - gobject-introspection - pkg-config - vala - ]; - - buildInputs = [ - gtk3 - ]; - - propagatedBuildInputs = [ - libarchive - glib - ]; - - meta = with lib; { - platforms = platforms.linux; - maintainers = teams.gnome.members; - license = licenses.lgpl21Plus; - description = "Library to integrate compressed files management with GNOME"; - }; -} diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix deleted file mode 100644 index 501000f204f..00000000000 --- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix +++ /dev/null @@ -1,203 +0,0 @@ -{ lib, stdenv -, autoreconfHook -, fetchurl -, gettext -, glib -, gnome-bluetooth -, gnome-desktop -, gnome-panel -, gnome-session -, gnome3 -, gsettings-desktop-schemas -, gtk3 -, ibus -, libcanberra-gtk3 -, libpulseaudio -, libxkbfile -, libxml2 -, pkg-config -, polkit -, gdm -, systemd -, upower -, pam -, wrapGAppsHook -, writeTextFile -, writeShellScriptBin -, xkeyboard_config -, xorg -, runCommand -}: -let - pname = "gnome-flashback"; - version = "3.40.0"; - - # From data/sessions/Makefile.am - requiredComponentsCommon = [ - "gnome-flashback" - "gnome-panel" - ]; - requiredComponentsGsd = [ - "org.gnome.SettingsDaemon.A11ySettings" - "org.gnome.SettingsDaemon.Color" - "org.gnome.SettingsDaemon.Datetime" - "org.gnome.SettingsDaemon.Housekeeping" - "org.gnome.SettingsDaemon.Keyboard" - "org.gnome.SettingsDaemon.MediaKeys" - "org.gnome.SettingsDaemon.Power" - "org.gnome.SettingsDaemon.PrintNotifications" - "org.gnome.SettingsDaemon.Rfkill" - "org.gnome.SettingsDaemon.ScreensaverProxy" - "org.gnome.SettingsDaemon.Sharing" - "org.gnome.SettingsDaemon.Smartcard" - "org.gnome.SettingsDaemon.Sound" - "org.gnome.SettingsDaemon.UsbProtection" - "org.gnome.SettingsDaemon.Wacom" - "org.gnome.SettingsDaemon.XSettings" - ]; - requiredComponents = wmName: "RequiredComponents=${lib.concatStringsSep ";" ([ wmName ] ++ requiredComponentsCommon ++ requiredComponentsGsd)};"; - gnome-flashback = stdenv.mkDerivation rec { - name = "${pname}-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; - sha256 = "0fxv13m2q9z1q3i9jbggl35cb7jlckbdrfsr5sf030hr1w836gz0"; - }; - - # make .desktop Execs absolute - postPatch = '' - patch -p0 < 1 && builtins.match "[0-9]+" minorVersion != null; - nextMinor = builtins.fromJSON minorVersion + 1; - upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}"; - in lib.optionalString (freeze && minorAvailable) ''--upper-bound="${upperBound}"''; - updateScript = writeScript "gnome-update-script" '' - #!${stdenv.shell} - set -o errexit - package_name="$1" - attr_path="$2" - version_policy="$3" - PATH=${lib.makeBinPath [ common-updater-scripts python ]} - latest_tag=$(python "${./find-latest-version.py}" "$package_name" "$version_policy" "stable" ${upperBoundFlag}) - update-source-version "$attr_path" "$latest_tag" - ''; -in [ updateScript packageName attrPath versionPolicy ] diff --git a/pkgs/desktops/gnome/apps/accerciser/default.nix b/pkgs/desktops/gnome/apps/accerciser/default.nix new file mode 100644 index 00000000000..d81b8466194 --- /dev/null +++ b/pkgs/desktops/gnome/apps/accerciser/default.nix @@ -0,0 +1,74 @@ +{ lib +, fetchurl +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, gobject-introspection +, itstool +, libxml2 +, python3 +, at-spi2-core +, dbus +, gettext +, libwnck3 +, adwaita-icon-theme +}: + +python3.pkgs.buildPythonApplication rec { + pname = "accerciser"; + version = "3.38.0"; + + format = "other"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0fd9vv2abd2if2qj4nlfy7mpd7rc4sx18zhmxd5ijlnfhkpggbp5"; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection # For setup hook + itstool + libxml2 + pkg-config + dbus + wrapGAppsHook + ]; + + buildInputs = [ + adwaita-icon-theme + at-spi2-core + gtk3 + libwnck3 + ]; + + propagatedBuildInputs = with python3.pkgs; [ + ipython + pyatspi + pycairo + pygobject3 + setuptools + xlib + ]; + + # Strict deps breaks accerciser + # and https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + + passthru = { + updateScript = gnome.updateScript { + packageName = "accerciser"; + attrPath = "gnome.accerciser"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Accerciser"; + description = "Interactive Python accessibility explorer"; + maintainers = teams.gnome.members; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/cheese/default.nix b/pkgs/desktops/gnome/apps/cheese/default.nix new file mode 100644 index 00000000000..d0a9d6aaabb --- /dev/null +++ b/pkgs/desktops/gnome/apps/cheese/default.nix @@ -0,0 +1,121 @@ +{ lib +, stdenv +, gettext +, fetchurl +, fetchpatch +, wrapGAppsHook +, gnome-video-effects +, libcanberra-gtk3 +, pkg-config +, gtk3 +, glib +, clutter-gtk +, clutter-gst +, gst_all_1 +, itstool +, vala +, docbook_xml_dtd_43 +, docbook-xsl-nons +, appstream-glib +, libxslt +, gtk-doc +, adwaita-icon-theme +, librsvg +, totem +, gdk-pixbuf +, gnome +, gnome-desktop +, libxml2 +, meson +, ninja +, dbus +, python3 +}: + +stdenv.mkDerivation rec { + pname = "cheese"; + version = "3.38.0"; + + outputs = [ "out" "man" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/cheese/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8"; + }; + + patches = [ + # Fix build with latest Vala or GLib + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/cheese/commit/7cf6268e54620bbbe5e6e61800c50fb0cb4bea57.patch"; + sha256 = "WJgGNrpZLTahe7Sxr8HdTl+4Mf4VcmJb6DdiInlDcT4="; + }) + ]; + + nativeBuildInputs = [ + appstream-glib + docbook_xml_dtd_43 + docbook-xsl-nons + gettext + gtk-doc + itstool + libxml2 + libxslt # for xsltproc + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook + glib # for glib-compile-schemas + ]; + + buildInputs = [ + adwaita-icon-theme + clutter-gst + clutter-gtk + dbus + gdk-pixbuf + glib + gnome-desktop + gnome-video-effects + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer + gtk3 + libcanberra-gtk3 + librsvg + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + # Effects + --prefix XDG_DATA_DIRS : "${gnome-video-effects}/share" + # vp8enc preset + --prefix GST_PRESET_PATH : "${gst_all_1.gst-plugins-good}/share/gstreamer-1.0/presets" + # Thumbnailers + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" + --prefix XDG_DATA_DIRS : "${totem}/share" + ) + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "cheese"; + attrPath = "gnome.cheese"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Cheese"; + description = "Take photos and videos with your webcam, with fun graphical effects"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/file-roller/default.nix b/pkgs/desktops/gnome/apps/file-roller/default.nix new file mode 100644 index 00000000000..6af1994fb06 --- /dev/null +++ b/pkgs/desktops/gnome/apps/file-roller/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv, fetchurl, glib, gtk3, meson, ninja, pkg-config, gnome, gettext, itstool, libxml2, libarchive +, file, json-glib, python3, wrapGAppsHook, desktop-file-utils, libnotify, nautilus, glibcLocales +, unzip, cpio }: + +stdenv.mkDerivation rec { + pname = "file-roller"; + version = "3.40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a"; + }; + + LANG = "en_US.UTF-8"; # postinstall.py + + nativeBuildInputs = [ meson ninja gettext itstool pkg-config libxml2 python3 wrapGAppsHook glibcLocales desktop-file-utils ]; + + buildInputs = [ glib gtk3 json-glib libarchive file gnome.adwaita-icon-theme libnotify nautilus cpio ]; + + PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; + + postPatch = '' + chmod +x postinstall.py # patchShebangs requires executable file + patchShebangs postinstall.py + patchShebangs data/set-mime-type-entry.py + ''; + + postFixup = '' + # Workaround because of https://gitlab.gnome.org/GNOME/file-roller/issues/40 + wrapProgram "$out/bin/file-roller" \ + --prefix PATH : ${lib.makeBinPath [ unzip ]} + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "file-roller"; + attrPath = "gnome.file-roller"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/FileRoller"; + description = "Archive manager for the GNOME desktop environment"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/apps/gedit/default.nix b/pkgs/desktops/gnome/apps/gedit/default.nix new file mode 100644 index 00000000000..a8479e9cdca --- /dev/null +++ b/pkgs/desktops/gnome/apps/gedit/default.nix @@ -0,0 +1,81 @@ +{ lib, stdenv +, meson +, fetchurl +, python3 +, pkg-config +, gtk3 +, glib +, adwaita-icon-theme +, libpeas +, gtksourceview4 +, gsettings-desktop-schemas +, wrapGAppsHook +, ninja +, libsoup +, tepl +, gnome +, gspell +, perl +, itstool +, desktop-file-utils +, vala +}: + +stdenv.mkDerivation rec { + pname = "gedit"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gedit/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm"; + }; + + nativeBuildInputs = [ + desktop-file-utils + itstool + meson + ninja + perl + pkg-config + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + adwaita-icon-theme + glib + gsettings-desktop-schemas + gspell + gtk3 + gtksourceview4 + libpeas + libsoup + tepl + ]; + + postPatch = '' + chmod +x build-aux/meson/post_install.py + chmod +x plugins/externaltools/scripts/gedit-tool-merge.pl + patchShebangs build-aux/meson/post_install.py + patchShebangs plugins/externaltools/scripts/gedit-tool-merge.pl + ''; + + # Reliably fails to generate gedit-file-browser-enum-types.h in time + enableParallelBuilding = false; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gedit"; + attrPath = "gnome.gedit"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Gedit"; + description = "Official text editor of the GNOME desktop environment"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.unix; + }; +} diff --git a/pkgs/desktops/gnome/apps/ghex/default.nix b/pkgs/desktops/gnome/apps/ghex/default.nix new file mode 100644 index 00000000000..500e60feb75 --- /dev/null +++ b/pkgs/desktops/gnome/apps/ghex/default.nix @@ -0,0 +1,84 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, pkg-config +, meson +, ninja +, python3 +, gnome +, desktop-file-utils +, appstream-glib +, gettext +, itstool +, libxml2 +, gtk3 +, glib +, atk +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "ghex"; + version = "3.18.4"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/ghex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2"; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + itstool + meson + ninja + pkg-config + python3 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + atk + glib + ]; + + checkInputs = [ + appstream-glib + desktop-file-utils + ]; + + patches = [ + # Fixes for darwin. Drop in next release. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/ghex/commit/b0af26666cd990d99076c242b2abb3efc6e98671.patch"; + sha256 = "1zwdkgr2nqrn9q3ydyvrrpn5x55cdi747fhbq6mh6blp9cbrk9b5"; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/ghex/commit/cc8ef9e67b23604c402460010dc0b5dccb85391b.patch"; + sha256 = "0j2165rfhlbrlzhmcnirqd5m89ljpz0n3nz20sxbwlc8h42zv36s"; + }) + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "ghex"; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Ghex"; + description = "Hex editor for GNOME desktop environment"; + platforms = platforms.unix; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-books/default.nix b/pkgs/desktops/gnome/apps/gnome-books/default.nix new file mode 100644 index 00000000000..0e8b322cf5e --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-books/default.nix @@ -0,0 +1,86 @@ +{ lib, stdenv +, meson +, ninja +, gettext +, fetchurl +, evince +, gjs +, pkg-config +, gtk3 +, glib +, tracker +, tracker-miners +, libxslt +, webkitgtk +, gnome-desktop +, libgepub +, gnome +, gdk-pixbuf +, gsettings-desktop-schemas +, adwaita-icon-theme +, docbook-xsl-nons +, docbook_xml_dtd_42 +, desktop-file-utils +, python3 +, gobject-introspection +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gnome-books"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0c41l8m2di8h39bmk2fnhpwglwp6qhljmwqqbihzp4ay9976zrc5"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + libxslt + desktop-file-utils + docbook-xsl-nons + docbook_xml_dtd_42 + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + gdk-pixbuf + adwaita-icon-theme + evince + webkitgtk + gjs + gobject-introspection + tracker + tracker-miners + gnome-desktop + libgepub + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-books"; + attrPath = "gnome.gnome-books"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Books"; + description = "An e-book manager application for GNOME"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix new file mode 100644 index 00000000000..605275be7de --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix @@ -0,0 +1,145 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, wrapGAppsHook +, pkg-config +, gettext +, itstool +, libvirt-glib +, glib +, gobject-introspection +, libxml2 +, gtk3 +, gtksourceview4 +, gtk-vnc +, freerdp +, libvirt +, spice-gtk +, python3 +, appstream-glib +, spice-protocol +, libhandy +, libsoup +, libosinfo +, systemd +, tracker +, tracker-miners +, vala +, libcap +, yajl +, gmp +, gdbm +, cyrus_sasl +, gnome +, librsvg +, desktop-file-utils +, mtools +, cdrkit +, libcdio +, libusb1 +, libarchive +, acl +, libgudev +, libsecret +, libcap_ng +, numactl +, libapparmor +, json-glib +, webkitgtk +, vte +, glib-networking +}: + +stdenv.mkDerivation rec { + pname = "gnome-boxes"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "seKPLH+3a/T7uGLQ1S6BG5TL6f8W8GdAiWRWhpCILvg="; + }; + + doCheck = true; + + nativeBuildInputs = [ + appstream-glib # for appstream-util + desktop-file-utils + gettext + gobject-introspection + itstool + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook + ]; + + # Required for USB redirection PolicyKit rules file + propagatedUserEnvPkgs = [ + spice-gtk + ]; + + buildInputs = [ + acl + cyrus_sasl + freerdp + gdbm + glib + glib-networking + gmp + gnome.adwaita-icon-theme + gtk-vnc + gtk3 + gtksourceview4 + json-glib + libapparmor + libarchive + libcap + libcap_ng + libgudev + libhandy + libosinfo + librsvg + libsecret + libsoup + libusb1 + libvirt + libvirt-glib + libxml2 + numactl + spice-gtk + spice-protocol + systemd + tracker + tracker-miners + vte + webkitgtk + yajl + ]; + + preFixup = '' + gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ mtools cdrkit libcdio ]}") + ''; + + postPatch = '' + chmod +x build-aux/post_install.py # patchShebangs requires executable file + patchShebangs build-aux/post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Simple GNOME 3 application to access remote or virtual systems"; + homepage = "https://wiki.gnome.org/Apps/Boxes"; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix new file mode 100644 index 00000000000..3e80575a33d --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix @@ -0,0 +1,84 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, wrapGAppsHook +, libdazzle +, libgweather +, geoclue2 +, geocode-glib +, python3 +, gettext +, libxml2 +, gnome +, gtk3 +, evolution-data-server +, libsoup +, glib +, gnome-online-accounts +, gsettings-desktop-schemas +, libhandy +, adwaita-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "gnome-calendar"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0d74hng9jdmwdcjgj4xfrcink2gwkbp1k1mad4wanaf7q31c6f38"; + }; + + patches = [ + # https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/84 + # A refactor has caused the PR patch to drift enough to need rebasing + ./gtk_image_reset_crash.patch + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + libxml2 + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + evolution-data-server + libsoup + glib + gnome-online-accounts + libdazzle + libgweather + geoclue2 + geocode-glib + gsettings-desktop-schemas + adwaita-icon-theme + libhandy + ]; + + postPatch = '' + chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file + patchShebangs build-aux/meson/meson_post_install.py + ''; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Calendar"; + description = "Simple and beautiful calendar application for GNOME"; + maintainers = teams.gnome.members; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch b/pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch new file mode 100644 index 00000000000..5065295b57b --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch @@ -0,0 +1,17 @@ +diff --git a/src/gui/views/gcal-year-view.c b/src/gui/views/gcal-year-view.c +index ac32a8f9..532425c1 100644 +--- a/src/gui/views/gcal-year-view.c ++++ b/src/gui/views/gcal-year-view.c +@@ -2158,7 +2158,11 @@ update_weather (GcalYearView *self) + if (!updated) + { + gtk_label_set_text (self->temp_label, ""); +- gtk_image_clear (self->weather_icon); ++ /* FIXME: This should never be NULL, but it somehow is. ++ * https://gitlab.gnome.org/GNOME/gnome-calendar/issues/299 ++ */ ++ if (self->weather_icon != NULL) ++ gtk_image_clear (self->weather_icon); + } + } + diff --git a/pkgs/desktops/gnome/apps/gnome-characters/default.nix b/pkgs/desktops/gnome/apps/gnome-characters/default.nix new file mode 100644 index 00000000000..5cbd58d602a --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-characters/default.nix @@ -0,0 +1,88 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gettext +, gnome +, glib +, gtk3 +, pango +, wrapGAppsHook +, python3 +, gobject-introspection +, gjs +, libunistring +, libhandy +, gsettings-desktop-schemas +, adwaita-icon-theme +, gnome-desktop +}: + +stdenv.mkDerivation rec { + pname = "gnome-characters"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha"; + }; + + nativeBuildInputs = [ + gettext + gobject-introspection + meson + ninja + pkg-config + python3 + wrapGAppsHook + ]; + + + buildInputs = [ + adwaita-icon-theme + gjs + glib + gnome-desktop # for typelib + gsettings-desktop-schemas + gtk3 + libunistring + libhandy + pango + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + dontWrapGApps = true; + + # Fixes https://github.com/NixOS/nixpkgs/issues/31168 + postFixup = '' + for file in $out/share/org.gnome.Characters/org.gnome.Characters \ + $out/share/org.gnome.Characters/org.gnome.Characters.BackgroundService + do + sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \ + -i $file + + wrapGApp "$file" + done + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Characters"; + description = "Simple utility application to find and insert unusual characters"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome/apps/gnome-clocks/default.nix new file mode 100644 index 00000000000..d9a749a24b0 --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-clocks/default.nix @@ -0,0 +1,87 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, gettext +, pkg-config +, wrapGAppsHook +, itstool +, desktop-file-utils +, vala +, gobject-introspection +, libxml2 +, gtk3 +, glib +, gsound +, sound-theme-freedesktop +, gsettings-desktop-schemas +, adwaita-icon-theme +, gnome-desktop +, geocode-glib +, gnome +, gdk-pixbuf +, geoclue2 +, libgweather +, libhandy +}: + +stdenv.mkDerivation rec { + pname = "gnome-clocks"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "02d3jg46sn8d9gd4dsaly22gg5vkbz2gpq4pmwpvncb4rsqk7sn2"; + }; + + nativeBuildInputs = [ + vala + meson + ninja + pkg-config + gettext + itstool + wrapGAppsHook + desktop-file-utils + libxml2 + gobject-introspection # for finding vapi files + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + gdk-pixbuf + adwaita-icon-theme + gnome-desktop + geocode-glib + geoclue2 + libgweather + gsound + libhandy + ]; + + preFixup = '' + gappsWrapperArgs+=( + # Fallback sound theme + --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" + ) + ''; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-clocks"; + attrPath = "gnome.gnome-clocks"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Clocks"; + description = "Clock application designed for GNOME 3"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-connections/default.nix b/pkgs/desktops/gnome/apps/gnome-connections/default.nix new file mode 100644 index 00000000000..abdf751baeb --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-connections/default.nix @@ -0,0 +1,75 @@ +{ lib, stdenv +, fetchurl +, gnome +, meson +, ninja +, vala +, pkg-config +, glib +, gtk3 +, python3 +, libxml2 +, gtk-vnc +, gettext +, desktop-file-utils +, appstream-glib +, gobject-introspection +, freerdp +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gnome-connections"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz"; + hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA="; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + glib # glib-compile-resources + meson + appstream-glib + ninja + pkg-config + python3 + vala + wrapGAppsHook + + # for gtk-frdp subproject + gobject-introspection + ]; + + buildInputs = [ + glib + gtk-vnc + gtk3 + libxml2 + + # for gtk-frdp subproject + freerdp + ]; + + postPatch = '' + chmod +x build-aux/meson/postinstall.py + patchShebangs build-aux/meson/postinstall.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "connections"; + attrPath = "gnome-connections"; + }; + }; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/GNOME/connections"; + description = "A remote desktop client for the GNOME desktop environment"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-documents/default.nix b/pkgs/desktops/gnome/apps/gnome-documents/default.nix new file mode 100644 index 00000000000..3f7ac34696b --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-documents/default.nix @@ -0,0 +1,127 @@ +{ lib, stdenv +, meson +, ninja +, gettext +, fetchurl +, fetchpatch +, evince +, gjs +, pkg-config +, gtk3 +, glib +, tracker +, tracker-miners +, itstool +, libxslt +, webkitgtk +, libgdata +, gnome-desktop +, libzapojit +, libgepub +, gnome +, gdk-pixbuf +, libsoup +, docbook_xsl +, docbook_xml_dtd_42 +, gobject-introspection +, inkscape +, poppler_utils +, desktop-file-utils +, wrapGAppsHook +, python3 +, appstream-glib +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-documents"; + version = "3.34.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-documents/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq"; + }; + + patches = [ + # Fix inkscape 1.0 usage + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-documents/commit/0f55a18c40a61e6ae4ec4652604775f139892350.diff"; + sha256 = "1yrisq69dl1dn7639drlbza20a5ic6xg04ksr9iq4sxdx3xj3d8s"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + libxslt + desktop-file-utils + docbook_xsl + docbook_xml_dtd_42 + wrapGAppsHook + python3 + appstream-glib + + # building getting started + inkscape + poppler_utils + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + gdk-pixbuf + gnome.adwaita-icon-theme + evince + libsoup + webkitgtk + gjs + gobject-introspection + tracker + tracker-miners + libgdata + gnome-desktop + libzapojit + libgepub + ]; + + doCheck = true; + + mesonFlags = [ + "-Dgetting_started=true" + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + preFixup = '' + substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib.bin}/bin/gapplication" + ''; + + preConfigure = + # To silence inkscape warnings regarding profile directory + '' + export INKSCAPE_PROFILE_DIR="$(mktemp -d)" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + broken = true; # Tracker 3 not supported and it cannot start Tracker 2. + homepage = "https://wiki.gnome.org/Apps/Documents"; + description = "Document manager application designed to work with GNOME 3"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-logs/default.nix b/pkgs/desktops/gnome/apps/gnome-logs/default.nix new file mode 100644 index 00000000000..da06eb4404c --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-logs/default.nix @@ -0,0 +1,86 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, meson +, ninja +, pkg-config +, gnome +, glib +, gtk3 +, wrapGAppsHook +, gettext +, itstool +, libxml2 +, libxslt +, docbook_xsl +, docbook_xml_dtd_43 +, systemd +, python3 +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-logs"; + version = "3.36.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-logs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0w1nfdxbv3f0wnhmdy21ydvr4swfc108hypda561p7l9lrhnnxj4"; + }; + + patches = [ + # https://gitlab.gnome.org/GNOME/gnome-logs/-/issues/52 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-logs/-/commit/b42defceefc775220b525f665a3b662ab9593b81.patch"; + sha256 = "1s0zscmhwy7r0xff17wh8ik8x9xw1vrkipw5vl5i770bxnljps8n"; + }) + ]; + + nativeBuildInputs = [ + python3 + meson + ninja + pkg-config + wrapGAppsHook + gettext + itstool + libxml2 + libxslt + docbook_xsl + docbook_xml_dtd_43 + ]; + + buildInputs = [ + glib + gtk3 + systemd + gsettings-desktop-schemas + gnome.adwaita-icon-theme + ]; + + mesonFlags = [ + "-Dman=true" + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-logs"; + attrPath = "gnome.gnome-logs"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Logs"; + description = "A log viewer for the systemd journal"; + maintainers = teams.gnome.members; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix new file mode 100644 index 00000000000..2818215a4ff --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix @@ -0,0 +1,104 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, gettext +, python3 +, pkg-config +, gnome +, gtk3 +, gobject-introspection +, gdk-pixbuf +, librsvg +, libgweather +, geoclue2 +, wrapGAppsHook +, folks +, libchamplain +, gfbgraph +, libsoup +, gsettings-desktop-schemas +, webkitgtk +, gjs +, libgee +, libhandy +, geocode-glib +, evolution-data-server +, gnome-online-accounts +}: + +stdenv.mkDerivation rec { + pname = "gnome-maps"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-mAXUwFs6NpV0bTdisoFr/+bZ19VuF7y7nZ1B3C0CYxo="; + }; + + doCheck = true; + + nativeBuildInputs = [ + gettext + meson + ninja + pkg-config + python3 + wrapGAppsHook + ]; + + buildInputs = [ + evolution-data-server + folks + gdk-pixbuf + geoclue2 + geocode-glib + gfbgraph + gjs + gnome-online-accounts + gnome.adwaita-icon-theme + gobject-introspection + gsettings-desktop-schemas + gtk3 + libchamplain + libgee + libgweather + libhandy + librsvg + libsoup + webkitgtk + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + + # The .service file isn't wrapped with the correct environment + # so misses GIR files when started. By re-pointing from the gjs + # entry point to the wrapped binary we get back to a wrapped + # binary. + substituteInPlace "data/org.gnome.Maps.service.in" \ + --replace "Exec=@pkgdatadir@/org.gnome.Maps" \ + "Exec=$out/bin/gnome-maps" + ''; + + preCheck = '' + # “time.js” included by “timeTest” and “translationsTest” depends on “org.gnome.desktop.interface” schema. + export XDG_DATA_DIRS="${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:$XDG_DATA_DIRS" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Maps"; + description = "A map application for GNOME 3"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-music/default.nix b/pkgs/desktops/gnome/apps/gnome-music/default.nix new file mode 100644 index 00000000000..51e3d5a9cdf --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-music/default.nix @@ -0,0 +1,113 @@ +{ lib +, meson +, ninja +, gettext +, fetchurl +, gdk-pixbuf +, tracker +, libxml2 +, python3 +, libnotify +, wrapGAppsHook +, libmediaart +, gobject-introspection +, gnome-online-accounts +, grilo +, grilo-plugins +, pkg-config +, gtk3 +, pango +, glib +, desktop-file-utils +, appstream-glib +, itstool +, gnome +, gst_all_1 +, libdazzle +, libsoup +, gsettings-desktop-schemas +}: + +python3.pkgs.buildPythonApplication rec { + pname = "gnome-music"; + version = "40.0"; + + format = "other"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1djqhd4jccvk352hwxjhiwjgbnv1qnpv450f2c6w6581vcn9pq38"; + }; + + nativeBuildInputs = [ + meson + ninja + gettext + itstool + pkg-config + libxml2 + wrapGAppsHook + desktop-file-utils + appstream-glib + gobject-introspection + ]; + + buildInputs = [ + gtk3 + pango + glib + libmediaart + gnome-online-accounts + gobject-introspection + gdk-pixbuf + gnome.adwaita-icon-theme + python3 + grilo + grilo-plugins + libnotify + libdazzle + libsoup + gsettings-desktop-schemas + tracker + ] ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); + + propagatedBuildInputs = with python3.pkgs; [ + pycairo + dbus-python + pygobject3 + ]; + + + postPatch = '' + for f in meson_post_conf.py meson_post_install.py; do + chmod +x $f + patchShebangs $f + done + ''; + + doCheck = false; + + # handle setup hooks better + strictDeps = false; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Music"; + description = "Music player and management application for the GNOME desktop environment"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-nettool/default.nix b/pkgs/desktops/gnome/apps/gnome-nettool/default.nix new file mode 100644 index 00000000000..ca75b7aae07 --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-nettool/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, libgtop, intltool, itstool, libxml2, nmap, inetutils }: + +stdenv.mkDerivation rec { + pname = "gnome-nettool"; + version = "3.8.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h"; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ + gtk3 wrapGAppsHook libgtop intltool itstool libxml2 + gnome.adwaita-icon-theme + ]; + + propagatedUserEnvPkgs = [ nmap inetutils ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + versionPolicy = "none"; + }; + }; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/GNOME/gnome-nettool"; + description = "A collection of networking tools"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-notes/default.nix b/pkgs/desktops/gnome/apps/gnome-notes/default.nix new file mode 100644 index 00000000000..6af206069e2 --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-notes/default.nix @@ -0,0 +1,87 @@ +{ lib, stdenv +, meson +, ninja +, gettext +, fetchurl +, pkg-config +, wrapGAppsHook +, itstool +, desktop-file-utils +, python3 +, glib +, gtk3 +, evolution-data-server +, gnome-online-accounts +, json-glib +, libuuid +, curl +, libhandy +, webkitgtk +, gnome +, libxml2 +, gsettings-desktop-schemas +, tracker +}: + +stdenv.mkDerivation rec { + pname = "gnome-notes"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/bijiben/${lib.versions.major version}/bijiben-${version}.tar.xz"; + sha256 = "1gvvb2klkzbmyzwkjgmscdiqcl8lyz9b0rxb4igjz079csq6z805"; + }; + + doCheck = true; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + libxml2 + desktop-file-utils + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + json-glib + libuuid + curl + libhandy + webkitgtk + tracker + gnome-online-accounts + gsettings-desktop-schemas + evolution-data-server + gnome.adwaita-icon-theme + ]; + + mesonFlags = [ + "-Dupdate_mimedb=false" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "bijiben"; + attrPath = "gnome.gnome-notes"; + }; + }; + + meta = with lib; { + description = "Note editor designed to remain simple to use"; + homepage = "https://wiki.gnome.org/Apps/Notes"; + license = licenses.gpl3; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-power-manager/default.nix b/pkgs/desktops/gnome/apps/gnome-power-manager/default.nix new file mode 100644 index 00000000000..0337f70a20e --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-power-manager/default.nix @@ -0,0 +1,60 @@ +{ lib, stdenv +, gettext +, fetchurl +, pkg-config +, gtk3 +, glib +, meson +, ninja +, upower +, python3 +, desktop-file-utils +, wrapGAppsHook +, gnome }: + +let + pname = "gnome-power-manager"; + version = "3.32.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0drfn3wcc8l4n07qwv6p0rw2dwcd00hwzda282q62l6sasks2b2g"; + }; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook + gettext + + # needed by meson_post_install.sh + python3 + glib.dev + desktop-file-utils + ]; + + buildInputs = [ + gtk3 + glib + upower + gnome.adwaita-icon-theme + ]; + + meta = with lib; { + homepage = "https://projects-old.gnome.org/gnome-power-manager/"; + description = "View battery and power statistics provided by UPower"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix new file mode 100644 index 00000000000..29f7aa6e9ee --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix @@ -0,0 +1,72 @@ +{ lib, stdenv +, fetchurl +, pkg-config +, gettext +, gobject-introspection +, wrapGAppsHook +, gjs +, glib +, gtk3 +, gdk-pixbuf +, gst_all_1 +, gnome +, meson +, ninja +, python3 +, desktop-file-utils +, libhandy +}: + +stdenv.mkDerivation rec { + pname = "gnome-sound-recorder"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "00b55vsfzx877b7mj744abzjws7zclz71wbvh0axsrbl9l84ranl"; + }; + + nativeBuildInputs = [ + pkg-config + gettext + meson + ninja + gobject-introspection + wrapGAppsHook + python3 + desktop-file-utils + ]; + + buildInputs = [ + gjs + glib + gtk3 + gdk-pixbuf + libhandy + ] ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-bad # for gstreamer-player-1.0 + ]); + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "A simple and modern sound recorder"; + homepage = "https://wiki.gnome.org/Apps/SoundRecorder"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix new file mode 100644 index 00000000000..885f21cf3ec --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix @@ -0,0 +1,89 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, meson +, ninja +, pkg-config +, python3 +, wrapGAppsHook +, gettext +, gnome +, glib +, gtk3 +, libpeas +, gnome-online-accounts +, gsettings-desktop-schemas +, evolution-data-server +, libxml2 +, libsoup +, libical +, librest +, json-glib +}: + +stdenv.mkDerivation rec { + pname = "gnome-todo"; + version = "3.28.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "08ygqbib72jlf9y0a16k54zz51sncpq2wa18wp81v46q8301ymy7"; + }; + + patches = [ + # fix build with libecal 2.0 + (fetchpatch { + name = "gnome-todo-eds-libecal-2.0.patch"; + url = "https://src.fedoraproject.org/rpms/gnome-todo/raw/bed44b8530f3c79589982e03b430b3a125e9bceb/f/gnome-todo-eds-libecal-2.0.patch"; + sha256 = "1ghrz973skal36j90wm2z13m3panw983r6y0k7z9gpj5lxgz92mq"; + }) + ]; + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + libpeas + gnome-online-accounts + gsettings-desktop-schemas + gnome.adwaita-icon-theme + # Plug-ins + evolution-data-server + libxml2 + libsoup + libical + librest + json-glib + ]; + + # Fix parallel building: missing dependency from src/gtd-application.c + # Probably remove for 3.30+ https://gitlab.gnome.org/GNOME/gnome-todo/issues/170 + preBuild = "ninja src/gtd-vcs-identifier.h"; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Personal task manager for GNOME"; + homepage = "https://wiki.gnome.org/Apps/Todo"; + license = licenses.gpl3Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/gnome-weather/default.nix b/pkgs/desktops/gnome/apps/gnome-weather/default.nix new file mode 100644 index 00000000000..39c10e82a1c --- /dev/null +++ b/pkgs/desktops/gnome/apps/gnome-weather/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gnome +, gtk3 +, libhandy +, wrapGAppsHook +, gjs +, gobject-introspection +, libgweather +, meson +, ninja +, geoclue2 +, gnome-desktop +, python3 +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-weather"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-weather/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1vxfcvga5waangq3rzwdrdxyy5sw40vv0l463lc651s0n8xafd9a"; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + libhandy + gjs + gobject-introspection + gnome-desktop + libgweather + gnome.adwaita-icon-theme + geoclue2 + gsettings-desktop-schemas + ]; + + postPatch = '' + # The .service file is not wrapped with the correct environment + # so misses GIR files when started. By re-pointing from the gjs + # entry point to the wrapped binary we get back to a wrapped + # binary. + substituteInPlace "data/org.gnome.Weather.service.in" \ + --replace "Exec=@DATA_DIR@/@APP_ID@" \ + "Exec=$out/bin/gnome-weather" + + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-weather"; + attrPath = "gnome.gnome-weather"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Weather"; + description = "Access current weather conditions and forecasts"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/polari/default.nix b/pkgs/desktops/gnome/apps/polari/default.nix new file mode 100644 index 00000000000..0675ccb2f82 --- /dev/null +++ b/pkgs/desktops/gnome/apps/polari/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, itstool, fetchurl, gdk-pixbuf, adwaita-icon-theme +, telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils +, pkg-config, gtk3, glib, libsecret, libsoup, webkitgtk, gobject-introspection, appstream-glib +, gnome, wrapGAppsHook, telepathy-logger, gspell, gsettings-desktop-schemas }: + +let + pname = "polari"; + version = "3.38.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1l82nmb5qk4h69rsdhzlcmjjdhwh9jzfs4cnw8hy39sg5v9ady1s"; + }; + + patches = [ + # Upstream runs the thumbnailer by passing it to gjs. + # If we wrap it in a shell script, gjs can no longer run it. + # Let’s change the code to run the script directly by making it executable and having gjs in shebang. + ./make-thumbnailer-wrappable.patch + ]; + + propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ]; + + nativeBuildInputs = [ + meson ninja pkg-config itstool gettext wrapGAppsHook libxml2 + desktop-file-utils gobject-introspection appstream-glib + ]; + + buildInputs = [ + gtk3 glib adwaita-icon-theme gsettings-desktop-schemas + telepathy-glib telepathy-logger gjs gspell gdk-pixbuf libsecret libsoup webkitgtk + ]; + + postFixup = '' + wrapGApp "$out/share/polari/thumbnailer.js" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Polari"; + description = "IRC chat client designed to integrate with the GNOME desktop"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/polari/make-thumbnailer-wrappable.patch b/pkgs/desktops/gnome/apps/polari/make-thumbnailer-wrappable.patch new file mode 100644 index 00000000000..0fb09eb154a --- /dev/null +++ b/pkgs/desktops/gnome/apps/polari/make-thumbnailer-wrappable.patch @@ -0,0 +1,24 @@ +diff --git a/src/thumbnailer.js b/src/thumbnailer.js +old mode 100644 +new mode 100755 +index e2ad0a5..7ebf08a +--- a/src/thumbnailer.js ++++ b/src/thumbnailer.js +@@ -1,3 +1,4 @@ ++#!/usr/bin/env gjs + imports.gi.versions.Gdk = '3.0'; + imports.gi.versions.Gtk = '3.0'; + +diff --git a/src/urlPreview.js b/src/urlPreview.js +index f17e0be..ccffc32 100644 +--- a/src/urlPreview.js ++++ b/src/urlPreview.js +@@ -44,7 +44,7 @@ class Thumbnailer { + _generateThumbnail(data) { + let { filename, uri } = data; + this._subProc = Gio.Subprocess.new( +- ['gjs', `${pkg.pkgdatadir}/thumbnailer.js`, uri, filename], ++ [`${pkg.pkgdatadir}/thumbnailer.js`, uri, filename], + Gio.SubprocessFlags.NONE); + this._subProc.wait_async(null, (o, res) => { + try { diff --git a/pkgs/desktops/gnome/apps/seahorse/default.nix b/pkgs/desktops/gnome/apps/seahorse/default.nix new file mode 100644 index 00000000000..d46aed7bbe9 --- /dev/null +++ b/pkgs/desktops/gnome/apps/seahorse/default.nix @@ -0,0 +1,84 @@ +{ lib, stdenv +, fetchurl +, vala +, meson +, ninja +, libpwquality +, pkg-config +, gtk3 +, glib +, wrapGAppsHook +, itstool +, gnupg +, libsoup +, gnome +, gpgme +, python3 +, openldap +, gcr +, libsecret +, avahi +, p11-kit +, openssh +, gsettings-desktop-schemas +, libhandy +}: + +stdenv.mkDerivation rec { + pname = "seahorse"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + hash = "sha256-fscFezhousbqBB/aghQKOfXsnlsYi0UJFNRTvC1V0Cw="; + }; + + doCheck = true; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + itstool + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + glib + gcr + gsettings-desktop-schemas + gnupg + gnome.adwaita-icon-theme + gpgme + libsecret + avahi + libsoup + p11-kit + openssh + openldap + libpwquality + libhandy + ]; + + postPatch = '' + patchShebangs build-aux/ + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Seahorse"; + description = "Application for managing encryption keys and passwords in the GnomeKeyring"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/apps/vinagre/default.nix b/pkgs/desktops/gnome/apps/vinagre/default.nix new file mode 100644 index 00000000000..31e198783e0 --- /dev/null +++ b/pkgs/desktops/gnome/apps/vinagre/default.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome, vte, libxml2, gtk-vnc, intltool +, libsecret, itstool, wrapGAppsHook, librsvg }: + +stdenv.mkDerivation rec { + pname = "vinagre"; + version = "3.22.0"; + + src = fetchurl { + url = "mirror://gnome/sources/vinagre/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "cd1cdbacca25c8d1debf847455155ee798c3e67a20903df8b228d4ece5505e82"; + }; + + nativeBuildInputs = [ pkg-config intltool itstool wrapGAppsHook ]; + buildInputs = [ + gtk3 vte libxml2 gtk-vnc libsecret gnome.adwaita-icon-theme librsvg + ]; + + NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral"; + + passthru = { + updateScript = gnome.updateScript { + packageName = "vinagre"; + attrPath = "gnome.vinagre"; + }; + }; + + meta = with lib; { + description = "Remote desktop viewer for GNOME"; + homepage = "https://wiki.gnome.org/Apps/Vinagre"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix new file mode 100644 index 00000000000..04f8a7a3c37 --- /dev/null +++ b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchurl, pkg-config, intltool, gnome +, iconnamingutils, gtk3, gdk-pixbuf, librsvg, hicolor-icon-theme }: + +stdenv.mkDerivation rec { + pname = "adwaita-icon-theme"; + version = "40.1.1"; + + src = fetchurl { + url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "C2xDbtatmIeoitofcqAZex63OwINjTRKurTH+nJQ+PY="; + }; + + # For convenience, we can specify adwaita-icon-theme only in packages + propagatedBuildInputs = [ hicolor-icon-theme ]; + + buildInputs = [ gdk-pixbuf librsvg ]; + + nativeBuildInputs = [ pkg-config intltool iconnamingutils gtk3 ]; + + dontDropIconThemeCache = true; + + # remove a tree of dirs with no files within + postInstall = '' rm -rf "$out/locale" ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "adwaita-icon-theme"; + attrPath = "gnome.adwaita-icon-theme"; + }; + }; + + meta = with lib; { + platforms = with platforms; linux ++ darwin; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/baobab/default.nix b/pkgs/desktops/gnome/core/baobab/default.nix new file mode 100644 index 00000000000..8d0f9459c3b --- /dev/null +++ b/pkgs/desktops/gnome/core/baobab/default.nix @@ -0,0 +1,64 @@ +{ stdenv +, lib +, gettext +, fetchurl +, vala +, desktop-file-utils +, meson +, ninja +, pkg-config +, python3 +, gtk3 +, libhandy +, glib +, libxml2 +, wrapGAppsHook +, itstool +, gnome +}: + +stdenv.mkDerivation rec { + pname = "baobab"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "19yii3bdgivxrcka1c4g6dpbmql5nyawwhzlsph7z6bs68nambm6"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gettext + itstool + libxml2 + desktop-file-utils + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + libhandy + glib + gnome.adwaita-icon-theme + ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + description = "Graphical application to analyse disk usage in any GNOME environment"; + homepage = "https://wiki.gnome.org/Apps/DiskUsageAnalyzer"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/caribou/default.nix b/pkgs/desktops/gnome/core/caribou/default.nix new file mode 100644 index 00000000000..5985ff82266 --- /dev/null +++ b/pkgs/desktops/gnome/core/caribou/default.nix @@ -0,0 +1,54 @@ +{ fetchurl, lib, stdenv, pkg-config, gnome, glib, gtk3, clutter, dbus, python3, libxml2 +, libxklavier, libXtst, gtk2, intltool, libxslt, at-spi2-core, autoreconfHook +, wrapGAppsHook, libgee }: + +let + pname = "caribou"; + version = "0.4.21"; + pythonEnv = python3.withPackages ( ps: with ps; [ pygobject3 ] ); +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0mfychh1q3dx0b96pjz9a9y112bm9yqyim40yykzxx1hppsdjhww"; + }; + + patches = [ + # Fix crash in GNOME Flashback + # https://bugzilla.gnome.org/show_bug.cgi?id=791001 + (fetchurl { + url = "https://bugzilla.gnome.org/attachment.cgi?id=364774"; + sha256 = "15k1455grf6knlrxqbjnk7sals1730b0whj30451scp46wyvykvd"; + }) + ]; + + nativeBuildInputs = [ pkg-config intltool libxslt libxml2 autoreconfHook wrapGAppsHook ]; + + buildInputs = [ + glib gtk3 clutter at-spi2-core dbus pythonEnv python3.pkgs.pygobject3 + libXtst gtk2 + ]; + + propagatedBuildInputs = [ libgee libxklavier ]; + + postPatch = '' + patchShebangs . + substituteInPlace libcaribou/Makefile.am --replace "--shared-library=libcaribou.so.0" "--shared-library=$out/lib/libcaribou.so.0" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "An input assistive technology intended for switch and pointer users"; + homepage = "https://wiki.gnome.org/Projects/Caribou"; + license = licenses.lgpl21; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/dconf-editor/default.nix b/pkgs/desktops/gnome/core/dconf-editor/default.nix new file mode 100644 index 00000000000..165980d7e9c --- /dev/null +++ b/pkgs/desktops/gnome/core/dconf-editor/default.nix @@ -0,0 +1,69 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, vala +, libxslt +, pkg-config +, glib +, gtk3 +, gnome +, python3 +, dconf +, libxml2 +, gettext +, docbook-xsl-nons +, wrapGAppsHook +, gobject-introspection +}: + +stdenv.mkDerivation rec { + pname = "dconf-editor"; + version = "3.38.3"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-Vxr0x9rU8Em1PmzXKLea3fCMJ92ra8V7OW0hGGbueeM="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + libxslt + pkg-config + wrapGAppsHook + gettext + docbook-xsl-nons + libxml2 + gobject-introspection + python3 + ]; + + buildInputs = [ + glib + gtk3 + dconf + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "GSettings editor for GNOME"; + homepage = "https://wiki.gnome.org/Apps/DconfEditor"; + license = licenses.gpl3Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/empathy/default.nix b/pkgs/desktops/gnome/core/empathy/default.nix new file mode 100644 index 00000000000..fbfee37cd13 --- /dev/null +++ b/pkgs/desktops/gnome/core/empathy/default.nix @@ -0,0 +1,147 @@ +{ lib, stdenv +, intltool +, fetchurl +, webkitgtk +, pkg-config +, gtk3 +, glib +, file +, librsvg +, gnome +, gdk-pixbuf +, python3 +, telepathy-glib +, telepathy-farstream +, clutter-gtk +, clutter-gst +, gst_all_1 +, cogl +, gnome-online-accounts +, gcr +, libsecret +, folks +, libpulseaudio +, telepathy-mission-control +, telepathy-logger +, libnotify +, clutter +, libsoup +, gnutls +, evolution-data-server +, yelp-xsl +, libcanberra-gtk3 +, p11-kit +, farstream +, libtool +, shared-mime-info +, wrapGAppsHook +, itstool +, libxml2 +, libxslt +, icu +, libgee +, gsettings-desktop-schemas +, isocodes +, enchant +, libchamplain +, geoclue2 +, geocode-glib +, cheese +, libgudev +}: + +stdenv.mkDerivation rec { + pname = "empathy"; + version = "3.25.90"; + + src = fetchurl { + url = "mirror://gnome/sources/empathy/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0sn10fcymc6lyrabk7vx8lpvlaxxkqnmcwj9zdkfa8qf3388k4nc"; + }; + + propagatedBuildInputs = [ + (folks.override { telepathySupport = true; }) + telepathy-logger + evolution-data-server + telepathy-mission-control + ]; + + nativeBuildInputs = [ + pkg-config + libtool + intltool + itstool + file + wrapGAppsHook + libxml2 + libxslt + yelp-xsl + python3 + ]; + + buildInputs = [ + gtk3 + glib + webkitgtk + icu + gnome-online-accounts + telepathy-glib + clutter-gtk + clutter-gst + cogl + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gcr + libsecret + libpulseaudio + gdk-pixbuf + libnotify + clutter + libsoup + gnutls + libgee + p11-kit + libcanberra-gtk3 + telepathy-farstream + farstream + gnome.adwaita-icon-theme + gsettings-desktop-schemas + librsvg + + # Spell-checking + enchant + isocodes + + # Display maps, location awareness, geocode support + libchamplain + geoclue2 + geocode-glib + + # Cheese webcam support, camera monitoring + cheese + libgudev + ]; + + enableParallelBuilding = true; + + preFixup = '' + gappsWrapperArgs+=( + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "empathy"; + versionPolicy = "none"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Empathy"; + description = "Messaging program which supports text, voice, video chat, and file transfers over many different protocols"; + maintainers = teams.gnome.members; + license = [ licenses.gpl2 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/eog/default.nix b/pkgs/desktops/gnome/core/eog/default.nix new file mode 100644 index 00000000000..426a8783352 --- /dev/null +++ b/pkgs/desktops/gnome/core/eog/default.nix @@ -0,0 +1,95 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, gettext +, itstool +, pkg-config +, libxml2 +, libjpeg +, libpeas +, libportal +, gnome +, gtk3 +, glib +, gsettings-desktop-schemas +, adwaita-icon-theme +, gnome-desktop +, lcms2 +, gdk-pixbuf +, exempi +, shared-mime-info +, wrapGAppsHook +, librsvg +, libexif +, gobject-introspection +, python3 +}: + +stdenv.mkDerivation rec { + pname = "eog"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-e+CGA3/tm2v4S6yXqD48kYMBt+nJavEwsnJS0KURFok="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + wrapGAppsHook + libxml2 + gobject-introspection + python3 + ]; + + buildInputs = [ + libjpeg + libportal + gtk3 + gdk-pixbuf + glib + libpeas + librsvg + lcms2 + gnome-desktop + libexif + exempi + gsettings-desktop-schemas + shared-mime-info + adwaita-icon-theme + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + # Thumbnailers + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" + --prefix XDG_DATA_DIRS : "${librsvg}/share" + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "GNOME image viewer"; + homepage = "https://wiki.gnome.org/Apps/EyeOfGnome"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.unix; + }; +} diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix new file mode 100644 index 00000000000..f286d384c4e --- /dev/null +++ b/pkgs/desktops/gnome/core/epiphany/default.nix @@ -0,0 +1,115 @@ +{ lib, stdenv +, meson +, ninja +, gettext +, fetchurl +, pkg-config +, gtk3 +, glib +, icu +, wrapGAppsHook +, gnome +, libportal +, libxml2 +, libxslt +, itstool +, webkitgtk +, libsoup +, glib-networking +, libsecret +, gnome-desktop +, libnotify +, libarchive +, p11-kit +, sqlite +, gcr +, isocodes +, desktop-file-utils +, python3 +, nettle +, gdk-pixbuf +, gst_all_1 +, json-glib +, libdazzle +, libhandy +, buildPackages +}: + +stdenv.mkDerivation rec { + pname = "epiphany"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1l0sb1xg16g4wg3z99xb0w2kbyczbn7q4mphs3w4lxq22xml4sk9"; + }; + + nativeBuildInputs = [ + desktop-file-utils + gettext + itstool + libxslt + meson + ninja + pkg-config + python3 + wrapGAppsHook + buildPackages.glib + buildPackages.gtk3 + ]; + + buildInputs = [ + gcr + gdk-pixbuf + glib + glib-networking + gnome-desktop + gnome.adwaita-icon-theme + gst_all_1.gst-libav + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-ugly + gst_all_1.gstreamer + gtk3 + icu + isocodes + json-glib + libdazzle + libhandy + libportal + libnotify + libarchive + libsecret + libsoup + libxml2 + nettle + p11-kit + sqlite + webkitgtk + ]; + + # Tests need an X display + mesonFlags = [ + "-Dunit_tests=disabled" + ]; + + postPatch = '' + chmod +x post_install.py # patchShebangs requires executable file + patchShebangs post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Epiphany"; + description = "WebKit based web browser for GNOME"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix new file mode 100644 index 00000000000..3d7f3e0b835 --- /dev/null +++ b/pkgs/desktops/gnome/core/evince/default.nix @@ -0,0 +1,135 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gettext +, libxml2 +, appstream +, glib +, gtk3 +, pango +, atk +, gdk-pixbuf +, shared-mime-info +, itstool +, gnome +, poppler +, ghostscriptX +, djvulibre +, libspectre +, libarchive +, libhandy +, libsecret +, wrapGAppsHook +, librsvg +, gobject-introspection +, yelp-tools +, gspell +, adwaita-icon-theme +, gsettings-desktop-schemas +, gnome-desktop +, dbus +, python3 +, texlive +, t1lib +, gst_all_1 +, gtk-doc +, docbook-xsl-nons +, docbook_xml_dtd_43 +, supportMultimedia ? true # PDF multimedia +, libgxps +, supportXPS ? true # Open XML Paper Specification via libgxps +}: + +stdenv.mkDerivation rec { + pname = "evince"; + version = "40.1"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0bfg7prmjk3z8irx1nfkkqph3igg3cy4pwd7pcxjxbshqdin6rks"; + }; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + nativeBuildInputs = [ + appstream + docbook-xsl-nons + docbook_xml_dtd_43 + gettext + gobject-introspection + gtk-doc + itstool + meson + ninja + pkg-config + python3 + wrapGAppsHook + yelp-tools + ]; + + buildInputs = [ + adwaita-icon-theme + atk + dbus # only needed to find the service directory + djvulibre + gdk-pixbuf + ghostscriptX + glib + gnome-desktop + gsettings-desktop-schemas + gspell + gtk3 + libarchive + libhandy + librsvg + libsecret + libspectre + libxml2 + pango + poppler + t1lib + texlive.bin.core # kpathsea for DVI support + ] ++ lib.optional supportXPS libgxps + ++ lib.optionals supportMultimedia (with gst_all_1; [ + gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ]); + + mesonFlags = [ + "-Dnautilus=false" + "-Dps=enabled" + ]; + + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + preFixup = '' + gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share") + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Evince"; + description = "GNOME's document viewer"; + + longDescription = '' + Evince is a document viewer for multiple document formats. It + currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal + of Evince is to replace the multiple document viewers that exist + on the GNOME Desktop with a single simple application. + ''; + + license = lib.licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix new file mode 100644 index 00000000000..0ed3565d7f0 --- /dev/null +++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix @@ -0,0 +1,66 @@ +{ fetchurl, lib, stdenv, substituteAll, pkg-config, gnome, python3, gobject-introspection +, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3, gcr, p11-kit +, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre, vala, cmake, ninja +, libkrb5, openldap, webkitgtk, libaccounts-glib, json-glib, glib, gtk3, libphonenumber +, gnome-online-accounts, libgweather, libgdata, gsettings-desktop-schemas, boost, protobuf }: + +stdenv.mkDerivation rec { + pname = "evolution-data-server"; + version = "3.40.1"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "08iykha7zhk21b3axsp3v1jfwda612v0m8rz8zlzppm5i8s5ziza"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit tzdata; + }) + ]; + + prePatch = '' + substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch --subst-var-by ESD_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} \ + --subst-var-by GDS_GSETTINGS_PATH ${glib.getSchemaPath gsettings-desktop-schemas} + patches="$patches $PWD/hardcode-gsettings.patch" + ''; + + nativeBuildInputs = [ + cmake ninja pkg-config intltool python3 gperf wrapGAppsHook gobject-introspection vala + ]; + buildInputs = [ + glib libsoup libxml2 gtk3 gnome-online-accounts + gcr p11-kit libgweather libgdata libaccounts-glib json-glib + icu sqlite libkrb5 openldap webkitgtk glib-networking + libcanberra-gtk3 pcre libphonenumber boost protobuf + ]; + + propagatedBuildInputs = [ libsecret nss nspr libical db libsoup ]; + + cmakeFlags = [ + "-DENABLE_UOA=OFF" + "-DENABLE_VALA_BINDINGS=ON" + "-DENABLE_INTROSPECTION=ON" + "-DCMAKE_SKIP_BUILD_RPATH=OFF" + "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include" + "-DWITH_PHONENUMBER=ON" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "evolution-data-server"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + description = "Unified backend for programs that work with contacts, tasks, and calendar information"; + homepage = "https://wiki.gnome.org/Apps/Evolution"; + license = licenses.lgpl2; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch b/pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch new file mode 100644 index 00000000000..33423551659 --- /dev/null +++ b/pkgs/desktops/gnome/core/evolution-data-server/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/src/calendar/libecal/e-cal-system-timezone.c ++++ b/src/calendar/libecal/e-cal-system-timezone.c +@@ -26,7 +26,7 @@ + #ifdef HAVE_SOLARIS + #define SYSTEM_ZONEINFODIR "/usr/share/lib/zoneinfo/tab" + #else +-#define SYSTEM_ZONEINFODIR "/usr/share/zoneinfo" ++#define SYSTEM_ZONEINFODIR "@tzdata@/share/zoneinfo" + #endif + + #define ETC_TIMEZONE "/etc/timezone" diff --git a/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch new file mode 100644 index 00000000000..4e345c3cb3c --- /dev/null +++ b/pkgs/desktops/gnome/core/evolution-data-server/hardcode-gsettings.patch @@ -0,0 +1,526 @@ +diff --git a/src/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c +index 2c0557c3c..5955aa55e 100644 +--- a/src/addressbook/libebook/e-book-client.c ++++ b/src/addressbook/libebook/e-book-client.c +@@ -1989,7 +1989,20 @@ e_book_client_get_self (ESourceRegistry *registry, + + *out_client = book_client; + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_object_unref (settings); + +@@ -2057,7 +2070,20 @@ e_book_client_set_self (EBookClient *client, + g_return_val_if_fail ( + e_contact_get_const (contact, E_CONTACT_UID) != NULL, FALSE); + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + g_settings_set_string ( + settings, SELF_UID_KEY, + e_contact_get_const (contact, E_CONTACT_UID)); +@@ -2093,8 +2119,20 @@ e_book_client_is_self (EContact *contact) + * unfortunately the API doesn't allow that. + */ + g_mutex_lock (&mutex); +- if (!settings) +- settings = g_settings_new (SELF_UID_PATH_ID); ++ if (!settings) { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_mutex_unlock (&mutex); + +diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c +index 3396b57c0..ac6420b2e 100644 +--- a/src/addressbook/libebook/e-book.c ++++ b/src/addressbook/libebook/e-book.c +@@ -2594,7 +2594,20 @@ e_book_get_self (ESourceRegistry *registry, + return FALSE; + } + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_object_unref (settings); + +@@ -2649,7 +2662,20 @@ e_book_set_self (EBook *book, + g_return_val_if_fail (E_IS_BOOK (book), FALSE); + g_return_val_if_fail (E_IS_CONTACT (contact), FALSE); + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + g_settings_set_string ( + settings, SELF_UID_KEY, + e_contact_get_const (contact, E_CONTACT_UID)); +@@ -2677,7 +2703,20 @@ e_book_is_self (EContact *contact) + + g_return_val_if_fail (E_IS_CONTACT (contact), FALSE); + +- settings = g_settings_new (SELF_UID_PATH_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ SELF_UID_PATH_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + uid = g_settings_get_string (settings, SELF_UID_KEY); + g_object_unref (settings); + +diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c +index de1716941..e83b104f1 100644 +--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c ++++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c +@@ -1397,7 +1397,20 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc) + (GDestroyNotify) g_free, + (GDestroyNotify) contact_record_free); + +- cbc->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server.calendar", ++ FALSE); ++ cbc->priv->settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + cbc->priv->notifyid = 0; + cbc->priv->update_alarms_id = 0; + cbc->priv->alarm_enabled = FALSE; +diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c +index b08a7f301..a49fe39c5 100644 +--- a/src/calendar/libecal/e-reminder-watcher.c ++++ b/src/calendar/libecal/e-reminder-watcher.c +@@ -2202,7 +2202,21 @@ e_reminder_watcher_init (EReminderWatcher *watcher) + + watcher->priv = G_TYPE_INSTANCE_GET_PRIVATE (watcher, E_TYPE_REMINDER_WATCHER, EReminderWatcherPrivate); + watcher->priv->cancellable = g_cancellable_new (); +- watcher->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server.calendar", ++ FALSE); ++ watcher->priv->settings = g_settings_new_full(schema, NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + watcher->priv->scheduled = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_reminder_watcher_free_rd_slist); + watcher->priv->default_zone = icaltimezone_copy (zone); + watcher->priv->timers_enabled = TRUE; +diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c +index dcdc3eed0..fd2e428c2 100644 +--- a/src/camel/camel-cipher-context.c ++++ b/src/camel/camel-cipher-context.c +@@ -1635,7 +1635,20 @@ camel_cipher_can_load_photos (void) + GSettings *settings; + gboolean load_photos; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + load_photos = g_settings_get_boolean (settings, "camel-cipher-load-photos"); + g_clear_object (&settings); + +diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c +index 1b3362886..f0811b292 100644 +--- a/src/camel/camel-gpg-context.c ++++ b/src/camel/camel-gpg-context.c +@@ -573,7 +573,20 @@ gpg_ctx_get_executable_name (void) + GSettings *settings; + gchar *path; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + path = g_settings_get_string (settings, "camel-gpg-binary"); + g_clear_object (&settings); + +diff --git a/src/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c +index e0d8b87d6..3a4d5a359 100644 +--- a/src/libedataserver/e-network-monitor.c ++++ b/src/libedataserver/e-network-monitor.c +@@ -255,7 +255,20 @@ e_network_monitor_constructed (GObject *object) + /* Chain up to parent's method. */ + G_OBJECT_CLASS (e_network_monitor_parent_class)->constructed (object); + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + g_settings_bind ( + settings, "network-monitor-gio-name", + object, "gio-name", +diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c +index f0c6f2cbf..0053e3ce6 100644 +--- a/src/libedataserver/e-oauth2-service-google.c ++++ b/src/libedataserver/e-oauth2-service-google.c +@@ -69,7 +69,20 @@ eos_google_read_settings (EOAuth2Service *service, + if (!value) { + GSettings *settings; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + value = g_settings_get_string (settings, key_name); + g_object_unref (settings); + +diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c +index 687c10d3b..684583c35 100644 +--- a/src/libedataserver/e-oauth2-service-outlook.c ++++ b/src/libedataserver/e-oauth2-service-outlook.c +@@ -70,7 +70,20 @@ eos_outlook_read_settings (EOAuth2Service *service, + if (!value) { + GSettings *settings; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + value = g_settings_get_string (settings, key_name); + g_object_unref (settings); + +diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c +index 682673c16..436f52d5f 100644 +--- a/src/libedataserver/e-oauth2-service.c ++++ b/src/libedataserver/e-oauth2-service.c +@@ -95,7 +95,20 @@ eos_default_guess_can_process (EOAuth2Service *service, + name_len = strlen (name); + hostname_len = strlen (hostname); + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + values = g_settings_get_strv (settings, "oauth2-services-hint"); + g_object_unref (settings); + +diff --git a/src/libedataserver/e-proxy.c b/src/libedataserver/e-proxy.c +index 883379a60..989353494 100644 +--- a/src/libedataserver/e-proxy.c ++++ b/src/libedataserver/e-proxy.c +@@ -969,8 +969,37 @@ e_proxy_init (EProxy *proxy) + + proxy->priv->type = PROXY_TYPE_SYSTEM; + +- proxy->priv->evolution_proxy_settings = g_settings_new ("org.gnome.evolution.shell.network-config"); +- proxy->priv->proxy_settings = g_settings_new ("org.gnome.system.proxy"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution.shell.network-config", ++ FALSE); ++ proxy->priv->evolution_proxy_settings = g_settings_new_full(schema, ++ NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@GDS_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.system.proxy", ++ FALSE); ++ proxy->priv->proxy_settings = g_settings_new_full(schema, ++ NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + proxy->priv->proxy_http_settings = g_settings_get_child (proxy->priv->proxy_settings, "http"); + proxy->priv->proxy_https_settings = g_settings_get_child (proxy->priv->proxy_settings, "https"); + proxy->priv->proxy_socks_settings = g_settings_get_child (proxy->priv->proxy_settings, "socks"); +diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c +index a5a30a3e1..5fbdf8190 100644 +--- a/src/libedataserver/e-source-registry.c ++++ b/src/libedataserver/e-source-registry.c +@@ -1749,7 +1749,21 @@ e_source_registry_init (ESourceRegistry *registry) + + g_mutex_init (®istry->priv->sources_lock); + +- registry->priv->settings = g_settings_new (GSETTINGS_SCHEMA); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ GSETTINGS_SCHEMA, ++ FALSE); ++ registry->priv->settings = g_settings_new_full(schema, NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + g_signal_connect ( + registry->priv->settings, "changed", +diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c +index f89cd4a5c..06cca9b5f 100644 +--- a/src/libedataserverui/e-reminders-widget.c ++++ b/src/libedataserverui/e-reminders-widget.c +@@ -1650,7 +1650,21 @@ static void + e_reminders_widget_init (ERemindersWidget *reminders) + { + reminders->priv = e_reminders_widget_get_instance_private (reminders); +- reminders->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server.calendar", ++ FALSE); ++ reminders->priv->settings = g_settings_new_full(schema, NULL, ++ NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + reminders->priv->cancellable = g_cancellable_new (); + reminders->priv->is_empty = TRUE; + reminders->priv->is_mapped = FALSE; +diff --git a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c +index 6f03053d6..dffc186c7 100644 +--- a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c ++++ b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c +@@ -706,7 +706,20 @@ evolution_source_registry_merge_autoconfig_sources (ESourceRegistryServer *serve + gchar *autoconfig_directory; + gint ii; + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + autoconfig_sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_autoconfig_free_merge_source_data); + +diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c +index d531cb9e2..c5b1c761c 100644 +--- a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c ++++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c +@@ -61,7 +61,20 @@ evolution_source_registry_migrate_proxies (ESourceRegistryServer *server) + extension_name = E_SOURCE_EXTENSION_PROXY; + extension = e_source_get_extension (source, extension_name); + +- settings = g_settings_new (NETWORK_CONFIG_SCHEMA_ID); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ NETWORK_CONFIG_SCHEMA_ID, ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + switch (g_settings_get_int (settings, "proxy-type")) { + case 1: +diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c +index 1c0a11382..3e144845e 100644 +--- a/src/services/evolution-source-registry/evolution-source-registry.c ++++ b/src/services/evolution-source-registry/evolution-source-registry.c +@@ -181,7 +181,20 @@ main (gint argc, + + reload: + +- settings = g_settings_new ("org.gnome.evolution-data-server"); ++ { ++ GSettingsSchemaSource *schema_source; ++ GSettingsSchema *schema; ++ schema_source = g_settings_schema_source_new_from_directory("@ESD_GSETTINGS_PATH@", ++ g_settings_schema_source_get_default(), ++ TRUE, ++ NULL); ++ schema = g_settings_schema_source_lookup(schema_source, ++ "org.gnome.evolution-data-server", ++ FALSE); ++ settings = g_settings_new_full(schema, NULL, NULL); ++ g_settings_schema_source_unref(schema_source); ++ g_settings_schema_unref(schema); ++ } + + if (!opt_disable_migration && !g_settings_get_boolean (settings, "migrated")) { + g_settings_set_boolean (settings, "migrated", TRUE); diff --git a/pkgs/desktops/gnome/core/gdm/default.nix b/pkgs/desktops/gnome/core/gdm/default.nix new file mode 100644 index 00000000000..f3044977349 --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/default.nix @@ -0,0 +1,180 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, substituteAll +, meson +, ninja +, python3 +, rsync +, pkg-config +, glib +, itstool +, libxml2 +, xorg +, accountsservice +, libX11 +, gnome +, systemd +, dconf +, gtk3 +, libcanberra-gtk3 +, pam +, libselinux +, keyutils +, audit +, gobject-introspection +, plymouth +, librsvg +, coreutils +, xwayland +, dbus +, nixos-icons +}: + +let + + override = substituteAll { + src = ./org.gnome.login-screen.gschema.override; + icon = "${nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg"; + }; + +in + +stdenv.mkDerivation rec { + pname = "gdm"; + version = "40.0"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "XtdLc506Iy/7HkoTK8+WW9/pVdmVtSh3NYh3WwLylQ4="; + }; + + mesonFlags = [ + "-Dgdm-xsession=true" + # TODO: Setup a default-path? https://gitlab.gnome.org/GNOME/gdm/-/blob/6fc40ac6aa37c8ad87c32f0b1a5d813d34bf7770/meson_options.txt#L6 + "-Dinitial-vt=${passthru.initialVT}" + "-Dudev-dir=${placeholder "out"}/lib/udev/rules.d" + "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system" + "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" + "--sysconfdir=/etc" + "--localstatedir=/var" + ]; + + nativeBuildInputs = [ + dconf + glib # for glib-compile-schemas + itstool + meson + ninja + pkg-config + python3 + rsync + ]; + + buildInputs = [ + accountsservice + audit + glib + gobject-introspection + gtk3 + keyutils + libX11 + libcanberra-gtk3 + libselinux + pam + plymouth + systemd + xorg.libXdmcp + ]; + + patches = [ + # GDM fails to find g-s with the following error in the journal. + # gdm-x-session[976]: dbus-run-session: failed to exec 'gnome-session': No such file or directory + # https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/92 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gdm/-/commit/ccecd9c975d04da80db4cd547b67a1a94fa83292.patch"; + sha256 = "5hKS9wjjhuSAYwXct5vS0dPbmPRIINJoLC0Zm1naz6Q="; + revert = true; + }) + + # Change hardcoded paths to nix store paths. + (substituteAll { + src = ./fix-paths.patch; + inherit coreutils plymouth xwayland dbus; + }) + + # The following patches implement certain environment variables in GDM which are set by + # the gdm configuration module (nixos/modules/services/x11/display-managers/gdm.nix). + + ./gdm-x-session_extra_args.patch + + # Allow specifying a wrapper for running the session command. + ./gdm-x-session_session-wrapper.patch + + # Forwards certain environment variables to the gdm-x-session child process + # to ensure that the above two patches actually work. + ./gdm-session-worker_forward-vars.patch + + # Set up the environment properly when launching sessions + # https://github.com/NixOS/nixpkgs/issues/48255 + ./reset-environment.patch + ]; + + postPatch = '' + patchShebangs build-aux/meson_post_install.py + + # Upstream checks some common paths to find an `X` binary. We already know it. + echo #!/bin/sh > build-aux/find-x-server.sh + echo "echo ${lib.getBin xorg.xorgserver}/bin/X" >> build-aux/find-x-server.sh + patchShebangs build-aux/find-x-server.sh + ''; + + preInstall = '' + install -D ${override} ${DESTDIR}/$out/share/glib-2.0/schemas/org.gnome.login-screen.gschema.override + ''; + + postInstall = '' + # Move stuff from DESTDIR to proper location. + # We use rsync to merge the directories. + rsync --archive "${DESTDIR}/etc" "$out" + rm --recursive "${DESTDIR}/etc" + for o in $outputs; do + rsync --archive "${DESTDIR}/''${!o}" "$(dirname "''${!o}")" + rm --recursive "${DESTDIR}/''${!o}" + done + # Ensure the DESTDIR is removed. + rmdir "${DESTDIR}/nix/store" "${DESTDIR}/nix" "${DESTDIR}" + + # We are setting DESTDIR so the post-install script does not compile the schemas. + glib-compile-schemas "$out/share/glib-2.0/schemas" + ''; + + # HACK: We want to install configuration files to $out/etc + # but GDM should read them from /etc on a NixOS system. + # With autotools, it was possible to override Make variables + # at install time but Meson does not support this + # so we need to convince it to install all files to a temporary + # location using DESTDIR and then move it to proper one in postInstall. + DESTDIR = "${placeholder "out"}/dest"; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gdm"; + attrPath = "gnome.gdm"; + }; + + # Used in GDM NixOS module + # Don't remove. + initialVT = "7"; + }; + + meta = with lib; { + description = "A program that manages graphical display servers and handles graphical user logins"; + homepage = "https://wiki.gnome.org/Projects/GDM"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gdm/fix-paths.patch b/pkgs/desktops/gnome/core/gdm/fix-paths.patch new file mode 100644 index 00000000000..d649556fe9e --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/fix-paths.patch @@ -0,0 +1,82 @@ +--- a/daemon/gdm-local-display-factory.c ++++ b/daemon/gdm-local-display-factory.c +@@ -201,7 +201,7 @@ + #ifdef ENABLE_WAYLAND_SUPPORT + gboolean wayland_enabled = FALSE; + if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) { +- if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) ++ if (wayland_enabled && g_file_test ("@xwayland@/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) ) + return TRUE; + } + #endif +--- a/daemon/gdm-manager.c ++++ b/daemon/gdm-manager.c +@@ -145,7 +145,7 @@ + GError *error; + + error = NULL; +- res = g_spawn_command_line_sync ("plymouth --ping", ++ res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth --ping", + NULL, NULL, &status, &error); + if (! res) { + g_debug ("Could not ping plymouth: %s", error->message); +@@ -163,7 +163,7 @@ + GError *error; + + error = NULL; +- res = g_spawn_command_line_sync ("plymouth deactivate", ++ res = g_spawn_command_line_sync ("@plymouth@/bin/plymouth deactivate", + NULL, NULL, NULL, &error); + if (! res) { + g_warning ("Could not deactivate plymouth: %s", error->message); +@@ -178,7 +178,7 @@ + GError *error; + + error = NULL; +- res = g_spawn_command_line_async ("plymouth quit --retain-splash", &error); ++ res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit --retain-splash", &error); + if (! res) { + g_warning ("Could not quit plymouth: %s", error->message); + g_error_free (error); +@@ -194,7 +194,7 @@ + GError *error; + + error = NULL; +- res = g_spawn_command_line_async ("plymouth quit", &error); ++ res = g_spawn_command_line_async ("@plymouth@/bin/plymouth quit", &error); + if (! res) { + g_warning ("Could not quit plymouth: %s", error->message); + g_error_free (error); +--- a/data/gdm.service.in ++++ b/data/gdm.service.in +@@ -26,7 +26,7 @@ Restart=always + IgnoreSIGPIPE=no + BusName=org.gnome.DisplayManager + EnvironmentFile=-${LANG_CONFIG_FILE} +-ExecReload=/bin/kill -SIGHUP $MAINPID ++ExecReload=@coreutils@/bin/kill -SIGHUP $MAINPID + KeyringMode=shared + + [Install] +--- a/daemon/gdm-session.c ++++ b/daemon/gdm-session.c +@@ -2916,16 +2916,16 @@ gdm_session_start_session (GdmSession *self, + */ + if (run_launcher) { + if (is_x11) { +- program = g_strdup_printf (LIBEXECDIR "/gdm-x-session %s\"dbus-run-session -- %s\"", ++ program = g_strdup_printf (LIBEXECDIR "/gdm-x-session %s\"@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s\"", + register_session ? "--register-session " : "", + self->selected_program); + } else { +- program = g_strdup_printf (LIBEXECDIR "/gdm-wayland-session %s\"dbus-run-session -- %s\"", ++ program = g_strdup_printf (LIBEXECDIR "/gdm-wayland-session %s\"@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s\"", + register_session ? "--register-session " : "", + self->selected_program); + } + } else { +- program = g_strdup_printf ("dbus-run-session -- %s", ++ program = g_strdup_printf ("@dbus@/bin/dbus-run-session --dbus-daemon=@dbus@/bin/dbus-daemon -- %s", + self->selected_program); + } + } diff --git a/pkgs/desktops/gnome/core/gdm/gdm-session-worker_forward-vars.patch b/pkgs/desktops/gnome/core/gdm/gdm-session-worker_forward-vars.patch new file mode 100644 index 00000000000..401b6aea0c2 --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/gdm-session-worker_forward-vars.patch @@ -0,0 +1,31 @@ +diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c +index 9ef4c5b..94da834 100644 +--- a/daemon/gdm-session-worker.c ++++ b/daemon/gdm-session-worker.c +@@ -1515,6 +1515,16 @@ gdm_session_worker_load_env_d (GdmSessionWorker *worker) + g_object_unref (dir); + } + ++static void ++gdm_session_worker_forward_var (GdmSessionWorker *worker, char const *var) ++{ ++ char const *value = g_getenv(var); ++ if (value != NULL) { ++ g_debug ("forwarding %s= %s", var, value); ++ gdm_session_worker_set_environment_variable(worker, var, value); ++ } ++} ++ + static gboolean + gdm_session_worker_accredit_user (GdmSessionWorker *worker, + GError **error) +@@ -1559,6 +1569,9 @@ gdm_session_worker_accredit_user (GdmSessionWorker *worker, + goto out; + } + ++ gdm_session_worker_forward_var(worker, "GDM_X_SERVER_EXTRA_ARGS"); ++ gdm_session_worker_forward_var(worker, "GDM_X_SESSION_WRAPPER"); ++ + gdm_session_worker_update_environment_from_passwd_info (worker, + uid, + gid, diff --git a/pkgs/desktops/gnome/core/gdm/gdm-x-session_extra_args.patch b/pkgs/desktops/gnome/core/gdm/gdm-x-session_extra_args.patch new file mode 100644 index 00000000000..66071aa4af8 --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/gdm-x-session_extra_args.patch @@ -0,0 +1,38 @@ +diff --git a/daemon/gdm-x-session.c.orig b/daemon/gdm-x-session.c +index d835b34..1f4b7f1 100644 +--- a/daemon/gdm-x-session.c.orig ++++ b/daemon/gdm-x-session.c +@@ -211,6 +211,7 @@ spawn_x_server (State *state, + char *vt_string = NULL; + char *display_number; + gsize display_number_size; ++ gchar **xserver_extra_args = NULL; + + auth_file = prepare_auth_file (); + +@@ -285,6 +286,17 @@ spawn_x_server (State *state, + if (state->debug_enabled) { + g_ptr_array_add (arguments, "-core"); + } ++ ++ if (g_getenv ("GDM_X_SERVER_EXTRA_ARGS") != NULL) { ++ g_debug ("using GDM_X_SERVER_EXTRA_ARGS: %s", g_getenv("GDM_X_SERVER_EXTRA_ARGS")); ++ xserver_extra_args = g_strsplit(g_getenv("GDM_X_SERVER_EXTRA_ARGS"), " ", -1); ++ for (gchar **extra_arg = xserver_extra_args; *extra_arg; extra_arg++) { ++ if (strlen(*extra_arg) < 1) continue; ++ g_debug ("adding: %s", *extra_arg); ++ g_ptr_array_add (arguments, *extra_arg); ++ } ++ } ++ + g_ptr_array_add (arguments, NULL); + + subprocess = g_subprocess_launcher_spawnv (launcher, +@@ -332,6 +344,7 @@ spawn_x_server (State *state, + + is_running = TRUE; + out: ++ g_strfreev(xserver_extra_args); + g_clear_pointer (&auth_file, g_free); + g_clear_object (&data_stream); + g_clear_object (&subprocess); diff --git a/pkgs/desktops/gnome/core/gdm/gdm-x-session_session-wrapper.patch b/pkgs/desktops/gnome/core/gdm/gdm-x-session_session-wrapper.patch new file mode 100644 index 00000000000..58481f0730f --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/gdm-x-session_session-wrapper.patch @@ -0,0 +1,40 @@ +diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c +index 88fe96f..b1b140a 100644 +--- a/daemon/gdm-x-session.c ++++ b/daemon/gdm-x-session.c +@@ -664,18 +664,34 @@ spawn_session (State *state, + state->session_command, + NULL); + } else { ++ char const *session_wrapper; ++ char *eff_session_command; + int ret; + char **argv; + +- ret = g_shell_parse_argv (state->session_command, ++ session_wrapper = g_getenv("GDM_X_SESSION_WRAPPER"); ++ if (session_wrapper != NULL) { ++ char *quoted_wrapper = g_shell_quote(session_wrapper); ++ eff_session_command = g_strjoin(" ", quoted_wrapper, state->session_command, NULL); ++ g_free(quoted_wrapper); ++ } else { ++ eff_session_command = state->session_command; ++ } ++ ++ ret = g_shell_parse_argv (eff_session_command, + NULL, + &argv, + &error); + ++ if (session_wrapper != NULL) { ++ g_free(eff_session_command); ++ } ++ + if (!ret) { + g_debug ("could not parse session arguments: %s", error->message); + goto out; + } ++ + subprocess = g_subprocess_launcher_spawnv (launcher, + (const char * const *) argv, + &error); diff --git a/pkgs/desktops/gnome/core/gdm/org.gnome.login-screen.gschema.override b/pkgs/desktops/gnome/core/gdm/org.gnome.login-screen.gschema.override new file mode 100644 index 00000000000..8c17f494b0f --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/org.gnome.login-screen.gschema.override @@ -0,0 +1,2 @@ +[org.gnome.login-screen] +logo='@icon@' diff --git a/pkgs/desktops/gnome/core/gdm/reset-environment.patch b/pkgs/desktops/gnome/core/gdm/reset-environment.patch new file mode 100644 index 00000000000..61defd9c4bc --- /dev/null +++ b/pkgs/desktops/gnome/core/gdm/reset-environment.patch @@ -0,0 +1,20 @@ +--- a/daemon/gdm-wayland-session.c ++++ b/daemon/gdm-wayland-session.c +@@ -285,6 +285,7 @@ spawn_session (State *state, + "WAYLAND_DISPLAY", + "WAYLAND_SOCKET", + "GNOME_SHELL_SESSION_MODE", ++ "__NIXOS_SET_ENVIRONMENT_DONE", + NULL }; + + g_debug ("Running wayland session"); +--- a/daemon/gdm-x-session.c ++++ b/daemon/gdm-x-session.c +@@ -610,6 +610,7 @@ spawn_session (State *state, + "WAYLAND_DISPLAY", + "WAYLAND_SOCKET", + "GNOME_SHELL_SESSION_MODE", ++ "__NIXOS_SET_ENVIRONMENT_DONE", + NULL }; + + g_debug ("Running X session"); diff --git a/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix new file mode 100644 index 00000000000..370cd14e467 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix @@ -0,0 +1,22 @@ +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome, gettext }: + +stdenv.mkDerivation rec { + pname = "gnome-backgrounds"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-backgrounds/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "YN+KDaMBzkJbcEPUKuMuxAEf8I8Y4Pxi8pQBMF2jpw4="; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "gnome-backgrounds"; attrPath = "gnome.gnome-backgrounds"; }; + }; + + nativeBuildInputs = [ meson ninja pkg-config gettext ]; + + meta = with lib; { + platforms = platforms.unix; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix new file mode 100644 index 00000000000..07b77c04994 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix @@ -0,0 +1,86 @@ +{ lib +, stdenv +, fetchurl +, gnome +, meson +, ninja +, pkg-config +, gtk3 +, gettext +, glib +, udev +, itstool +, libxml2 +, wrapGAppsHook +, libnotify +, libcanberra-gtk3 +, gobject-introspection +, gtk-doc +, docbook-xsl-nons +, docbook_xml_dtd_43 +, python3 +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-bluetooth"; + version = "3.34.5"; + + # TODO: split out "lib" + outputs = [ "out" "dev" "devdoc" "man" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"; + }; + + nativeBuildInputs = [ + meson + ninja + gettext + itstool + pkg-config + libxml2 + wrapGAppsHook + gobject-introspection + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + python3 + ]; + + buildInputs = [ + glib + gtk3 + udev + libnotify + libcanberra-gtk3 + gnome.adwaita-icon-theme + gsettings-desktop-schemas + ]; + + mesonFlags = [ + "-Dicon_update=false" + "-Dgtk_doc=true" + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en"; + description = "Application that let you manage Bluetooth in the GNOME destkop"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-calculator/default.nix b/pkgs/desktops/gnome/core/gnome-calculator/default.nix new file mode 100644 index 00000000000..7e19e9523ce --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-calculator/default.nix @@ -0,0 +1,89 @@ +{ stdenv +, lib +, meson +, ninja +, vala +, gettext +, itstool +, fetchurl +, pkg-config +, libxml2 +, gtk3 +, glib +, gtksourceview4 +, wrapGAppsHook +, gobject-introspection +, python3 +, gnome +, mpfr +, gmp +, libsoup +, libmpc +, libhandy +, gsettings-desktop-schemas +, libgee +}: + +stdenv.mkDerivation rec { + pname = "gnome-calculator"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1xkazxbkpn1z5pfphhps7fc5q4yc8lp7f6b222n8bx5iyxhwbrkz"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gettext + itstool + wrapGAppsHook + python3 + gobject-introspection # for finding vapi files + ]; + + buildInputs = [ + gtk3 + glib + libxml2 + gtksourceview4 + mpfr + gmp + gnome.adwaita-icon-theme + libgee + gsettings-desktop-schemas + libsoup + libmpc + libhandy + ]; + + doCheck = true; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + preCheck = '' + # Currency conversion test tries to store currency data in $HOME/.cache. + export HOME=$TMPDIR + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-calculator"; + attrPath = "gnome.gnome-calculator"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Calculator"; + description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-color-manager/default.nix b/pkgs/desktops/gnome/core/gnome-color-manager/default.nix new file mode 100644 index 00000000000..dae367f1d5b --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-color-manager/default.nix @@ -0,0 +1,66 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gettext +, itstool +, desktop-file-utils +, gnome +, glib +, gtk3 +, libexif +, libtiff +, colord +, colord-gtk +, libcanberra-gtk3 +, lcms2 +, vte +, exiv2 +}: + +stdenv.mkDerivation rec { + pname = "gnome-color-manager"; + version = "3.32.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + desktop-file-utils + ]; + + buildInputs = [ + glib + gtk3 + libexif + libtiff + colord + colord-gtk + libcanberra-gtk3 + lcms2 + vte + exiv2 + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "A set of graphical utilities for color management to be used in the GNOME desktop"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-common/default.nix b/pkgs/desktops/gnome/core/gnome-common/default.nix new file mode 100644 index 00000000000..cb50396a404 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-common/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, fetchurl, which, gnome, autoconf, automake }: + +stdenv.mkDerivation rec { + pname = "gnome-common"; + version = "3.18.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-common/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "gnome-common"; attrPath = "gnome.gnome-common"; }; + }; + + patches = [(fetchurl { + name = "gnome-common-patch"; + url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; + sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; + })]; + + propagatedBuildInputs = [ which autoconf automake ]; # autogen.sh which is using gnome-common tends to require which + + meta = with lib; { + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-contacts/default.nix b/pkgs/desktops/gnome/core/gnome-contacts/default.nix new file mode 100644 index 00000000000..62a43d20d58 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-contacts/default.nix @@ -0,0 +1,95 @@ +{ lib, stdenv +, gettext +, fetchurl +, evolution-data-server +, pkg-config +, libxslt +, docbook_xsl +, docbook_xml_dtd_42 +, python3 +, gtk3 +, glib +, cheese +, libchamplain +, clutter-gtk +, geocode-glib +, gnome-desktop +, gnome-online-accounts +, wrapGAppsHook +, folks +, libgdata +, libxml2 +, gnome +, vala +, meson +, ninja +, libhandy +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-contacts"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-contacts/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0w2g5xhw65adzvwzakrj5kaim4sw1w7s8qqwm3nm6inq50znzpn9"; + }; + + propagatedUserEnvPkgs = [ + evolution-data-server + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gettext + libxslt + docbook_xsl + docbook_xml_dtd_42 + python3 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + glib + evolution-data-server + gsettings-desktop-schemas + folks + libgdata # required by some dependency transitively + gnome-desktop + libhandy + libxml2 + gnome-online-accounts + cheese + gnome.adwaita-icon-theme + libchamplain + clutter-gtk + geocode-glib + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-contacts"; + attrPath = "gnome.gnome-contacts"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Contacts"; + description = "GNOME’s integrated address book"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix new file mode 100644 index 00000000000..6170f53c716 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix @@ -0,0 +1,190 @@ +{ fetchurl +, fetchpatch +, lib +, stdenv +, substituteAll +, accountsservice +, adwaita-icon-theme +, cheese +, clutter +, clutter-gtk +, colord +, colord-gtk +, cups +, docbook-xsl-nons +, fontconfig +, gdk-pixbuf +, gettext +, glib +, glib-networking +, glibc +, gnome-bluetooth +, gnome-color-manager +, gnome-desktop +, gnome-online-accounts +, gnome-settings-daemon +, gnome +, grilo +, grilo-plugins +, gsettings-desktop-schemas +, gsound +, gtk3 +, ibus +, libcanberra-gtk3 +, libgnomekbd +, libgtop +, libgudev +, libhandy +, libkrb5 +, libpulseaudio +, libpwquality +, librsvg +, libsecret +, libsoup +, libwacom +, libxml2 +, libxslt +, meson +, modemmanager +, mutter +, networkmanager +, networkmanagerapplet +, libnma +, ninja +, pkg-config +, polkit +, python3 +, samba +, shared-mime-info +, sound-theme-freedesktop +, tracker +, tracker-miners +, tzdata +, udisks2 +, upower +, epoxy +, gnome-user-share +, gnome-remote-desktop +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gnome-control-center"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-zMmlc2UXOFEJrlpZkGwlgkTdh5t1A61ZhM9BZVyzAvE="; + }; + + patches = [ + (substituteAll { + src = ./paths.patch; + gcm = gnome-color-manager; + gnome_desktop = gnome-desktop; + inherit glibc libgnomekbd tzdata; + inherit cups networkmanagerapplet; + }) + + # Fix startup assertion in power panel. + # https://gitlab.gnome.org/GNOME/gnome-control-center/merge_requests/974 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-control-center/commit/9acaa10567c94048657c69538e5d7813f82c4224.patch"; + sha256 = "59GeTPcG2UiVTL4VTS/TP0p0QkAQpm3VgvuAiw64wUU="; + }) + ]; + + nativeBuildInputs = [ + docbook-xsl-nons + gettext + libxslt + meson + ninja + pkg-config + python3 + shared-mime-info + wrapGAppsHook + ]; + + buildInputs = [ + accountsservice + adwaita-icon-theme + cheese + clutter + clutter-gtk + colord + colord-gtk + epoxy + fontconfig + gdk-pixbuf + glib + glib-networking + gnome-bluetooth + gnome-desktop + gnome-online-accounts + gnome-remote-desktop # optional, sharing panel + gnome-settings-daemon + gnome-user-share # optional, sharing panel + grilo + grilo-plugins # for setting wallpaper from Flickr + gsettings-desktop-schemas + gsound + gtk3 + ibus + libcanberra-gtk3 + libgtop + libgudev + libhandy + libkrb5 + libnma + libpulseaudio + libpwquality + librsvg + libsecret + libsoup + libwacom + libxml2 + modemmanager + mutter # schemas for the keybindings + networkmanager + polkit + samba + tracker + tracker-miners # for search locations dialog + udisks2 + upower + ]; + + postPatch = '' + chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file + patchShebangs build-aux/meson/meson_post_install.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + --prefix XDG_DATA_DIRS : "${sound-theme-freedesktop}/share" + # Thumbnailers (for setting user profile pictures) + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" + --prefix XDG_DATA_DIRS : "${librsvg}/share" + # WM keyboard shortcuts + --prefix XDG_DATA_DIRS : "${mutter}/share" + ) + for i in $out/share/applications/*; do + substituteInPlace $i --replace "Exec=gnome-control-center" "Exec=$out/bin/gnome-control-center" + done + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Utilities to configure the GNOME desktop"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-control-center/paths.patch b/pkgs/desktops/gnome/core/gnome-control-center/paths.patch new file mode 100644 index 00000000000..a6787477b81 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-control-center/paths.patch @@ -0,0 +1,194 @@ +diff --git a/panels/color/cc-color-panel.c b/panels/color/cc-color-panel.c +index 603178efc..c363a6a5c 100644 +--- a/panels/color/cc-color-panel.c ++++ b/panels/color/cc-color-panel.c +@@ -591,7 +591,7 @@ gcm_prefs_calibrate_cb (CcColorPanel *prefs) + + /* run with modal set */ + argv = g_ptr_array_new_with_free_func (g_free); +- g_ptr_array_add (argv, g_strdup ("gcm-calibrate")); ++ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-calibrate", NULL)); + g_ptr_array_add (argv, g_strdup ("--device")); + g_ptr_array_add (argv, g_strdup (cd_device_get_id (prefs->current_device))); + g_ptr_array_add (argv, g_strdup ("--parent-window")); +@@ -1029,7 +1029,7 @@ gcm_prefs_profile_view (CcColorPanel *prefs, CdProfile *profile) + + /* open up gcm-viewer as a info pane */ + argv = g_ptr_array_new_with_free_func (g_free); +- g_ptr_array_add (argv, g_strdup ("gcm-viewer")); ++ g_ptr_array_add (argv, g_build_filename ("@gcm@", "bin", "gcm-viewer", NULL)); + g_ptr_array_add (argv, g_strdup ("--profile")); + g_ptr_array_add (argv, g_strdup (cd_profile_get_id (profile))); + g_ptr_array_add (argv, g_strdup ("--parent-window")); +@@ -1275,15 +1275,12 @@ gcm_prefs_device_clicked (CcColorPanel *prefs, CdDevice *device) + static void + gcm_prefs_profile_clicked (CcColorPanel *prefs, CdProfile *profile, CdDevice *device) + { +- g_autofree gchar *s = NULL; +- + /* get profile */ + g_debug ("selected profile = %s", + cd_profile_get_filename (profile)); + + /* allow getting profile info */ +- if (cd_profile_get_filename (profile) != NULL && +- (s = g_find_program_in_path ("gcm-viewer")) != NULL) ++ if (cd_profile_get_filename (profile) != NULL) + gtk_widget_set_sensitive (prefs->toolbutton_profile_view, TRUE); + else + gtk_widget_set_sensitive (prefs->toolbutton_profile_view, FALSE); +diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h +index a2376f8a4..98769e08f 100644 +--- a/panels/datetime/tz.h ++++ b/panels/datetime/tz.h +@@ -27,11 +27,7 @@ + + G_BEGIN_DECLS + +-#ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" +-#else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" +-#endif ++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + + typedef struct _TzDB TzDB; + typedef struct _TzLocation TzLocation; +diff --git a/panels/info-overview/cc-info-overview-panel.c b/panels/info-overview/cc-info-overview-panel.c +index bd0e07762..0e71351f8 100644 +--- a/panels/info-overview/cc-info-overview-panel.c ++++ b/panels/info-overview/cc-info-overview-panel.c +@@ -172,7 +172,7 @@ load_gnome_version (char **version, + gsize length; + g_autoptr(VersionData) data = NULL; + +- if (!g_file_get_contents (DATADIR "/gnome/gnome-version.xml", ++ if (!g_file_get_contents ("@gnome_desktop@/share/gnome/gnome-version.xml", + &contents, + &length, + &error)) +diff --git a/panels/keyboard/cc-input-list-box.c b/panels/keyboard/cc-input-list-box.c +index 6c2cb5614..8f57159cc 100644 +--- a/panels/keyboard/cc-input-list-box.c ++++ b/panels/keyboard/cc-input-list-box.c +@@ -223,10 +223,10 @@ row_layout_cb (CcInputListBox *self, + layout_variant = cc_input_source_get_layout_variant (source); + + if (layout_variant && layout_variant[0]) +- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", + layout, layout_variant); + else +- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", + layout); + + g_spawn_command_line_async (commandline, NULL); +diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c +index 505b8ee25..62e94009f 100644 +--- a/panels/network/connection-editor/net-connection-editor.c ++++ b/panels/network/connection-editor/net-connection-editor.c +@@ -267,9 +267,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type) + g_autoptr(GError) error = NULL; + + if (self->is_new_connection) { +- cmdline = g_strdup_printf ("nm-connection-editor --type='%s' --create", type); ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --type='%s' --create", type); + } else { +- cmdline = g_strdup_printf ("nm-connection-editor --edit='%s'", ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit='%s'", + nm_connection_get_uuid (self->connection)); + } + +diff --git a/panels/network/net-device-bluetooth.c b/panels/network/net-device-bluetooth.c +index 74dfb0e9a..5f53d1a20 100644 +--- a/panels/network/net-device-bluetooth.c ++++ b/panels/network/net-device-bluetooth.c +@@ -90,7 +90,7 @@ nm_device_bluetooth_refresh_ui (NetDeviceBluetooth *self) + update_off_switch_from_device_state (self->device_off_switch, state, self); + + /* set up the Options button */ +- path = g_find_program_in_path ("nm-connection-editor"); ++ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); + gtk_widget_set_visible (GTK_WIDGET (self->options_button), state != NM_DEVICE_STATE_UNMANAGED && path != NULL); + } + +@@ -141,7 +141,7 @@ options_button_clicked_cb (NetDeviceBluetooth *self) + + connection = net_device_get_find_connection (self->client, self->device); + uuid = nm_connection_get_uuid (connection); +- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); + g_debug ("Launching '%s'\n", cmdline); + if (!g_spawn_command_line_async (cmdline, &error)) + g_warning ("Failed to launch nm-connection-editor: %s", error->message); +@@ -185,7 +185,7 @@ net_device_bluetooth_init (NetDeviceBluetooth *self) + + gtk_widget_init_template (GTK_WIDGET (self)); + +- path = g_find_program_in_path ("nm-connection-editor"); ++ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); + gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); + } + +diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c +index 34eb86241..50d0a2bed 100644 +--- a/panels/network/net-device-mobile.c ++++ b/panels/network/net-device-mobile.c +@@ -508,7 +508,7 @@ options_button_clicked_cb (NetDeviceMobile *self) + + connection = net_device_get_find_connection (self->client, self->device); + uuid = nm_connection_get_uuid (connection); +- cmdline = g_strdup_printf ("nm-connection-editor --edit %s", uuid); ++ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit %s", uuid); + g_debug ("Launching '%s'\n", cmdline); + if (!g_spawn_command_line_async (cmdline, &error)) + g_warning ("Failed to launch nm-connection-editor: %s", error->message); +@@ -797,7 +797,7 @@ net_device_mobile_init (NetDeviceMobile *self) + + self->cancellable = g_cancellable_new (); + +- path = g_find_program_in_path ("nm-connection-editor"); ++ path = g_find_program_in_path ("@networkmanagerapplet@/bin/nm-connection-editor"); + gtk_widget_set_visible (GTK_WIDGET (self->options_button), path != NULL); + } + +diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c +index a31a606e3..ed5133d29 100644 +--- a/panels/printers/pp-host.c ++++ b/panels/printers/pp-host.c +@@ -256,7 +256,7 @@ _pp_host_get_snmp_devices_thread (GTask *task, + devices = g_ptr_array_new_with_free_func (g_object_unref); + + argv = g_new0 (gchar *, 3); +- argv[0] = g_strdup ("/usr/lib/cups/backend/snmp"); ++ argv[0] = g_strdup ("@cups@/lib/cups/backend/snmp"); + argv[1] = g_strdup (priv->hostname); + + /* Use SNMP to get printer's informations */ +diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c +index 86f53d4fc..0b052856f 100644 +--- a/panels/user-accounts/run-passwd.c ++++ b/panels/user-accounts/run-passwd.c +@@ -150,7 +150,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error) + gchar **envp; + gint my_stdin, my_stdout, my_stderr; + +- argv[0] = "/usr/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ ++ argv[0] = "/run/wrappers/bin/passwd"; /* Is it safe to rely on a hard-coded path? */ + argv[1] = NULL; + + envp = g_get_environ (); +diff --git a/tests/datetime/test-endianess.c b/tests/datetime/test-endianess.c +index 9cb92007a..84d2f0fa3 100644 +--- a/tests/datetime/test-endianess.c ++++ b/tests/datetime/test-endianess.c +@@ -26,7 +26,7 @@ test_endianess (void) + g_autoptr(GDir) dir = NULL; + const char *name; + +- dir = g_dir_open ("/usr/share/i18n/locales/", 0, NULL); ++ dir = g_dir_open ("@glibc@/share/i18n/locales/", 0, NULL); + if (dir == NULL) { + /* Try with /usr/share/locale/ + * https://bugzilla.gnome.org/show_bug.cgi?id=646780 */ diff --git a/pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch new file mode 100644 index 00000000000..57eb4b3d44a --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch @@ -0,0 +1,15 @@ +--- a/libgnome-desktop/gnome-desktop-thumbnail-script.c ++++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c +@@ -536,9 +536,9 @@ add_bwrap (GPtrArray *array, + g_return_val_if_fail (script->s_infile != NULL, FALSE); + + add_args (array, +- "bwrap", +- "--ro-bind", "/usr", "/usr", +- "--ro-bind", "/etc/ld.so.cache", "/etc/ld.so.cache", ++ "@bubblewrap_bin@", ++ "--ro-bind", "@storeDir@", "@storeDir@", ++ "--ro-bind", "/run/current-system", "/run/current-system", + NULL); + + /* These directories might be symlinks into /usr/... */ diff --git a/pkgs/desktops/gnome/core/gnome-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-desktop/default.nix new file mode 100644 index 00000000000..56bd074c2cb --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-desktop/default.nix @@ -0,0 +1,96 @@ +{ lib +, stdenv +, fetchurl +, substituteAll +, pkg-config +, libxslt +, ninja +, gnome +, gtk3 +, glib +, gettext +, libxml2 +, xkeyboard_config +, libxkbcommon +, isocodes +, meson +, wayland +, libseccomp +, systemd +, bubblewrap +, gobject-introspection +, gtk-doc +, docbook-xsl-nons +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-desktop"; + version = "40.1"; + + outputs = [ "out" "dev" "devdoc" ]; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-igeJcwUhnFaZVJriBI9xVVFe+Xx85NZYXd2hXVhZ4c8="; + }; + + patches = [ + (substituteAll { + src = ./bubblewrap-paths.patch; + bubblewrap_bin = "${bubblewrap}/bin/bwrap"; + inherit (builtins) storeDir; + }) + ]; + + nativeBuildInputs = [ + pkg-config + meson + ninja + gettext + libxslt + libxml2 + gobject-introspection + gtk-doc + docbook-xsl-nons + glib + ]; + + buildInputs = [ + bubblewrap + xkeyboard_config + libxkbcommon # for xkbregistry + isocodes + wayland + gtk3 + glib + libseccomp + systemd + ]; + + propagatedBuildInputs = [ + gsettings-desktop-schemas + ]; + + mesonFlags = [ + "-Dgtk_doc=true" + "-Ddesktop_docs=false" + ]; + + separateDebugInfo = stdenv.isLinux; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-desktop"; + attrPath = "gnome.gnome-desktop"; + }; + }; + + meta = with lib; { + description = "Library with common API for various GNOME modules"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-desktop"; + license = with licenses; [ gpl2Plus lgpl2Plus ]; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome/core/gnome-dictionary/default.nix new file mode 100644 index 00000000000..a399c4e8537 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-dictionary/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, desktop-file-utils, appstream-glib, libxslt +, libxml2, gettext, itstool, wrapGAppsHook, docbook_xsl, docbook_xml_dtd_43 +, gnome, gtk3, glib, gsettings-desktop-schemas }: + +stdenv.mkDerivation rec { + pname = "gnome-dictionary"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-dictionary/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f"; + }; + + doCheck = true; + + nativeBuildInputs = [ + meson ninja pkg-config wrapGAppsHook libxml2 gettext itstool + desktop-file-utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43 + ]; + buildInputs = [ gtk3 glib gsettings-desktop-schemas gnome.adwaita-icon-theme ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-dictionary"; + attrPath = "gnome.gnome-dictionary"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Dictionary"; + description = "Dictionary is the GNOME application to look up definitions"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix new file mode 100644 index 00000000000..c11a1df883a --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix @@ -0,0 +1,85 @@ +{ lib +, stdenv +, gettext +, fetchurl +, pkg-config +, udisks2 +, libhandy +, libsecret +, libdvdread +, meson +, ninja +, gtk3 +, glib +, wrapGAppsHook +, python3 +, libnotify +, itstool +, gnome +, libxml2 +, gsettings-desktop-schemas +, libcanberra-gtk3 +, libxslt +, docbook-xsl-nons +, libpwquality +, systemd +}: + +stdenv.mkDerivation rec { + pname = "gnome-disk-utility"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-KkuZrBHKIzlLKMVYS56WKE6MWk2mXPBiB95U9Csf8UE="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + libxslt + docbook-xsl-nons + wrapGAppsHook + python3 + libxml2 + ]; + + buildInputs = [ + gtk3 + glib + libhandy + libsecret + libpwquality + libnotify + libdvdread + libcanberra-gtk3 + udisks2 + gnome.adwaita-icon-theme + systemd + gnome.gnome-settings-daemon + gsettings-desktop-schemas + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-disk-utility"; + attrPath = "gnome.gnome-disk-utility"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Disks"; + description = "A udisks graphical front-end"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix new file mode 100644 index 00000000000..622a7de1bff --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, meson, ninja, gettext, fetchurl +, pkg-config, gtk3, glib, libxml2, gnome-desktop, adwaita-icon-theme, libhandy +, wrapGAppsHook, gnome, harfbuzz }: + +stdenv.mkDerivation rec { + pname = "gnome-font-viewer"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-font-viewer/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j"; + }; + + doCheck = true; + + nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook libxml2 ]; + buildInputs = [ gtk3 glib gnome-desktop adwaita-icon-theme harfbuzz libhandy ]; + + # Do not run meson-postinstall.sh + preConfigure = "sed -i '2,$ d' meson-postinstall.sh"; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-font-viewer"; + attrPath = "gnome.gnome-font-viewer"; + }; + }; + + meta = with lib; { + description = "Program that can preview fonts and create thumbnails for fonts"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch b/pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch new file mode 100644 index 00000000000..23237595225 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/0001-fix-paths.patch @@ -0,0 +1,62 @@ +From 1ae0eca39ba6af27f37e2fe81395b91a2761a408 Mon Sep 17 00:00:00 2001 +Message-Id: <1ae0eca39ba6af27f37e2fe81395b91a2761a408.1600627676.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Sun, 20 Sep 2020 14:46:59 -0400 +Subject: [PATCH] fix paths + +--- + gnome-initial-setup/pages/keyboard/cc-input-chooser.c | 6 +++--- + gnome-initial-setup/pages/timezone/tz.h | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +index 196abf6..613d0e5 100644 +--- a/gnome-initial-setup/pages/keyboard/cc-input-chooser.c ++++ b/gnome-initial-setup/pages/keyboard/cc-input-chooser.c +@@ -177,9 +177,9 @@ preview_cb (GtkLabel *label, + return TRUE; + + if (variant[0]) +- commandline = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", layout, variant); ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l \"%s\t%s\"", layout, variant); + else +- commandline = g_strdup_printf ("gkbd-keyboard-display -l %s", layout); ++ commandline = g_strdup_printf ("@libgnomekbd@/bin/gkbd-keyboard-display -l %s", layout); + g_spawn_command_line_async (commandline, NULL); + g_free (commandline); + +@@ -831,7 +831,7 @@ cc_input_chooser_class_init (CcInputChooserClass *klass) + g_param_spec_string ("showing-extra", "", "", "", + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + +- signals[CHANGED] = ++ signals[CHANGED] = + g_signal_new ("changed", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST, +diff --git a/gnome-initial-setup/pages/timezone/tz.h b/gnome-initial-setup/pages/timezone/tz.h +index a2376f8..5cb7bc9 100644 +--- a/gnome-initial-setup/pages/timezone/tz.h ++++ b/gnome-initial-setup/pages/timezone/tz.h +@@ -4,7 +4,7 @@ + * Copyright (C) 2000-2001 Ximian, Inc. + * + * Authors: Hans Petter Jansson +- * ++ * + * Largely based on Michael Fulbright's work on Anaconda. + * + * This program is free software; you can redistribute it and/or modify +@@ -28,7 +28,7 @@ + G_BEGIN_DECLS + + #ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" ++# define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + #else + # define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" + #endif + +base-commit: 5132e206a6bf81964450561d68473ac015760455 +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix new file mode 100644 index 00000000000..6d57e29a596 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix @@ -0,0 +1,106 @@ +{ lib, stdenv +, fetchurl +, substituteAll +, gettext +, meson +, ninja +, pkg-config +, wrapGAppsHook +, gnome +, accountsservice +, fontconfig +, gdm +, geoclue2 +, geocode-glib +, glib +, gnome-desktop +, gnome-online-accounts +, gtk3 +, libgweather +, json-glib +, krb5 +, libpwquality +, librest +, libsecret +, networkmanager +, pango +, polkit +, webkitgtk +, systemd +, libnma +, tzdata +, libgnomekbd +, gsettings-desktop-schemas +}: + +stdenv.mkDerivation rec { + pname = "gnome-initial-setup"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "10zf87n6c947k9rkk2rqc9cbfwcvq23axq3rf7x1an7npv3414gi"; + }; + + patches = [ + (substituteAll { + src = ./0001-fix-paths.patch; + inherit tzdata libgnomekbd; + }) + ]; + + nativeBuildInputs = [ + gettext + meson + ninja + pkg-config + systemd + wrapGAppsHook + ]; + + buildInputs = [ + accountsservice + fontconfig + gdm + geoclue2 + geocode-glib + glib + gnome-desktop + gnome-online-accounts + gsettings-desktop-schemas + gtk3 + json-glib + krb5 + libgweather + libnma + libpwquality + librest + libsecret + networkmanager + pango + polkit + webkitgtk + ]; + + mesonFlags = [ + "-Dcheese=disabled" + "-Dibus=disabled" + "-Dparental_controls=disabled" + "-Dvendor-conf-file=${./vendor.conf}" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Simple, easy, and safe way to prepare a new system"; + homepage = "https://gitlab.gnome.org/GNOME/gnome-initial-setup"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf b/pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf new file mode 100644 index 00000000000..a06b37e100e --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-initial-setup/vendor.conf @@ -0,0 +1,5 @@ +# Disable pages not right for NixOS +# For example user accounts should be preconfigured +# and we can't modify system time with systemd. +[pages] +skip=account;software;password;timezone; diff --git a/pkgs/desktops/gnome/core/gnome-keyring/default.nix b/pkgs/desktops/gnome/core/gnome-keyring/default.nix new file mode 100644 index 00000000000..8c9815509e2 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-keyring/default.nix @@ -0,0 +1,102 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, dbus +, libgcrypt +, pam +, python2 +, glib +, libxslt +, gettext +, gcr +, libcap_ng +, libselinux +, p11-kit +, openssh +, wrapGAppsHook +, docbook-xsl-nons +, docbook_xml_dtd_43 +, gnome +}: + +stdenv.mkDerivation rec { + pname = "gnome-keyring"; + version = "40.0"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-keyring/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0cdrlcw814zayhvlaxqs1sm9bqlfijlp22dzzd0g5zg2isq4vlm3"; + }; + + nativeBuildInputs = [ + pkg-config + gettext + libxslt + docbook-xsl-nons + docbook_xml_dtd_43 + wrapGAppsHook + ]; + + buildInputs = [ + glib + libgcrypt + pam + openssh + libcap_ng + libselinux + gcr + p11-kit + ]; + + # In 3.20.1, tests do not support Python 3 + checkInputs = [ dbus python2 ]; + + configureFlags = [ + "--with-pkcs11-config=${placeholder "out"}/etc/pkcs11/" # installation directories + "--with-pkcs11-modules=${placeholder "out"}/lib/pkcs11/" + ]; + + # Tends to fail non-deterministically. + # - https://github.com/NixOS/nixpkgs/issues/55293 + # - https://github.com/NixOS/nixpkgs/issues/51121 + doCheck = false; + + postPatch = '' + patchShebangs build + ''; + + checkPhase = '' + export HOME=$(mktemp -d) + dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + make check + ''; + + # Use wrapped gnome-keyring-daemon with cap_ipc_lock=ep + postFixup = '' + files=($out/etc/xdg/autostart/* $out/share/dbus-1/services/*) + + for file in ''${files[*]}; do + substituteInPlace $file \ + --replace "$out/bin/gnome-keyring-daemon" "/run/wrappers/bin/gnome-keyring-daemon" + done + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-keyring"; + attrPath = "gnome.gnome-keyring"; + }; + }; + + meta = with lib; { + description = "Collection of components in GNOME that store secrets, passwords, keys, certificates and make them available to applications"; + homepage = "https://wiki.gnome.org/Projects/GnomeKeyring"; + license = licenses.gpl2; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome/core/gnome-online-miners/default.nix new file mode 100644 index 00000000000..95fdf35b883 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-online-miners/default.nix @@ -0,0 +1,116 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, autoconf-archive +, autoreconfHook +, pkg-config +, glib +, gnome +, libxml2 +, libgdata +, grilo +, libzapojit +, grilo-plugins +, gnome-online-accounts +, libmediaart +, tracker +, gfbgraph +, librest +, libsoup +, json-glib +, gmp +, openssl +, dleyna-server +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gnome-online-miners"; + version = "3.34.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-online-miners/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"; + }; + + patches = [ + # Fix use after free + # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/4 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/9eb57c6a8cd1a925c508646edae936eee0a8e46b.patch"; + sha256 = "O1GRnzs33I0mFzrNDFkTGiBKstq5krYg7fwj60367TA="; + }) + + # Port to Tracker 3 + # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/3 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/2d3798252807cad9eb061ed2b37e35170c1a1daf.patch"; + sha256 = "hwrkxroMpTfOwJAPkYQFdDCroZ2qSsvOgDetrJDig20="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/1548c0c527f0e4389047448d7d3b6cff55278c8e.patch"; + sha256 = "U9w81c9Kze7kv5KHeGqvDeSNHzSayVrUG0XYsYMa1sg="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/941ebd8890c9ac4f75a1f58ccbea9731f46ad912.patch"; + sha256 = "JHtDlZ54/BlSiUA3ROHfCTtTKSin3g6JNm8NS6pYML8="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/d1681a64bc3f65894af2549e3ba2bffbaf6f539a.patch"; + sha256 = "9ZEatz5I81UAnjS1qCGWYDQQOxg/qp9Tg3xG/a+3goc="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-online-miners/commit/3d2af8785c84d6e50d8a8e6a2569a4b709184e94.patch"; + sha256 = "7bdUE2k6g3Z8sdGYEb6pUm1/wbKDe4BHbylXUzfuTG0="; + }) + ]; + + nativeBuildInputs = [ + # patch changes configure.ac + autoconf-archive + autoreconfHook + + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + glib + libgdata + libxml2 + libsoup + gmp + openssl + grilo + libzapojit + grilo-plugins + gnome-online-accounts + libmediaart + tracker + gfbgraph + json-glib + librest + dleyna-server + ]; + + NIX_CFLAGS_COMPILE = [ + "-Wno-error=format-security" # https://gitlab.gnome.org/GNOME/gnome-online-miners/merge_requests/3/diffs#note_942747 + ]; + + enableParallelBuilding = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-online-miners"; + attrPath = "gnome.gnome-online-miners"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Projects/GnomeOnlineMiners"; + description = "A set of crawlers that go through your online content and index them locally in Tracker"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix new file mode 100644 index 00000000000..8411b2edecb --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix @@ -0,0 +1,64 @@ +{ lib, stdenv +, fetchurl +, cairo +, meson +, ninja +, pkg-config +, python3 +, wrapGAppsHook +, glib +, pipewire +, systemd +, libvncserver +, libsecret +, libnotify +, gdk-pixbuf +, freerdp +}: + +stdenv.mkDerivation rec { + pname = "gnome-remote-desktop"; + version = "0.1.9"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + hash = "sha256-8iZtp4tBRT7NNRKuzwop3rcMvq16RG/I2sAlEIsJ0M8="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + wrapGAppsHook + ]; + + buildInputs = [ + cairo + freerdp + gdk-pixbuf # For libnotify + glib + libnotify + libsecret + libvncserver + pipewire + systemd + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + mesonFlags = [ + "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user" + ]; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Projects/Mutter/RemoteDesktop"; + description = "GNOME Remote Desktop server"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome/core/gnome-screenshot/default.nix new file mode 100644 index 00000000000..5b02fda3e32 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-screenshot/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, gettext, libxml2, libhandy, fetchurl, pkg-config, libcanberra-gtk3 +, gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils +, gnome, gsettings-desktop-schemas }: + +let + pname = "gnome-screenshot"; + version = "40.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${name}.tar.xz"; + sha256 = "1qm544ymwibk31s30k47vnn79xg30m18r7l4di0c57g375dak31n"; + }; + + doCheck = true; + + postPatch = '' + chmod +x build-aux/postinstall.py # patchShebangs requires executable file + patchShebangs build-aux/postinstall.py + ''; + + nativeBuildInputs = [ meson ninja pkg-config gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ]; + buildInputs = [ + gtk3 glib libcanberra-gtk3 libhandy gnome.adwaita-icon-theme + gsettings-desktop-schemas + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://en.wikipedia.org/wiki/GNOME_Screenshot"; + description = "Utility used in the GNOME desktop environment for taking screenshots"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/pkgs/desktops/gnome/core/gnome-session/ctl.nix new file mode 100644 index 00000000000..6a274e35bf5 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-session/ctl.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, pkg-config +, glib +, systemd +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "gnome-session-ctl"; + version = "40.0"; + + src = fetchFromGitHub { + owner = "nix-community"; + repo = pname; + rev = version; + hash = "sha256-gvBmLx8Qoj1vPsOwaZsd9+pTDvU5D7uUts7ZT1pXwNo="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + glib + systemd + ]; + + meta = with lib; { + description = "gnome-session-ctl extracted from gnome-session for nixpkgs"; + homepage = "https://github.com/nix-community/gnome-session-ctl"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix new file mode 100644 index 00000000000..c1ebc436207 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-session/default.nix @@ -0,0 +1,90 @@ +{ fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome, glib, gtk3, gsettings-desktop-schemas +, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3 +, libxslt, gettext, makeWrapper, systemd, xorg, epoxy, gnugrep, bash, gnome-session-ctl }: + +stdenv.mkDerivation rec { + pname = "gnome-session"; + version = "40.1.1"; + + outputs = ["out" "sessions"]; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "10nzyhmgkrzk6i70kj7690na0hmsv6qy5bmr10akxq9jxqlphy4w"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + gsettings = "${glib.bin}/bin/gsettings"; + dbusLaunch = "${dbus.lib}/bin/dbus-launch"; + grep = "${gnugrep}/bin/grep"; + bash = "${bash}/bin/bash"; + }) + ]; + + mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ]; + + nativeBuildInputs = [ + meson ninja pkg-config gettext makeWrapper + xmlto libxslt docbook_xsl docbook_xml_dtd_412 python3 + dbus # for DTD + ]; + + buildInputs = [ + glib gtk3 libICE gnome-desktop json-glib xorg.xtrans gnome.adwaita-icon-theme + gnome.gnome-settings-daemon gsettings-desktop-schemas systemd epoxy + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + + # Use our provided `gnome-session-ctl` + original="@libexecdir@/gnome-session-ctl" + replacement="${gnome-session-ctl}/libexec/gnome-session-ctl" + + find data/ -type f -name "*.service.in" -exec sed -i \ + -e s,$original,$replacement,g \ + {} + + ''; + + # `bin/gnome-session` will reset the environment when run in wayland, we + # therefor wrap `libexec/gnome-session-binary` instead which is the actual + # binary needing wrapping + preFixup = '' + wrapProgram "$out/libexec/gnome-session-binary" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share"\ + --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg" + ''; + + # We move the GNOME sessions to another output since gnome-session is a dependency of + # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is + # enabled without proper GNOME installation. + postInstall = '' + mkdir $sessions + moveToOutput share/wayland-sessions "$sessions" + moveToOutput share/xsessions "$sessions" + + # Our provided one is being used + rm -rf $out/libexec/gnome-session-ctl + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-session"; + attrPath = "gnome.gnome-session"; + }; + providedSessions = [ "gnome" "gnome-xorg" ]; + }; + + meta = with lib; { + description = "GNOME session manager"; + homepage = "https://wiki.gnome.org/Projects/SessionManagement"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch new file mode 100644 index 00000000000..320b3024dee --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch @@ -0,0 +1,42 @@ +diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in +index ddd1a591..46a3488b 100755 +--- a/gnome-session/gnome-session.in ++++ b/gnome-session/gnome-session.in +@@ -3,17 +3,19 @@ + if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && + [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && + [ -n "$SHELL" ] && +- grep -q "$SHELL" /etc/shells && +- ! (echo "$SHELL" | grep -q "false") && +- ! (echo "$SHELL" | grep -q "nologin"); then ++ @grep@ -q "$SHELL" /etc/shells && ++ ! (echo "$SHELL" | @grep@ -q "false") && ++ ! (echo "$SHELL" | @grep@ -q "nologin"); then + if [ "$1" != '-l' ]; then +- exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" ++ # Make sure the shell actually sets up the environment. ++ unset __NIXOS_SET_ENVIRONMENT_DONE ++ exec @bash@ -c "exec -l '$SHELL' -c '$0 -l $*'" + else + shift + fi + fi + +-SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region) ++SETTING=$(G_MESSAGES_DEBUG='' @gsettings@ get org.gnome.system.locale region) + REGION=${SETTING#\'} + REGION=${REGION%\'} + +diff --git a/gnome-session/main.c b/gnome-session/main.c +index 84edfbe5..e5285489 100644 +--- a/gnome-session/main.c ++++ b/gnome-session/main.c +@@ -215,7 +215,7 @@ require_dbus_session (int argc, + } + new_argv[i + 2] = NULL; + +- if (!execvp ("dbus-launch", new_argv)) { ++ if (!execvp ("@dbusLaunch@", new_argv)) { + g_set_error (error, + G_SPAWN_ERROR, + G_SPAWN_ERROR_FAILED, diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix new file mode 100644 index 00000000000..e091cf2365a --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix @@ -0,0 +1,133 @@ +{ lib, stdenv +, fetchpatch +, substituteAll +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, perl +, gettext +, gtk3 +, glib +, libnotify +, libgnomekbd +, lcms2 +, libpulseaudio +, alsaLib +, libcanberra-gtk3 +, upower +, colord +, libgweather +, polkit +, gsettings-desktop-schemas +, geoclue2 +, systemd +, libgudev +, libwacom +, libxslt +, libxml2 +, modemmanager +, networkmanager +, gnome-desktop +, geocode-glib +, docbook_xsl +, wrapGAppsHook +, python3 +, tzdata +, nss +, gcr +, gnome-session-ctl +}: + +stdenv.mkDerivation rec { + pname = "gnome-settings-daemon"; + version = "40.0.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "08bv32hvsmd8izw0llvldg0c2d71srch4hi8j94jwgm5d4dsrprp"; + }; + + patches = [ + # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch"; + sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI="; + }) + + (substituteAll { + src = ./fix-paths.patch; + inherit tzdata; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + perl + gettext + libxml2 + libxslt + docbook_xsl + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + modemmanager + networkmanager + libnotify + libgnomekbd # for org.gnome.libgnomekbd.keyboard schema + gnome-desktop + lcms2 + libpulseaudio + alsaLib + libcanberra-gtk3 + upower + colord + libgweather + nss + polkit + geocode-glib + geoclue2 + systemd + libgudev + libwacom + gcr + ]; + + mesonFlags = [ + "-Dudev_dir=${placeholder "out"}/lib/udev" + "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl" + ]; + + # Default for release buildtype but passed manually because + # we're using plain + NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; + + + postPatch = '' + for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do + chmod +x $f + patchShebangs $f + done + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch new file mode 100644 index 00000000000..2229302cab7 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/fix-paths.patch @@ -0,0 +1,15 @@ +--- a/plugins/datetime/tz.h ++++ b/plugins/datetime/tz.h +@@ -27,11 +27,7 @@ + + #include + +-#ifndef __sun +-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab" +-#else +-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" +-#endif ++#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab" + + typedef struct _TzDB TzDB; + typedef struct _TzLocation TzLocation; diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/global-backlight-helper.patch b/pkgs/desktops/gnome/core/gnome-settings-daemon/global-backlight-helper.patch new file mode 100644 index 00000000000..8f3951af2da --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/global-backlight-helper.patch @@ -0,0 +1,26 @@ +diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c +index d7d10fd2..5619d6ad 100644 +--- a/plugins/power/gsd-backlight.c ++++ b/plugins/power/gsd-backlight.c +@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task) + proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE, + &error, + "pkexec", +- LIBEXECDIR "/gsd-backlight-helper", ++ "/run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper", + g_udev_device_get_sysfs_path (backlight->udev_device), + data->value_str, NULL); + } else { +diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in +index f16300f8..79d6bd17 100644 +--- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in ++++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in +@@ -25,7 +25,7 @@ + no + yes + +- @libexecdir@/gsd-backlight-helper ++ /run/current-system/sw/bin/gnome-settings-daemon/gsd-backlight-helper + + + diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix new file mode 100644 index 00000000000..6c38b790959 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix @@ -0,0 +1,73 @@ +{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, pkg-config, spidermonkey_68, glib +, gnome, gnome-menus, substituteAll }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extensions"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "15hak4prx2nx1svfii39clxy1lll8crdf7p91if85jcsh6r8ab8p"; + }; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + patches = [ + (substituteAll { + src = ./fix_gmenu.patch; + gmenu_path = "${gnome-menus}/lib/girepository-1.0"; + }) + + # Do not show welcome dialog in gnome-classic. + # Needed for gnome-shell 40.1. + # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/169 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell-extensions/commit/3e8bbb07ea7109c44d5ac7998f473779e742d041.patch"; + sha256 = "jSmPwSBgRBfPPP9mGVjw1mSWumIXQqtA6tSqHr3U+3w="; + }) + ]; + + doCheck = true; + # 60 is required for tests + # https://gitlab.gnome.org/GNOME/gnome-shell-extensions/blob/3.34.0/meson.build#L23 + checkInputs = [ spidermonkey_68 ]; + + nativeBuildInputs = [ meson ninja pkg-config gettext glib ]; + + mesonFlags = [ "-Dextension_set=all" ]; + + preFixup = '' + # The meson build doesn't compile the schemas. + # Fixup adapted from export-zips.sh in the source. + + extensiondir=$out/share/gnome-shell/extensions + schemadir=${glib.makeSchemaPath "$out" "${pname}-${version}"} + + glib-compile-schemas $schemadir + + for f in $extensiondir/*; do + name=`basename ''${f%%@*}` + uuid=$name@gnome-shell-extensions.gcampax.github.com + schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml + + if [ -f $schema ]; then + mkdir $f/schemas + ln -s $schema $f/schemas; + glib-compile-schemas $f/schemas + fi + done + ''; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Projects/GnomeShell/Extensions"; + description = "Modify and extend GNOME Shell functionality and behavior"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gmenu.patch b/pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gmenu.patch new file mode 100644 index 00000000000..555664e8ae2 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/fix_gmenu.patch @@ -0,0 +1,11 @@ +--- a/extensions/apps-menu/extension.js ++++ b/extensions/apps-menu/extension.js +@@ -1,6 +1,8 @@ + /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ + /* exported init enable disable */ + ++imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@'); ++ + const { + Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St + } = imports.gi; diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix new file mode 100644 index 00000000000..66eaafb2cc7 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix @@ -0,0 +1,225 @@ +{ fetchurl +, fetchpatch +, fetchgit +, substituteAll +, lib, stdenv +, meson +, ninja +, pkg-config +, gnome +, json-glib +, gettext +, libsecret +, python3 +, polkit +, networkmanager +, gtk-doc +, docbook-xsl-nons +, at-spi2-core +, libstartup_notification +, unzip +, shared-mime-info +, libgweather +, librsvg +, geoclue2 +, perl +, docbook_xml_dtd_45 +, desktop-file-utils +, libpulseaudio +, libical +, gobject-introspection +, wrapGAppsHook +, libxslt +, gcr +, accountsservice +, gdk-pixbuf +, gdm +, upower +, ibus +, libnma +, libgnomekbd +, gnome-desktop +, gsettings-desktop-schemas +, gnome-keyring +, glib +, gjs +, mutter +, evolution-data-server +, gtk3 +, gtk4 +, sassc +, systemd +, pipewire +, gst_all_1 +, adwaita-icon-theme +, gnome-bluetooth +, gnome-clocks +, gnome-settings-daemon +, gnome-autoar +, asciidoc-full +, bash-completion +, mesa +}: + +# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup +let + pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]); +in +stdenv.mkDerivation rec { + pname = "gnome-shell"; + version = "40.0-unstable-2021-05-01"; + + outputs = [ "out" "devdoc" ]; + + src = fetchgit { + url = "https://gitlab.gnome.org/GNOME/gnome-shell.git"; + rev = "a8a79c03330427808e776c344f7ebc42782a1b5a"; + sha256 = "ivHV0SRpnBqsdC7fu1Xhtd/BA55O0UdbUyDLy5KHNYs="; + fetchSubmodules = true; + }; + # src = fetchurl { + # url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz"; + # sha256 = "sha256-vOcfQC36qcXiab9lv0iiI0PYlubPmiw0ZpOS1/v2hHg="; + # }; + + patches = [ + # Hardcode paths to various dependencies so that they can be found at runtime. + (substituteAll { + src = ./fix-paths.patch; + inherit libgnomekbd unzip; + gsettings = "${glib.bin}/bin/gsettings"; + }) + + # Use absolute path for libshew installation to make our patched gobject-introspection + # aware of the location to hardcode in the generated GIR file. + ./shew-gir-path.patch + + # Make D-Bus services wrappable. + ./wrap-services.patch + + # Fix greeter logo being too big. + # https://gitlab.gnome.org/GNOME/gnome-shell/issues/2591 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/ffb8bd5fa7704ce70ce7d053e03549dd15dce5ae.patch"; + revert = true; + sha256 = "14h7ahlxgly0n3sskzq9dhxzbyb04fn80pv74vz1526396676dzl"; + }) + + # Work around failing fingerprint auth + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/gnome-shell/raw/9a647c460b651aaec0b8a21f046cc289c1999416/f/0001-gdm-Work-around-failing-fingerprint-auth.patch"; + sha256 = "pFvZli3TilUt6YwdZztpB8Xq7O60XfuWUuPMMVSpqLw="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + docbook-xsl-nons + docbook_xml_dtd_45 + gtk-doc + perl + wrapGAppsHook + sassc + desktop-file-utils + libxslt.bin + python3 + asciidoc-full + ]; + + buildInputs = [ + systemd + gsettings-desktop-schemas + gnome-keyring + glib + gcr + accountsservice + libsecret + polkit + gdk-pixbuf + librsvg + networkmanager + libstartup_notification + gjs + mutter + libpulseaudio + evolution-data-server + libical + gtk3 + gtk4 + gdm + geoclue2 + adwaita-icon-theme + gnome-bluetooth + gnome-clocks # schemas needed + at-spi2-core + upower + ibus + gnome-desktop + gnome-settings-daemon + gobject-introspection + mesa + + # recording + pipewire + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + + # not declared at build time, but typelib is needed at runtime + libgweather + libnma + + # for gnome-extension tool + bash-completion + gnome-autoar + json-glib + ]; + + mesonFlags = [ + "-Dgtk_doc=true" + ]; + + postPatch = '' + patchShebangs src/data-to-c.pl + chmod +x meson/postinstall.py + patchShebangs meson/postinstall.py + + substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python" + substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python" + ''; + + preFixup = '' + gappsWrapperArgs+=( + # Until glib’s xdgmime is patched + # Fixes “Failed to load resource:///org/gnome/shell/theme/noise-texture.png: Unrecognized image file format” + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + postFixup = '' + # The services need typelibs. + for svc in org.gnome.ScreenSaver org.gnome.Shell.Extensions org.gnome.Shell.Notifications org.gnome.Shell.Screencast; do + wrapGApp $out/share/gnome-shell/$svc + done + ''; + + passthru = { + mozillaPlugin = "/lib/mozilla/plugins"; + updateScript = gnome.updateScript { + packageName = "gnome-shell"; + attrPath = "gnome.gnome-shell"; + }; + }; + + meta = with lib; { + description = "Core user interface for the GNOME 3 desktop"; + homepage = "https://wiki.gnome.org/Projects/GnomeShell"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch new file mode 100644 index 00000000000..e17a608a2d8 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-shell/fix-paths.patch @@ -0,0 +1,30 @@ +--- a/js/ui/extensionDownloader.js ++++ b/js/ui/extensionDownloader.js +@@ -86,7 +86,7 @@ + stream.output_stream.write_bytes(contents, null); + stream.close(null); + let [success, pid] = GLib.spawn_async(null, +- ['unzip', '-uod', dir.get_path(), '--', file.get_path()], ++ ['@unzip@/bin/unzip', '-uod', dir.get_path(), '--', file.get_path()], + null, + GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, + null); +--- a/js/ui/status/keyboard.js ++++ b/js/ui/status/keyboard.js +@@ -1062,6 +1062,6 @@ class InputSourceIndicator extends PanelMenu.Button { + if (xkbVariant.length > 0) + description = `${description}\t${xkbVariant}`; + +- Util.spawn(['gkbd-keyboard-display', '-l', description]); ++ Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]); + } + }); +--- a/data/org.gnome.Shell-disable-extensions.service ++++ b/data/org.gnome.Shell-disable-extensions.service +@@ -10,5 +10,5 @@ Requisite=gnome-session-stable.timer + [Service] + Type=simple + # Disable extensions +-ExecStart=gsettings set org.gnome.shell disable-user-extensions true ++ExecStart=@gsettings@ set org.gnome.shell disable-user-extensions true + Restart=no diff --git a/pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch b/pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch new file mode 100644 index 00000000000..6d888725b5d --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-shell/shew-gir-path.patch @@ -0,0 +1,11 @@ +--- a/subprojects/shew/src/meson.build ++++ b/subprojects/shew/src/meson.build +@@ -13,7 +13,7 @@ shew_sources = [ + libshew = library(full_name, + sources: shew_sources, + dependencies: [gtk_dep, x11_dep], +- install_dir: pkglibdir, ++ install_dir: get_option('prefix') / pkglibdir, + install: true, + ) + diff --git a/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch b/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch new file mode 100644 index 00000000000..bc494caea9d --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch @@ -0,0 +1,57 @@ +diff --git a/js/dbusServices/dbus-service.in b/js/dbusServices/dbus-service.in +old mode 100644 +new mode 100755 +index 524166102..100b81a63 +--- a/js/dbusServices/dbus-service.in ++++ b/js/dbusServices/dbus-service.in +@@ -1,3 +1,9 @@ ++#!@gjs@ ++ ++// gjs determines the package name from argv[0], which is .*-wrapped ++// so we need to override it to the original one. ++imports.package._findEffectiveEntryPointName = () => '@service@' ++ + imports.package.start({ + name: '@PACKAGE_NAME@', + prefix: '@prefix@', +diff --git a/js/dbusServices/dbus-service.service.in b/js/dbusServices/dbus-service.service.in +index 3b0d09abe..4fd4bb66d 100644 +--- a/js/dbusServices/dbus-service.service.in ++++ b/js/dbusServices/dbus-service.service.in +@@ -1,3 +1,3 @@ + [D-BUS Service] + Name=@service@ +-Exec=@gjs@ @pkgdatadir@/@service@ ++Exec=@pkgdatadir@/@service@ +diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build +index c749f45dc..11bcb0c9e 100644 +--- a/js/dbusServices/meson.build ++++ b/js/dbusServices/meson.build +@@ -2,6 +2,7 @@ launcherconf = configuration_data() + launcherconf.set('PACKAGE_NAME', meson.project_name()) + launcherconf.set('prefix', prefix) + launcherconf.set('libdir', libdir) ++launcherconf.set('gjs', gjs.path()) + + dbus_services = { + 'org.gnome.Shell.Extensions': 'extensions', +@@ -11,16 +12,17 @@ dbus_services = { + config_dir = '@0@/..'.format(meson.current_build_dir()) + + foreach service, dir : dbus_services ++ svc_launcherconf = launcherconf ++ svc_launcherconf.set('service', service) + configure_file( + input: 'dbus-service.in', + output: service, +- configuration: launcherconf, ++ configuration: svc_launcherconf, + install_dir: pkgdatadir, + ) + + serviceconf = configuration_data() + serviceconf.set('service', service) +- serviceconf.set('gjs', gjs.path()) + serviceconf.set('pkgdatadir', pkgdatadir) + + configure_file( diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix new file mode 100644 index 00000000000..64cd214e809 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-software/default.nix @@ -0,0 +1,120 @@ +{ lib +, stdenv +, fetchurl +, substituteAll +, pkg-config +, meson +, ninja +, gettext +, gnome +, wrapGAppsHook +, packagekit +, ostree +, glib +, appstream +, libsoup +, libhandy +, polkit +, isocodes +, gspell +, libxslt +, gobject-introspection +, flatpak +, fwupd +, gtk3 +, gsettings-desktop-schemas +, gnome-desktop +, libxmlb +, gnome-online-accounts +, json-glib +, libsecret +, valgrind-light +, docbook-xsl-nons +, docbook_xml_dtd_42 +, docbook_xml_dtd_43 +, gtk-doc +, desktop-file-utils +, libsysprof-capture +}: + +let + withFwupd = stdenv.isx86_64 || stdenv.isi686; +in + +stdenv.mkDerivation rec { + pname = "gnome-software"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "16q2902swxsjdxb1nj335sv1bb76rvq4w6dn4yszkwf3s0fd86in"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit isocodes; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + wrapGAppsHook + libxslt + docbook_xml_dtd_42 + docbook_xml_dtd_43 + valgrind-light + docbook-xsl-nons + gtk-doc + desktop-file-utils + gobject-introspection + ]; + + buildInputs = [ + gtk3 + glib + packagekit + appstream + libsoup + libhandy + gsettings-desktop-schemas + gnome-desktop + gspell + json-glib + libsecret + ostree + polkit + flatpak + libxmlb + gnome-online-accounts + libsysprof-capture + ] ++ lib.optionals withFwupd [ + fwupd + ]; + + mesonFlags = [ + "-Dgudev=false" + # FIXME: package malcontent parental controls + "-Dmalcontent=false" + ] ++ lib.optionals (!withFwupd) [ + "-Dfwupd=false" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.gnome-software"; + }; + }; + + meta = with lib; { + description = "Software store that lets you install and update applications and system extensions"; + homepage = "https://wiki.gnome.org/Apps/Software"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-software/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-software/fix-paths.patch new file mode 100644 index 00000000000..6f443a8a43e --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-software/fix-paths.patch @@ -0,0 +1,11 @@ +--- a/src/gs-language.c ++++ b/src/gs-language.c +@@ -95,7 +95,7 @@ + g_autoptr(GMarkupParseContext) context = NULL; + + /* find filename */ +- filename = g_build_filename (DATADIR, "xml", "iso-codes", "iso_639.xml", NULL); ++ filename = g_build_filename ("@isocodes@", "share", "xml", "iso-codes", "iso_639.xml", NULL); + if (!g_file_test (filename, G_FILE_TEST_EXISTS)) { + g_free (filename); + filename = g_build_filename ("/usr", "share", "xml", "iso-codes", "iso_639.xml", NULL); diff --git a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix new file mode 100644 index 00000000000..77579be6272 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix @@ -0,0 +1,81 @@ +{ lib +, stdenv +, gettext +, fetchurl +, pkg-config +, gtkmm3 +, libxml2 +, bash +, gtk3 +, libhandy +, glib +, wrapGAppsHook +, meson +, ninja +, python3 +, gsettings-desktop-schemas +, itstool +, gnome +, librsvg +, gdk-pixbuf +, libgtop +, systemd +}: + +stdenv.mkDerivation rec { + pname = "gnome-system-monitor"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-system-monitor/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "06hxd4igxas2kyind5jwfq5qbfkknykpdfy2sy3anylhcx1hzczx"; + }; + + nativeBuildInputs = [ + pkg-config + gettext + itstool + wrapGAppsHook + meson + ninja + python3 + ]; + + buildInputs = [ + bash + gtk3 + libhandy + glib + libxml2 + gtkmm3 + libgtop + gdk-pixbuf + gnome.adwaita-icon-theme + librsvg + gsettings-desktop-schemas + systemd + ]; + + doCheck = true; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-system-monitor"; + attrPath = "gnome.gnome-system-monitor"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/SystemMonitor"; + description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-terminal/default.nix b/pkgs/desktops/gnome/core/gnome-terminal/default.nix new file mode 100644 index 00000000000..ab3e3aecc03 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-terminal/default.nix @@ -0,0 +1,51 @@ +{ lib, stdenv, fetchurl, pkg-config, libxml2, gnome, dconf, nautilus +, gtk3, gsettings-desktop-schemas, vte, gettext, which, libuuid, vala +, desktop-file-utils, itstool, wrapGAppsHook, pcre2 +, libxslt, docbook-xsl-nons }: + +stdenv.mkDerivation rec { + pname = "gnome-terminal"; + version = "3.40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1r6qd6w18gk83w32y6bvn4hg2hd7qvngak4ymwpgndyp41rwqw07"; + }; + + buildInputs = [ + gtk3 gsettings-desktop-schemas vte libuuid dconf + # For extension + nautilus + ]; + + nativeBuildInputs = [ + pkg-config gettext itstool which libxml2 libxslt docbook-xsl-nons + vala desktop-file-utils wrapGAppsHook pcre2 + ]; + + # Silly ./configure, it looks for dbus file from gnome-shell in the + # installation tree of the package it is configuring. + postPatch = '' + substituteInPlace configure --replace '$(eval echo $(eval echo $(eval echo ''${dbusinterfacedir})))/org.gnome.ShellSearchProvider2.xml' "${gnome.gnome-shell}/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml" + substituteInPlace src/Makefile.in --replace '$(dbusinterfacedir)/org.gnome.ShellSearchProvider2.xml' "${gnome.gnome-shell}/share/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml" + ''; + + configureFlags = [ "--disable-migration" ]; # TODO: remove this with 3.30 + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-terminal"; + attrPath = "gnome.gnome-terminal"; + }; + }; + + enableParallelBuilding = true; + + meta = with lib; { + description = "The GNOME Terminal Emulator"; + homepage = "https://wiki.gnome.org/Apps/Terminal"; + platforms = platforms.linux; + license = licenses.gpl3Plus; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-themes-extra/default.nix b/pkgs/desktops/gnome/core/gnome-themes-extra/default.nix new file mode 100644 index 00000000000..53f775833a8 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-themes-extra/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchurl, intltool, gtk3, gnome, librsvg, pkg-config, pango, atk, gtk2 +, gdk-pixbuf, hicolor-icon-theme }: + +let + pname = "gnome-themes-extra"; + version = "3.28"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "06aqg9asq2vqi9wr29bs4v8z2bf4manhbhfghf4nvw01y2zs0jvw"; + }; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + nativeBuildInputs = [ pkg-config intltool ]; + buildInputs = [ gtk3 librsvg pango atk gtk2 gdk-pixbuf ]; + propagatedBuildInputs = [ gnome.adwaita-icon-theme hicolor-icon-theme ]; + + dontDropIconThemeCache = true; + + postInstall = '' + gtk-update-icon-cache "$out"/share/icons/HighContrast + ''; + + meta = with lib; { + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-tour/default.nix b/pkgs/desktops/gnome/core/gnome-tour/default.nix new file mode 100644 index 00000000000..7440749e0a9 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-tour/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, rustPlatform +, gettext +, meson +, ninja +, fetchurl +, pkg-config +, gtk3 +, glib +, gdk-pixbuf +, desktop-file-utils +, appstream-glib +, wrapGAppsHook +, python3 +, gnome +, libhandy +, librsvg +, rustc +, cargo +}: + +stdenv.mkDerivation rec { + pname = "gnome-tour"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + hash = "sha256-cGMiOGmgdHJ0FL7H23ONhQYhbuhMz8O8p9rFLkmMG/k="; + }; + + cargoVendorDir = "vendor"; + + nativeBuildInputs = [ + appstream-glib + cargo + desktop-file-utils + gettext + glib # glib-compile-resources + meson + ninja + pkg-config + python3 + rustPlatform.cargoSetupHook + rustc + wrapGAppsHook + ]; + + buildInputs = [ + gdk-pixbuf + glib + gtk3 + libhandy + librsvg + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/GNOME/gnome-tour"; + description = "GNOME Greeter & Tour"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gnome-user-share/default.nix b/pkgs/desktops/gnome/core/gnome-user-share/default.nix new file mode 100644 index 00000000000..211326cfcdb --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-user-share/default.nix @@ -0,0 +1,96 @@ +{ lib, stdenv +, gettext +, meson +, ninja +, fetchurl +, fetchpatch +, apacheHttpd +, nautilus +, pkg-config +, gtk3 +, glib +, libxml2 +, systemd +, wrapGAppsHook +, itstool +, libnotify +, mod_dnssd +, gnome +, libcanberra-gtk3 +, python3 +}: + +stdenv.mkDerivation rec { + pname = "gnome-user-share"; + version = "3.34.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "04r9ck9v4i0d31grbli1d4slw2d6dcsfkpaybkwbzi7wnj72l30x"; + }; + + patches = [ + # fix gio-unix-2.0 lookup + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-user-share/commit/8772980d4732c15505b15dccff2ca3c97e96d49d.patch"; + sha256 = "03clzhrx72pq1cbmg2y24hvw4i1xsvrg9ip113fi5bc3w4gcji7p"; + }) + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + preConfigure = '' + sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' \ + -e 's,''${HTTP_MODULES_PATH},${apacheHttpd}/modules,' \ + -i data/dav_user_2.4.conf + ''; + + mesonFlags = [ + "-Dhttpd=${apacheHttpd.out}/bin/httpd" + "-Dmodules_path=${apacheHttpd.dev}/modules" + "-Dsystemduserunitdir=${placeholder "out"}/etc/systemd/user" + # In 3.34.0 it defaults to false but it is silently ignored and always installed. + # Let’s add it anyway in case they decide to make build respect the option in the future. + "-Dnautilus_extension=true" + ]; + + nativeBuildInputs = [ + pkg-config + meson + ninja + gettext + itstool + libxml2 + wrapGAppsHook + python3 + ]; + + buildInputs = [ + gtk3 + glib + nautilus + libnotify + libcanberra-gtk3 + systemd + ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://help.gnome.org/users/gnome-user-share/3.8"; + description = "Service that exports the contents of the Public folder in your home directory on the local network"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/gucharmap/default.nix b/pkgs/desktops/gnome/core/gucharmap/default.nix new file mode 100644 index 00000000000..336a4d260c4 --- /dev/null +++ b/pkgs/desktops/gnome/core/gucharmap/default.nix @@ -0,0 +1,108 @@ +{ lib, stdenv +, intltool +, fetchFromGitLab +, meson +, ninja +, pkg-config +, python3 +, gtk3 +, adwaita-icon-theme +, glib +, desktop-file-utils +, gtk-doc +, wrapGAppsHook +, gnome +, itstool +, libxml2 +, yelp-tools +, docbook_xsl +, docbook_xml_dtd_412 +, gsettings-desktop-schemas +, callPackage +, unzip +, unicode-character-database +, unihan-database +, runCommand +, symlinkJoin +, gobject-introspection +}: + +let + # TODO: make upstream patch allowing to use the uncompressed file, + # preferably from XDG_DATA_DIRS. + # https://gitlab.gnome.org/GNOME/gucharmap/issues/13 + unihanZip = runCommand "unihan" {} '' + mkdir -p $out/share/unicode + ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip + ''; + ucd = symlinkJoin { + name = "ucd+unihan"; + paths = [ + unihanZip + unicode-character-database + ]; + }; +in stdenv.mkDerivation rec { + pname = "gucharmap"; + version = "13.0.2"; + + outputs = [ "out" "lib" "dev" "devdoc" ]; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = version; + sha256 = "099za9mc6qdq9pwcbjp3d7hxjbaa43vk2w9qw4yiyswl1xq3jw62"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + wrapGAppsHook + unzip + intltool + itstool + gtk-doc + docbook_xsl + docbook_xml_dtd_412 + yelp-tools + libxml2 + desktop-file-utils + gobject-introspection + ]; + + buildInputs = [ + gtk3 + glib + gsettings-desktop-schemas + adwaita-icon-theme + ]; + + mesonFlags = [ + "-Ducd_path=${ucd}/share/unicode" + "-Dvapi=false" + ]; + + doCheck = true; + + postPatch = '' + patchShebangs data/meson_desktopfile.py gucharmap/gen-guch-unicode-tables.pl gucharmap/meson_compileschemas.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + description = "GNOME Character Map, based on the Unicode Character Database"; + homepage = "https://wiki.gnome.org/Apps/Gucharmap"; + license = licenses.gpl3; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome/core/libgnome-keyring/default.nix new file mode 100644 index 00000000000..aa3c7ed3981 --- /dev/null +++ b/pkgs/desktops/gnome/core/libgnome-keyring/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchurl, glib, dbus, libgcrypt, pkg-config, intltool, gobject-introspection, gnome }: + +let + pname = "libgnome-keyring"; + version = "3.12.0"; +in +stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "c4c178fbb05f72acc484d22ddb0568f7532c409b0a13e06513ff54b91e947783"; + }; + + outputs = [ "out" "dev" ]; + + propagatedBuildInputs = [ glib gobject-introspection dbus libgcrypt ]; + nativeBuildInputs = [ pkg-config intltool ]; + + meta = { + description = "Framework for managing passwords and other secrets"; + homepage = "https://wiki.gnome.org/Projects/GnomeKeyring"; + license = with lib.licenses; [ gpl2Plus lgpl2Plus ]; + inherit (glib.meta) platforms maintainers; + + longDescription = '' + gnome-keyring is a program that keeps password and other secrets for + users. The library libgnome-keyring is used by applications to integrate + with the gnome-keyring system. + ''; + }; +} diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch b/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch new file mode 100644 index 00000000000..3691c034d1e --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch @@ -0,0 +1,74 @@ +From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001 +Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Sun, 20 Oct 2019 12:04:31 +0200 +Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h + +From: Jan Alexander Steffens (heftig) + +The eglext.h shipped by libglvnd does not include the Mesa extensions, +unlike the header shipped in Mesa. + +Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876 + +(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90) +--- + cogl/cogl/meson.build | 2 +- + src/backends/meta-egl-ext.h | 1 + + src/backends/meta-egl.c | 1 + + src/backends/meta-egl.h | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build +index 1057ef9..9a64294 100644 +--- a/cogl/cogl/meson.build ++++ b/cogl/cogl/meson.build +@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file( + built_headers += [cogl_gl_header_h] + + if have_egl +- cogl_egl_includes_string = '#include \n#include ' ++ cogl_egl_includes_string = '#include \n#include \n#include ' + else + cogl_egl_includes_string = '' + endif +diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h +index 8705e7d..db0b74f 100644 +--- a/src/backends/meta-egl-ext.h ++++ b/src/backends/meta-egl-ext.h +@@ -29,6 +29,7 @@ + + #include + #include ++#include + + /* + * This is a little different to the tests shipped with EGL implementations, +diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c +index 6554be9..fdeff4f 100644 +--- a/src/backends/meta-egl.c ++++ b/src/backends/meta-egl.c +@@ -27,6 +27,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h +index f2a8164..4591e7d 100644 +--- a/src/backends/meta-egl.h ++++ b/src/backends/meta-egl.h +@@ -28,6 +28,7 @@ + + #include + #include ++#include + #include + + #define META_EGL_ERROR meta_egl_error_quark () + +base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch b/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch new file mode 100644 index 00000000000..28f89ac7c0c --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch @@ -0,0 +1,135 @@ +From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001 +Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch> +In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Sat, 19 Oct 2019 13:26:05 +0200 +Subject: [PATCH 2/7] drop inheritable + +From: Tor Hedin Brønner + +Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01 + +We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell. +--- + config.h.meson | 3 +++ + meson.build | 5 +++++ + meson_options.txt | 6 ++++++ + src/core/main.c | 10 ++++++++++ + src/meson.build | 1 + + 5 files changed, 25 insertions(+) + +diff --git a/config.h.meson b/config.h.meson +index 0bab718..202fb7e 100644 +--- a/config.h.meson ++++ b/config.h.meson +@@ -58,6 +58,9 @@ + /* Xwayland applications allowed to issue keyboard grabs */ + #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES + ++/* Defined if libcap-ng is available */ ++#mesondefine HAVE_LIBCAPNG ++ + /* XKB base prefix */ + #mesondefine XKB_BASE + +diff --git a/meson.build b/meson.build +index 29d495b..86970df 100644 +--- a/meson.build ++++ b/meson.build +@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7' + libcanberra_req = '>= 0.26' + libwacom_req = '>= 0.13' + atk_req = '>= 2.5.3' ++libcapng_req = '>= 0.7.9' + + # optional version requirements + udev_req = '>= 228' +@@ -125,6 +126,7 @@ xau_dep = dependency('xau') + ice_dep = dependency('ice') + atk_dep = dependency('atk', version: atk_req) + libcanberra_dep = dependency('libcanberra', version: libcanberra_req) ++libcapng_dep = dependency('libcap-ng', required: get_option('libcapng')) + + # For now always require X11 support + have_x11 = true +@@ -256,6 +258,7 @@ have_core_tests = false + have_cogl_tests = false + have_clutter_tests = false + have_installed_tests = false ++have_libcapng = libcapng_dep.found() + + if have_tests + have_core_tests = get_option('core_tests') +@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom) + cdata.set('HAVE_SM', have_sm) + cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification) + cdata.set('HAVE_INTROSPECTION', have_introspection) ++cdata.set('HAVE_LIBCAPNG', have_libcapng) + cdata.set('HAVE_PROFILER', have_profiler) + + xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base') +@@ -443,6 +447,7 @@ output = [ + ' Startup notification..... ' + have_startup_notification.to_string(), + ' Introspection............ ' + have_introspection.to_string(), + ' Profiler................. ' + have_profiler.to_string(), ++ ' libcap-ng................ ' + have_libcapng.to_string(), + '', + ' Tests:', + '', +diff --git a/meson_options.txt b/meson_options.txt +index 73aa7ad..8bfaacd 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules', + value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr', + description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland' + ) ++ ++option('libcapng', ++ type: 'feature', ++ value: 'auto', ++ description: 'Enable libcap-ng support' ++) +diff --git a/src/core/main.c b/src/core/main.c +index 3935f35..ecf3cb2 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -66,6 +66,10 @@ + #include + #endif + ++#ifdef HAVE_LIBCAPNG ++#include ++#endif ++ + #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND) + #include + #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */ +@@ -673,6 +677,12 @@ meta_run (void) + if (!meta_display_open ()) + meta_exit (META_EXIT_ERROR); + ++#ifdef HAVE_LIBCAPNG ++ capng_clear(CAPNG_SELECT_BOTH); ++ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); ++ capng_apply(CAPNG_SELECT_BOTH); ++#endif ++ + g_main_loop_run (meta_main_loop); + + meta_finalize (); +diff --git a/src/meson.build b/src/meson.build +index 90d8073..a9fffa2 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -18,6 +18,7 @@ mutter_pkg_deps = [ + glib_dep, + gsettings_desktop_schemas_dep, + gtk3_dep, ++ libcapng_dep, + pango_dep, + ] + +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch b/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch new file mode 100644 index 00000000000..9f78a324d9d --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch @@ -0,0 +1,33 @@ +From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001 +Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch> +In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Sun, 5 Apr 2020 23:06:03 -0400 +Subject: [PATCH 3/7] Fix glitches in gala + +From: worldofpeace + +This fixes issues for users of mutter like in gala[0]. + +Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536 +[0]: https://github.com/elementary/gala/issues/605 +--- + clutter/clutter/clutter-actor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c +index ecf9a59..07b8b71 100644 +--- a/clutter/clutter/clutter-actor.c ++++ b/clutter/clutter/clutter-actor.c +@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self) + if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume)) + { + priv->paint_volume_valid = TRUE; +- priv->needs_paint_volume_update = FALSE; ++ //priv->needs_paint_volume_update = FALSE; + return &priv->paint_volume; + } + else +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch b/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch new file mode 100644 index 00000000000..cd98d395041 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch @@ -0,0 +1,58 @@ +From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001 +Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch> +In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Wed, 30 Oct 2019 15:23:24 -0700 +Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof + +From: Christian Hergert + +This tracks the changes to gdbus-codegen in terms of how GUnixFDList is +done to use the UnixFD annotation. + +https://gitlab.gnome.org/GNOME/mutter/merge_requests/908 +(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c) +--- + src/backends/meta-profiler.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c +index 10d433a..0d62701 100644 +--- a/src/backends/meta-profiler.c ++++ b/src/backends/meta-profiler.c +@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler, + static gboolean + handle_start (MetaDBusSysprof3Profiler *dbus_profiler, + GDBusMethodInvocation *invocation, ++ GUnixFDList *fd_list, + GVariant *options, + GVariant *fd_variant) + { + MetaProfiler *profiler = META_PROFILER (dbus_profiler); + GMainContext *main_context = g_main_context_default (); +- GDBusMessage *message; +- GUnixFDList *fd_list; + const char *group_name; + int position; + int fd = -1; +@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler, + + g_variant_get (fd_variant, "h", &position); + +- message = g_dbus_method_invocation_get_message (invocation); +- fd_list = g_dbus_message_get_unix_fd_list (message); + if (fd_list) + fd = g_unix_fd_list_get (fd_list, position, NULL); + +@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler, + + g_debug ("Profiler running"); + +- meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation); ++ meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL); + return TRUE; + } + +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch b/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch new file mode 100644 index 00000000000..138970ddda0 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch @@ -0,0 +1,32 @@ +From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001 +Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch> +In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Wed, 29 Jan 2020 11:02:33 +0100 +Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h + +From: Corentin Noël + +This is required because MetaDisplayCorner is only defined in display.h + +https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025 +(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12) +--- + src/meta/meta-workspace-manager.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h +index 0390c44..92cd681 100644 +--- a/src/meta/meta-workspace-manager.h ++++ b/src/meta/meta-workspace-manager.h +@@ -26,6 +26,7 @@ + #include + + #include ++#include + #include + #include + +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch b/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch new file mode 100644 index 00000000000..6d88f0f5e76 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch @@ -0,0 +1,102 @@ +From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001 +Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch> +In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Sat, 4 Jul 2020 12:01:28 -0700 +Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4 + +From: Christian Hergert + +GLib will now be linking against sysprof-capture-4.a. To support that, +sysprof had to remove the GLib dependency from sysprof-capture-4 which +had the side-effect of breaking ABi. + +This bumps the dependency and includes a fallback to compile just the +libsysprof-capture-4.a using a subproject wrap. + +https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352 +(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692) +--- + meson.build | 20 ++++++++++++++++++-- + src/meson.build | 8 ++++++-- + subprojects/sysprof.wrap | 4 ++++ + 3 files changed, 28 insertions(+), 4 deletions(-) + create mode 100644 subprojects/sysprof.wrap + +diff --git a/meson.build b/meson.build +index 86970df..3dc0098 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,6 +1,6 @@ + project('mutter', 'c', + version: '3.34.6', +- meson_version: '>= 0.50.0', ++ meson_version: '>= 0.51.0', + license: 'GPLv2+' + ) + +@@ -52,6 +52,9 @@ gbm_req = '>= 10.3' + # screen cast version requirements + libpipewire_req = '>= 0.2.5' + ++# profiler requirements ++sysprof_req = '>= 3.37.2' ++ + gnome = import('gnome') + pkg = import('pkgconfig') + i18n = import('i18n') +@@ -275,7 +278,20 @@ endif + + have_profiler = get_option('profiler') + if have_profiler +- sysprof_dep = dependency('sysprof-capture-3') ++ # libsysprof-capture support ++ sysprof_dep = dependency('sysprof-capture-4', ++ required: true, ++ default_options: [ ++ 'enable_examples=false', ++ 'enable_gtk=false', ++ 'enable_tests=false', ++ 'enable_tools=false', ++ 'libsysprof=false', ++ 'with_sysprofd=none', ++ 'help=false', ++ ], ++ fallback: ['sysprof', 'libsysprof_capture_dep'], ++ ) + endif + + required_functions = [ +diff --git a/src/meson.build b/src/meson.build +index a9fffa2..a91baa1 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -711,9 +711,13 @@ if have_profiler + 'backends/meta-profiler.h', + ] + +- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces') +- sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml') ++ if sysprof_dep.type_name() == 'pkgconfig' ++ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces') ++ else ++ sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src') ++ endif + ++ sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml') + dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler', + sysprof3_dbus_file, + interface_prefix: 'org.gnome.', +diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap +new file mode 100644 +index 0000000..c8f5883 +--- /dev/null ++++ b/subprojects/sysprof.wrap +@@ -0,0 +1,4 @@ ++[wrap-git] ++directory=sysprof ++url=https://gitlab.gnome.org/GNOME/sysprof.git ++revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch b/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch new file mode 100644 index 00000000000..8376fc649b5 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch @@ -0,0 +1,27 @@ +From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001 +Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch> +In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch> +From: WORLDofPEACE +Date: Fri, 25 Sep 2020 20:48:33 -0400 +Subject: [PATCH 7/7] fix paths + +--- + src/core/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/util.c b/src/core/util.c +index 79bcfdc..87ce549 100644 +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -623,7 +623,7 @@ meta_show_dialog (const char *type, + + args = g_ptr_array_new (); + +- append_argument (args, "zenity"); ++ append_argument (args, "@zenity@/bin/zenity"); + append_argument (args, type); + + if (display) +-- +git-series 0.9.1 diff --git a/pkgs/desktops/gnome/core/mutter/3.34/default.nix b/pkgs/desktops/gnome/core/mutter/3.34/default.nix new file mode 100644 index 00000000000..42f07d45e62 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/3.34/default.nix @@ -0,0 +1,134 @@ +{ fetchurl +, fetchpatch +, substituteAll +, lib, stdenv +, pkg-config +, gnome +, pantheon +, gettext +, gobject-introspection +, upower +, cairo +, pango +, cogl +, json-glib +, libstartup_notification +, zenity +, libcanberra-gtk3 +, ninja +, xkeyboard_config +, libxkbfile +, libxkbcommon +, libXtst +, libinput +, gsettings-desktop-schemas +, glib +, gtk3 +, gnome-desktop +, geocode-glib +, pipewire_0_2 +, libgudev +, libwacom +, xwayland +, meson +, gnome-settings-daemon +, xorgserver +, python3 +, wrapGAppsHook +, sysprof +, desktop-file-utils +, libcap_ng +, egl-wayland +}: + +stdenv.mkDerivation rec { + pname = "mutter"; + version = "3.34.6"; + + outputs = [ "out" "dev" "man" ]; + + src = fetchurl { + url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY="; + }; + + mesonFlags = [ + "-Degl_device=true" + "-Dinstalled_tests=false" # TODO: enable these + "-Dwayland_eglstream=true" + ]; + + propagatedBuildInputs = [ + # required for pkg-config to detect mutter-clutter + json-glib + libXtst + libcap_ng + ]; + + nativeBuildInputs = [ + desktop-file-utils + gettext + meson + ninja + pkg-config + python3 + wrapGAppsHook + xorgserver # for cvt command + ]; + + buildInputs = [ + cairo + cogl + egl-wayland + geocode-glib + glib + gnome-desktop + gnome-settings-daemon + gobject-introspection + gsettings-desktop-schemas + gtk3 + libcanberra-gtk3 + libgudev + libinput + libstartup_notification + libwacom + libxkbcommon + libxkbfile + pango + pipewire_0_2 # TODO: backport pipewire 0.3 support + sysprof + upower + xkeyboard_config + xwayland + zenity + ]; + + patches = [ + ./0001-EGL-Include-EGL-eglmesaext.h.patch + ./0002-drop-inheritable.patch + ./0003-Fix-glitches-in-gala.patch + ./0004-profiler-track-changes-in-GLib-and-Sysprof.patch + ./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch + ./0006-build-bump-ABI-to-sysprof-capture-4.patch + (substituteAll { + src = ./0007-fix-paths.patch; + inherit zenity; + }) + ]; + + postPatch = '' + patchShebangs src/backends/native/gen-default-modes.py + ''; + + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" + ''; + + meta = with lib; { + description = "A window manager for GNOME"; + homepage = "https://gitlab.gnome.org/GNOME/mutter"; + license = licenses.gpl2; + maintainers = pantheon.maintainers; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix new file mode 100644 index 00000000000..9f6a64ef182 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/default.nix @@ -0,0 +1,170 @@ +{ fetchurl +, fetchpatch +, substituteAll +, runCommand +, lib, stdenv +, pkg-config +, gnome +, gettext +, gobject-introspection +, cairo +, pango +, json-glib +, libstartup_notification +, zenity +, libcanberra +, ninja +, xkeyboard_config +, libxkbfile +, libXdamage +, libxkbcommon +, libXtst +, libinput +, libdrm +, gsettings-desktop-schemas +, glib +, gtk3 +, gnome-desktop +, pipewire +, libgudev +, libwacom +, xwayland +, mesa +, meson +, gnome-settings-daemon +, xorgserver +, python3 +, wrapGAppsHook +, sysprof +, desktop-file-utils +, libcap_ng +, egl-wayland +, graphene +, wayland-protocols +}: + +let self = stdenv.mkDerivation rec { + pname = "mutter"; + version = "40.0"; + + outputs = [ "out" "dev" "man" ]; + + src = fetchurl { + url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-enGzEuWmZ8U3SJUYilBqP2tnF2i8s2K2jv3FYnc9GY4="; + }; + + patches = [ + # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking + # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381 + # ./drop-inheritable.patch + + (substituteAll { + src = ./fix-paths.patch; + inherit zenity; + }) + + # Fix non-deterministic build failure: + # https://gitlab.gnome.org/GNOME/mutter/-/issues/1682 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/mutter/commit/91117bb052ed0d69c8ea4159c1df15c814d90627.patch"; + sha256 = "ek8hEoPP4S2TGOm6SGGOhUVIp4OT68nz0SQzZrceFUU="; + }) + ]; + + mesonFlags = [ + "-Degl_device=true" + "-Dinstalled_tests=false" # TODO: enable these + "-Dwayland_eglstream=true" + "-Dprofiler=true" + "-Dxwayland_path=${xwayland}/bin/Xwayland" + # This should be auto detected, but it looks like it manages a false + # positive. + "-Dxwayland_initfd=disabled" + ]; + + propagatedBuildInputs = [ + # required for pkg-config to detect mutter-clutter + json-glib + libXtst + libcap_ng + graphene + ]; + + nativeBuildInputs = [ + desktop-file-utils + gettext + mesa # needed for gbm + meson + ninja + pkg-config + python3 + wrapGAppsHook + xorgserver # for cvt command + ]; + + buildInputs = [ + cairo + egl-wayland + glib + gnome-desktop + gnome-settings-daemon + gobject-introspection + gsettings-desktop-schemas + gtk3 + libcanberra + libdrm + libgudev + libinput + libstartup_notification + libwacom + libxkbcommon + libxkbfile + libXdamage + pango + pipewire + sysprof + xkeyboard_config + xwayland + wayland-protocols + ]; + + postPatch = '' + patchShebangs src/backends/native/gen-default-modes.py + ''; + + postInstall = '' + ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas" + ''; + + # Install udev files into our own tree. + PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; + + passthru = { + libdir = "${self}/lib/mutter-7"; + + tests = { + libdirExists = runCommand "mutter-libdir-exists" {} '' + if [[ ! -d ${self.libdir} ]]; then + echo "passthru.libdir should contain a directory, “${self.libdir}” is not one." + exit 1 + fi + touch $out + ''; + }; + + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "A window manager for GNOME"; + homepage = "https://gitlab.gnome.org/GNOME/mutter"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +}; +in self diff --git a/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch b/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch new file mode 100644 index 00000000000..7374e1b8693 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/drop-inheritable.patch @@ -0,0 +1,132 @@ +From e9c772e265b2293af031c79f4bbc99b5847dfe3c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= +Date: Sat, 19 Oct 2019 13:26:05 +0200 +Subject: [PATCH] drop inheritable + +Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01 + +We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell. + +--- + config.h.meson | 3 +++ + meson.build | 5 +++++ + meson_options.txt | 6 ++++++ + src/core/main.c | 11 +++++++++++ + src/meson.build | 1 + + 5 files changed, 26 insertions(+) + +diff --git a/config.h.meson b/config.h.meson +index 0bab71848..202fb7ed1 100644 +--- a/config.h.meson ++++ b/config.h.meson +@@ -58,6 +58,9 @@ + /* Xwayland applications allowed to issue keyboard grabs */ + #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES + ++/* Defined if libcap-ng is available */ ++#mesondefine HAVE_LIBCAPNG ++ + /* XKB base prefix */ + #mesondefine XKB_BASE + +diff --git a/meson.build b/meson.build +index 3322bd3b1..01c8020fa 100644 +--- a/meson.build ++++ b/meson.build +@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7' + libcanberra_req = '>= 0.26' + libwacom_req = '>= 0.13' + atk_req = '>= 2.5.3' ++libcapng_req = '>= 0.7.9' + + # optional version requirements + udev_req = '>= 228' +@@ -131,6 +131,7 @@ ice_dep = dependency('ice') + atk_dep = dependency('atk', version: atk_req) + libcanberra_dep = dependency('libcanberra', version: libcanberra_req) + dbus_dep = dependency('dbus-1') ++libcapng_dep = dependency('libcap-ng', required: get_option('libcapng')) + + # For now always require X11 support + have_x11 = true +@@ -256,6 +258,7 @@ have_core_tests = false + have_cogl_tests = false + have_clutter_tests = false + have_installed_tests = false ++have_libcapng = libcapng_dep.found() + + if have_tests + have_core_tests = get_option('core_tests') +@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom) + cdata.set('HAVE_SM', have_sm) + cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification) + cdata.set('HAVE_INTROSPECTION', have_introspection) ++cdata.set('HAVE_LIBCAPNG', have_libcapng) + cdata.set('HAVE_PROFILER', have_profiler) + + xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base') +@@ -465,6 +465,7 @@ output = [ + ' Introspection............ ' + have_introspection.to_string(), + ' Profiler................. ' + have_profiler.to_string(), + ' Xwayland initfd.......... ' + have_xwayland_initfd.to_string(), ++ ' libcap-ng................ ' + have_libcapng.to_string(), + '', + ' Tests:', + '', +diff --git a/meson_options.txt b/meson_options.txt +index 73aa7adde..8bfaacd9a 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules', + value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr', + description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland' + ) ++ ++option('libcapng', ++ type: 'feature', ++ value: 'auto', ++ description: 'Enable libcap-ng support' ++) +diff --git a/src/core/main.c b/src/core/main.c +index 7f4f666d2..b27968f13 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -66,6 +66,10 @@ + #include + #endif + ++#ifdef HAVE_LIBCAPNG ++#include ++#endif ++ + #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND) + #include + #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */ +@@ -670,5 +674,12 @@ int + meta_run (void) + { + meta_start (); ++ ++#ifdef HAVE_LIBCAPNG ++ capng_clear(CAPNG_SELECT_BOTH); ++ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE); ++ capng_apply(CAPNG_SELECT_BOTH); ++#endif ++ + meta_run_main_loop (); + meta_finalize (); +diff --git a/src/meson.build b/src/meson.build +index 90d80734f..a9fffa2c2 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -18,6 +18,7 @@ mutter_pkg_deps = [ + glib_dep, + gsettings_desktop_schemas_dep, + gtk3_dep, ++ libcapng_dep, + pango_dep, + ] + +-- +2.23.0 + diff --git a/pkgs/desktops/gnome/core/mutter/fix-paths.patch b/pkgs/desktops/gnome/core/mutter/fix-paths.patch new file mode 100644 index 00000000000..6ac0a431f61 --- /dev/null +++ b/pkgs/desktops/gnome/core/mutter/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/util.c b/src/core/util.c +index 57b73747d..f424cc81c 100644 +--- a/src/core/util.c ++++ b/src/core/util.c +@@ -636,7 +636,7 @@ meta_show_dialog (const char *type, + + args = g_ptr_array_new (); + +- append_argument (args, "zenity"); ++ append_argument (args, "@zenity@/bin/zenity"); + append_argument (args, type); + + if (display) diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix new file mode 100644 index 00000000000..f3ccdbce98c --- /dev/null +++ b/pkgs/desktops/gnome/core/nautilus/default.nix @@ -0,0 +1,118 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gettext +, libxml2 +, desktop-file-utils +, python3 +, wrapGAppsHook +, gtk3 +, libhandy +, libportal +, gnome +, gnome-autoar +, glib-networking +, shared-mime-info +, libnotify +, libexif +, libseccomp +, exempi +, librsvg +, tracker +, tracker-miners +, gexiv2 +, libselinux +, gdk-pixbuf +, substituteAll +, gnome-desktop +, gst_all_1 +, gsettings-desktop-schemas +, gobject-introspection +}: + +stdenv.mkDerivation rec { + pname = "nautilus"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0cwxr7bfa19dvzra81s9wfshzv0zv7ycpfffn4amigd0fh0vkkwf"; + }; + + patches = [ + # Allow changing extension directory using environment variable. + ./extension_dir.patch + + # Hardcode required paths. + (substituteAll { + src = ./fix-paths.patch; + inherit tracker; + }) + ]; + + nativeBuildInputs = [ + desktop-file-utils + gettext + gobject-introspection + libxml2 + meson + ninja + pkg-config + python3 + wrapGAppsHook + ]; + + buildInputs = [ + exempi + gexiv2 + glib-networking + gnome-desktop + gnome.adwaita-icon-theme + gsettings-desktop-schemas + gst_all_1.gst-plugins-base + gtk3 + libhandy + libportal + libexif + libnotify + libseccomp + libselinux + shared-mime-info + tracker + tracker-miners + ]; + + propagatedBuildInputs = [ + gnome-autoar + ]; + + preFixup = '' + gappsWrapperArgs+=( + # Thumbnailers + --prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share" + --prefix XDG_DATA_DIRS : "${librsvg}/share" + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + postPatch = '' + patchShebangs build-aux/meson/postinstall.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "The file manager for GNOME"; + homepage = "https://wiki.gnome.org/Apps/Files"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/core/nautilus/extension_dir.patch b/pkgs/desktops/gnome/core/nautilus/extension_dir.patch new file mode 100644 index 00000000000..e1313999675 --- /dev/null +++ b/pkgs/desktops/gnome/core/nautilus/extension_dir.patch @@ -0,0 +1,24 @@ +diff --git a/src/nautilus-module.c b/src/nautilus-module.c +index 6273a76..4adcc8a 100644 +--- a/src/nautilus-module.c ++++ b/src/nautilus-module.c +@@ -242,11 +242,17 @@ void + nautilus_module_setup (void) + { + static gboolean initialized = FALSE; ++ const gchar* extensiondir = NULL; + + if (!initialized) + { + initialized = TRUE; + +- load_module_dir (NAUTILUS_EXTENSIONDIR); ++ extensiondir = g_getenv ("NAUTILUS_EXTENSION_DIR"); ++ if (extensiondir == NULL) { ++ extensiondir = NAUTILUS_EXTENSIONDIR; ++ } ++ ++ load_module_dir (extensiondir); + + eel_debug_call_at_shutdown (free_module_objects); + } diff --git a/pkgs/desktops/gnome/core/nautilus/fix-paths.patch b/pkgs/desktops/gnome/core/nautilus/fix-paths.patch new file mode 100644 index 00000000000..dc9874359b2 --- /dev/null +++ b/pkgs/desktops/gnome/core/nautilus/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/nautilus-tag-manager.c b/src/nautilus-tag-manager.c +index 28b96c996..0b1fad9ab 100644 +--- a/src/nautilus-tag-manager.c ++++ b/src/nautilus-tag-manager.c +@@ -962,7 +962,7 @@ child_watch_cb (GPid pid, + static void + export_tracker2_data (NautilusTagManager *self) + { +- gchar *argv[] = {"tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL}; ++ gchar *argv[] = {"@tracker@/bin/tracker3", "export", "--2to3", "files-starred", "--keyfile", NULL}; + gint stdout_fd; + GPid child_pid; + g_autoptr (GError) error = NULL; diff --git a/pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch b/pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch new file mode 100644 index 00000000000..6fe651b9cbb --- /dev/null +++ b/pkgs/desktops/gnome/core/rygel/add-option-for-installation-sysconfdir.patch @@ -0,0 +1,38 @@ +diff --git a/meson.build b/meson.build +index 4aa683d6..a930d533 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,7 +20,11 @@ if not get_option('uninstalled') + rygel_datadir = join_paths(get_option('prefix'), get_option('datadir'), 'rygel') + rygel_libexecdir = join_paths(get_option('prefix'), get_option('libexecdir'), + 'rygel') +- rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) ++ if get_option('sysconfdir_install') != '' ++ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir_install')) ++ else ++ rygel_sysconfdir = join_paths(get_option('prefix'), get_option('sysconfdir')) ++ endif + rygel_plugindir = join_paths(rygel_libdir, 'rygel-2.6', 'plugins') + rygel_enginedir = join_paths(rygel_libdir, 'rygel-2.6', 'engines') + rygel_presetdir = join_paths(rygel_datadir, 'presets') +@@ -55,7 +59,7 @@ conf.set_quoted('DATA_DIR', rygel_datadir) + conf.set_quoted('PLUGIN_DIR', rygel_plugindir) + conf.set_quoted('BIG_ICON_DIR', rygel_bigicondir) + conf.set_quoted('SMALL_ICON_DIR', rygel_smallicondir) +-conf.set_quoted('SYS_CONFIG_DIR', rygel_sysconfdir) ++conf.set_quoted('SYS_CONFIG_DIR', get_option('sysconfdir')) + conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir'))) + conf.set_quoted('MX_EXTRACT_PATH', join_paths(rygel_libexecdir, 'mx-extract')) + conf.set_quoted('DESKTOP_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'applications')) +diff --git a/meson_options.txt b/meson_options.txt +index cb604c4e..1b049b77 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,7 @@ + option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only') + option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation') + option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the systemd user unit (use special values "auto" or "none", or pass a path') ++option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation') + option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris', 'playbin', 'ruih', 'tracker', 'tracker3']) + option('engines', type : 'array', choices : ['simple', 'gstreamer']) + option('examples', type : 'boolean', value : 'true') diff --git a/pkgs/desktops/gnome/core/rygel/default.nix b/pkgs/desktops/gnome/core/rygel/default.nix new file mode 100644 index 00000000000..f43df23f44a --- /dev/null +++ b/pkgs/desktops/gnome/core/rygel/default.nix @@ -0,0 +1,110 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, vala +, gettext +, libxml2 +, gobject-introspection +, wrapGAppsHook +, python3 +, glib +, gssdp +, gupnp +, gupnp-av +, gupnp-dlna +, gst_all_1 +, libgee +, libsoup +, gtk3 +, libmediaart +, sqlite +, systemd +, tracker +, shared-mime-info +, gnome +}: + +stdenv.mkDerivation rec { + pname = "rygel"; + version = "0.40.1"; + + # TODO: split out lib + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "QkDXd1mcjNCeZ9pEzLOV0KbceEedgJzWIZgixbVooy0="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + gettext + libxml2 + gobject-introspection + wrapGAppsHook + python3 + ]; + + buildInputs = [ + glib + gssdp + gupnp + gupnp-av + gupnp-dlna + libgee + libsoup + gtk3 + libmediaart + sqlite + systemd + tracker + shared-mime-info + ] ++ (with gst_all_1; [ + gstreamer + gst-editing-services + gst-plugins-base + gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + ]); + + mesonFlags = [ + "-Dsystemd-user-units-dir=${placeholder "out"}/lib/systemd/user" + "-Dapi-docs=false" + "--sysconfdir=/etc" + "-Dsysconfdir_install=${placeholder "out"}/etc" + # Build all plug-ins except for tracker 2 + "-Dplugins=external,gst-launch,lms,media-export,mpris,playbin,ruih,tracker3" + ]; + + doCheck = true; + + patches = [ + ./add-option-for-installation-sysconfdir.patch + ]; + + postPatch = '' + patchShebangs data/xml/process-xml.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + description = "A home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices"; + homepage = "https://wiki.gnome.org/Projects/Rygel"; + license = licenses.lgpl21Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/simple-scan/default.nix b/pkgs/desktops/gnome/core/simple-scan/default.nix new file mode 100644 index 00000000000..91ac4f14b22 --- /dev/null +++ b/pkgs/desktops/gnome/core/simple-scan/default.nix @@ -0,0 +1,89 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gettext +, itstool +, python3 +, wrapGAppsHook +, cairo +, gdk-pixbuf +, colord +, glib +, gtk3 +, gusb +, packagekit +, libhandy +, libwebp +, libxml2 +, sane-backends +, vala +, gnome +, gobject-introspection +}: + +stdenv.mkDerivation rec { + pname = "simple-scan"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-E4EbsqhhnmOkP8Lva3E1ny1cQITG1cizqtYXJLIHUa8="; + }; + + nativeBuildInputs = [ + meson + ninja + gettext + itstool + pkg-config + python3 + wrapGAppsHook + libxml2 + gobject-introspection # For setup hook + ]; + + buildInputs = [ + cairo + gdk-pixbuf + colord + glib + gnome.adwaita-icon-theme + gusb + gtk3 + libhandy + libwebp + packagekit + sane-backends + vala + ]; + + postPatch = '' + patchShebangs data/meson_compile_gschema.py + ''; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = "simple-scan"; + }; + }; + + meta = with lib; { + description = "Simple scanning utility"; + longDescription = '' + A really easy way to scan both documents and photos. You can crop out the + bad parts of a photo and rotate it if it is the wrong way round. You can + print your scans, export them to pdf, or save them in a range of image + formats. Basically a frontend for SANE - which is the same backend as + XSANE uses. This means that all existing scanners will work and the + interface is well tested. + ''; + homepage = "https://gitlab.gnome.org/GNOME/simple-scan"; + license = licenses.gpl3Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/sushi/default.nix b/pkgs/desktops/gnome/core/sushi/default.nix new file mode 100644 index 00000000000..c42b6964bf6 --- /dev/null +++ b/pkgs/desktops/gnome/core/sushi/default.nix @@ -0,0 +1,83 @@ +{ lib, stdenv +, fetchurl +, pkg-config +, meson +, gettext +, gobject-introspection +, glib +, gnome +, gtksourceview4 +, gjs +, webkitgtk +, libmusicbrainz5 +, icu +, wrapGAppsHook +, gst_all_1 +, gdk-pixbuf +, librsvg +, gtk3 +, harfbuzz +, ninja +, epoxy +}: + +stdenv.mkDerivation rec { + pname = "sushi"; + version = "3.38.0"; + + src = fetchurl { + url = "mirror://gnome/sources/sushi/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0vlqqk916dymv4asbyvalp1m096a5hh99nx23i4xavzvgygh4h2h"; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + gettext + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + gnome.evince + icu + harfbuzz + gjs + gtksourceview4 + gdk-pixbuf + librsvg + libmusicbrainz5 + webkitgtk + epoxy + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + ]; + + # See https://github.com/NixOS/nixpkgs/issues/31168 + postInstall = '' + for file in $out/libexec/org.gnome.NautilusPreviewer + do + sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \ + -i $file + done + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "sushi"; + attrPath = "gnome.sushi"; + }; + }; + + meta = with lib; { + homepage = "https://en.wikipedia.org/wiki/Sushi_(software)"; + description = "A quick previewer for Nautilus"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/totem/default.nix b/pkgs/desktops/gnome/core/totem/default.nix new file mode 100644 index 00000000000..f7541fe12ed --- /dev/null +++ b/pkgs/desktops/gnome/core/totem/default.nix @@ -0,0 +1,123 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, gettext +, gst_all_1 +, clutter-gtk +, clutter-gst +, python3Packages +, shared-mime-info +, pkg-config +, gtk3 +, glib +, gobject-introspection +, totem-pl-parser +, wrapGAppsHook +, itstool +, libxml2 +, vala +, gnome +, grilo +, grilo-plugins +, libpeas +, adwaita-icon-theme +, gnome-desktop +, gsettings-desktop-schemas +, gdk-pixbuf +, xvfb_run +}: + +stdenv.mkDerivation rec { + pname = "totem"; + version = "3.38.0"; + + src = fetchurl { + url = "mirror://gnome/sources/totem/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8"; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + gettext + python3Packages.python + itstool + gobject-introspection + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + glib + grilo + clutter-gtk + clutter-gst + totem-pl-parser + grilo-plugins + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-ugly + gst_all_1.gst-libav + libpeas + shared-mime-info + gdk-pixbuf + libxml2 + adwaita-icon-theme + gnome-desktop + gsettings-desktop-schemas + # for plug-ins + python3Packages.pygobject3 + python3Packages.dbus-python + ]; + + checkInputs = [ + xvfb_run + ]; + + mesonFlags = [ + # TODO: https://github.com/NixOS/nixpkgs/issues/36468 + "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" + ]; + + # Tests do not work with GStreamer 1.18. + # https://gitlab.gnome.org/GNOME/totem/-/issues/450 + doCheck = false; + + postPatch = '' + chmod +x meson_compile_python.py meson_post_install.py # patchShebangs requires executable file + patchShebangs \ + ./meson_compile_python.py \ + ./meson_post_install.py + ''; + + checkPhase = '' + runHook preCheck + + xvfb-run -s '-screen 0 800x600x24' \ + ninja test + + runHook postCheck + ''; + + wrapPrefixVariables = [ "PYTHONPATH" ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "totem"; + attrPath = "gnome.totem"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Videos"; + description = "Movie player for the GNOME desktop based on GStreamer"; + maintainers = teams.gnome.members; + license = licenses.gpl2Plus; # with exception to allow use of non-GPL compatible plug-ins + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/yelp-xsl/default.nix b/pkgs/desktops/gnome/core/yelp-xsl/default.nix new file mode 100644 index 00000000000..7c9b4eb839c --- /dev/null +++ b/pkgs/desktops/gnome/core/yelp-xsl/default.nix @@ -0,0 +1,52 @@ +{ lib, stdenv +, gettext +, fetchurl +, pkg-config +, itstool +, libxml2 +, libxslt +, gnome +}: + +stdenv.mkDerivation rec { + pname = "yelp-xsl"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-Nh7NTTP8zbO7CKaH9g5cPpCdLp47Ai2ETgSYINDPYrA="; + }; + + nativeBuildInputs = [ + pkg-config + gettext + itstool + libxml2 + libxslt + ]; + + doCheck = true; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Yelp"; + description = "Yelp's universal stylesheets for Mallard and DocBook"; + maintainers = teams.gnome.members; + license = with licenses; [ + # See https://gitlab.gnome.org/GNOME/yelp-xsl/blob/master/COPYING + # Stylesheets + lgpl2Plus + # Icons, unclear: https://gitlab.gnome.org/GNOME/yelp-xsl/issues/25 + gpl2 + # highlight.js + bsd3 + ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/desktops/gnome/core/yelp/default.nix b/pkgs/desktops/gnome/core/yelp/default.nix new file mode 100644 index 00000000000..f4df80f5611 --- /dev/null +++ b/pkgs/desktops/gnome/core/yelp/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, gettext, fetchurl, webkitgtk, pkg-config, gtk3, glib +, gnome, sqlite +, itstool, libxml2, libxslt, gst_all_1 +, wrapGAppsHook }: + +stdenv.mkDerivation rec { + pname = "yelp"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "sha256-B3dfoGzSg2Xs2Cm7FqhaaCiXqyHYzONFlrvvXNRVquA="; + }; + + nativeBuildInputs = [ pkg-config gettext itstool wrapGAppsHook ]; + buildInputs = [ + gtk3 glib webkitgtk sqlite + libxml2 libxslt gnome.yelp-xsl + gnome.adwaita-icon-theme + gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "yelp"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Yelp"; + description = "The help viewer in Gnome"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/core/zenity/default.nix b/pkgs/desktops/gnome/core/zenity/default.nix new file mode 100644 index 00000000000..51ad81a77a4 --- /dev/null +++ b/pkgs/desktops/gnome/core/zenity/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv +, fetchurl +, pkg-config +, libxml2 +, gnome +, gtk3 +, yelp-tools +, gettext +, libX11 +, itstool +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "zenity"; + version = "3.32.0"; + + src = fetchurl { + url = "mirror://gnome/sources/zenity/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "15fdh8xfdhnwcynyh4byx3mrjxbyprqnwxzi7qn3g5wwaqryg1p7"; + }; + + nativeBuildInputs = [ + pkg-config + gettext + yelp-tools + itstool + libxml2 + wrapGAppsHook + ]; + + buildInputs = [ + gtk3 + libX11 + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "zenity"; + attrPath = "gnome.zenity"; + }; + }; + + meta = with lib; { + description = "Tool to display dialogs from the commandline and shell scripts"; + homepage = "https://wiki.gnome.org/Projects/Zenity"; + platforms = platforms.linux; + maintainers = teams.gnome.members; + }; +} diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix new file mode 100644 index 00000000000..b529a65026d --- /dev/null +++ b/pkgs/desktops/gnome/default.nix @@ -0,0 +1,366 @@ +{ config, pkgs, lib }: + +lib.makeScope pkgs.newScope (self: with self; { + updateScript = callPackage ./update.nix { }; + + /* Remove packages of packagesToRemove from packages, based on their names + + Type: + removePackagesByName :: [package] -> [package] -> [package] + + Example: + removePackagesByName [ nautilus file-roller ] [ file-roller totem ] + => [ nautilus ] + */ + removePackagesByName = packages: packagesToRemove: + let + namesToRemove = map lib.getName packagesToRemove; + in + lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages; + + libsoup = pkgs.libsoup.override { gnomeSupport = true; }; + libchamplain = pkgs.libchamplain.override { libsoup = libsoup; }; + +# ISO installer +# installerIso = callPackage ./installer.nix {}; + +#### Core (http://ftp.acc.umu.se/pub/GNOME/core/) + + adwaita-icon-theme = callPackage ./core/adwaita-icon-theme { }; + + baobab = callPackage ./core/baobab { }; + + caribou = callPackage ./core/caribou { }; + + dconf-editor = callPackage ./core/dconf-editor { }; + + empathy = callPackage ./core/empathy { }; + + epiphany = callPackage ./core/epiphany { }; + + evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests + + evolution-data-server = callPackage ./core/evolution-data-server { }; + + gdm = callPackage ./core/gdm { }; + + gnome-backgrounds = callPackage ./core/gnome-backgrounds { }; + + gnome-bluetooth = callPackage ./core/gnome-bluetooth { }; + + gnome-color-manager = callPackage ./core/gnome-color-manager { }; + + gnome-contacts = callPackage ./core/gnome-contacts { }; + + gnome-control-center = callPackage ./core/gnome-control-center { }; + + gnome-calculator = callPackage ./core/gnome-calculator { }; + + gnome-common = callPackage ./core/gnome-common { }; + + gnome-desktop = callPackage ./core/gnome-desktop { }; + + gnome-dictionary = callPackage ./core/gnome-dictionary { }; + + gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; + + gnome-font-viewer = callPackage ./core/gnome-font-viewer { }; + + gnome-keyring = callPackage ./core/gnome-keyring { }; + + libgnome-keyring = callPackage ./core/libgnome-keyring { }; + + gnome-initial-setup = callPackage ./core/gnome-initial-setup { }; + + gnome-online-miners = callPackage ./core/gnome-online-miners { }; + + gnome-remote-desktop = callPackage ./core/gnome-remote-desktop { }; + + gnome-session = callPackage ./core/gnome-session { }; + + gnome-session-ctl = callPackage ./core/gnome-session/ctl.nix { }; + + gnome-shell = callPackage ./core/gnome-shell { }; + + gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { }; + + gnome-screenshot = callPackage ./core/gnome-screenshot { }; + + gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { }; + + gnome-software = callPackage ./core/gnome-software { }; + + gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; + + gnome-terminal = callPackage ./core/gnome-terminal { }; + + gnome-themes-extra = callPackage ./core/gnome-themes-extra { }; + + gnome-user-share = callPackage ./core/gnome-user-share { }; + + gucharmap = callPackage ./core/gucharmap { }; + + gvfs = pkgs.gvfs.override { gnomeSupport = true; }; + + eog = callPackage ./core/eog { }; + + mutter = callPackage ./core/mutter { }; + + # Needed for elementary's gala and greeter until 3.36 support has more bugfixes + # https://github.com/elementary/gala/issues/763 + mutter334 = callPackage ./core/mutter/3.34 { }; + + nautilus = callPackage ./core/nautilus { }; + + networkmanager-openvpn = pkgs.networkmanager-openvpn.override { + withGnome = true; + }; + + networkmanager-vpnc = pkgs.networkmanager-vpnc.override { + withGnome = true; + }; + + networkmanager-openconnect = pkgs.networkmanager-openconnect.override { + withGnome = true; + }; + + networkmanager-fortisslvpn = pkgs.networkmanager-fortisslvpn.override { + withGnome = true; + }; + + networkmanager-l2tp = pkgs.networkmanager-l2tp.override { + withGnome = true; + }; + + networkmanager-iodine = pkgs.networkmanager-iodine.override { + withGnome = true; + }; + + rygel = callPackage ./core/rygel { }; + + simple-scan = callPackage ./core/simple-scan { }; + + sushi = callPackage ./core/sushi { }; + + totem = callPackage ./core/totem { }; + + yelp = callPackage ./core/yelp { }; + + yelp-xsl = callPackage ./core/yelp-xsl { }; + + zenity = callPackage ./core/zenity { }; + + +#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) + + accerciser = callPackage ./apps/accerciser { }; + + cheese = callPackage ./apps/cheese { }; + + file-roller = callPackage ./apps/file-roller { }; + + gedit = callPackage ./apps/gedit { }; + + ghex = callPackage ./apps/ghex { }; + + gnome-books = callPackage ./apps/gnome-books { }; + + gnome-boxes = callPackage ./apps/gnome-boxes { }; + + gnome-calendar = callPackage ./apps/gnome-calendar { }; + + gnome-characters = callPackage ./apps/gnome-characters { }; + + gnome-clocks = callPackage ./apps/gnome-clocks { }; + + gnome-documents = callPackage ./apps/gnome-documents { }; + + gnome-logs = callPackage ./apps/gnome-logs { }; + + gnome-maps = callPackage ./apps/gnome-maps { }; + + gnome-music = callPackage ./apps/gnome-music { }; + + gnome-nettool = callPackage ./apps/gnome-nettool { }; + + gnome-notes = callPackage ./apps/gnome-notes { }; + + gnome-power-manager = callPackage ./apps/gnome-power-manager { }; + + gnome-sound-recorder = callPackage ./apps/gnome-sound-recorder { }; + + gnome-todo = callPackage ./apps/gnome-todo {}; + + gnome-weather = callPackage ./apps/gnome-weather { }; + + polari = callPackage ./apps/polari { }; + + seahorse = callPackage ./apps/seahorse { }; + + vinagre = callPackage ./apps/vinagre { }; + +#### Dev http://ftp.gnome.org/pub/GNOME/devtools/ + + anjuta = callPackage ./devtools/anjuta { }; + + devhelp = callPackage ./devtools/devhelp { }; + + gnome-devel-docs = callPackage ./devtools/gnome-devel-docs { }; + +#### Games + + aisleriot = callPackage ./games/aisleriot { }; + + atomix = callPackage ./games/atomix { }; + + five-or-more = callPackage ./games/five-or-more { }; + + four-in-a-row = callPackage ./games/four-in-a-row { }; + + gnome-chess = callPackage ./games/gnome-chess { }; + + gnome-klotski = callPackage ./games/gnome-klotski { }; + + gnome-mahjongg = callPackage ./games/gnome-mahjongg { }; + + gnome-mines = callPackage ./games/gnome-mines { }; + + gnome-nibbles = callPackage ./games/gnome-nibbles { }; + + gnome-robots = callPackage ./games/gnome-robots { }; + + gnome-sudoku = callPackage ./games/gnome-sudoku { }; + + gnome-taquin = callPackage ./games/gnome-taquin { }; + + gnome-tetravex = callPackage ./games/gnome-tetravex { }; + + hitori = callPackage ./games/hitori { }; + + iagno = callPackage ./games/iagno { }; + + lightsoff = callPackage ./games/lightsoff { }; + + swell-foop = callPackage ./games/swell-foop { }; + + tali = callPackage ./games/tali { }; + + quadrapassel = callPackage ./games/quadrapassel { }; + +#### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ + + geary = callPackage ./misc/geary { }; + + gitg = callPackage ./misc/gitg { }; + + libgnome-games-support = callPackage ./misc/libgnome-games-support { }; + + gnome-applets = callPackage ./misc/gnome-applets { }; + + gnome-flashback = callPackage ./misc/gnome-flashback { }; + + gnome-panel = callPackage ./misc/gnome-panel { + autoreconfHook = pkgs.autoreconfHook269; + }; + + gnome-tweaks = callPackage ./misc/gnome-tweaks { }; + + gpaste = callPackage ./misc/gpaste { }; + + metacity = callPackage ./misc/metacity { }; + + nautilus-python = callPackage ./misc/nautilus-python { }; + + gtkhtml = callPackage ./misc/gtkhtml { enchant = pkgs.enchant1; }; + + pomodoro = callPackage ./misc/pomodoro { }; + + gnome-autoar = callPackage ./misc/gnome-autoar { }; + + gnome-packagekit = callPackage ./misc/gnome-packagekit { }; +} // lib.optionalAttrs (config.allowAliases or true) { +#### Legacy aliases + + bijiben = gnome-notes; # added 2018-09-26 + evolution_data_server = evolution-data-server; # added 2018-02-25 + geocode_glib = pkgs.geocode-glib; # added 2018-02-25 + glib_networking = pkgs.glib-networking; # added 2018-02-25 + gnome_common = gnome-common; # added 2018-02-25 + gnome_control_center = gnome-control-center; # added 2018-02-25 + gnome_desktop = gnome-desktop; # added 2018-02-25 + gnome_keyring = gnome-keyring; # added 2018-02-25 + gnome_online_accounts = gnome-online-accounts; # added 2018-02-25 + gnome_session = gnome-session; # added 2018-02-25 + gnome_settings_daemon = gnome-settings-daemon; # added 2018-02-25 + gnome_shell = gnome-shell; # added 2018-02-25 + gnome_terminal = gnome-terminal; # added 2018-02-25 + gnome-themes-standard = gnome-themes-extra; # added 2018-03-14 + gnome_themes_standard = gnome-themes-standard; # added 2018-02-25 + gnome-tweak-tool = gnome-tweaks; # added 2018-03-21 + gsettings_desktop_schemas = gsettings-desktop-schemas; # added 2018-02-25 + libgames-support = libgnome-games-support; # added 2018-03-14 + libgnome_keyring = libgnome-keyring; # added 2018-02-25 + inherit (pkgs) rarian; # added 2018-04-25 + networkmanager_fortisslvpn = networkmanager-fortisslvpn; # added 2018-02-25 + networkmanager_iodine = networkmanager-iodine; # added 2018-02-25 + networkmanager_l2tp = networkmanager-l2tp; # added 2018-02-25 + networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25 + networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25 + networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25 + yelp_xsl = yelp-xsl; # added 2018-02-25 + yelp_tools = yelp-tools; # added 2018-02-25 + + # added 2019-02-08 + inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3 + libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4 + easytag meld orca rhythmbox shotwell gnome-usage + clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl; + inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16 + inherit (pkgs) gnome-video-effects; # added 2019-08-19 + inherit (pkgs) gnome-online-accounts grilo grilo-plugins tracker tracker-miners gnome-photos; # added 2019-08-23 + inherit (pkgs) glib-networking; # added 2019-09-02 + inherit (pkgs) nemiver; # added 2019-09-09 + + defaultIconTheme = adwaita-icon-theme; + gtk = gtk3; + gtkmm = gtkmm3; + rest = librest; + + pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01 + + # added 2019-08-25 + corePackages = throw "gnome.corePackages is removed since 2019-08-25: please use `services.gnome.core-shell.enable`"; + optionalPackages = throw "gnome.optionalPackages is removed since 2019-08-25: please use `services.gnome.core-utilities.enable`"; + gamesPackages = throw "gnome.gamesPackages is removed since 2019-08-25: please use `services.gnome.games.enable`"; + + nautilus-sendto = throw "nautilus-sendto is removed since 2019-09-17: abandoned upstream"; + + inherit (pkgs) vala; # added 2019-10-10 + + inherit (pkgs) gnome-user-docs; # added 2019-11-20 + + inherit (pkgs) gegl_0_4; # added 2019-10-31 + + inherit (pkgs) gjs; # added 2019-01-05 + + inherit (pkgs) yelp-tools; # added 2019-11-20 + + inherit (pkgs) dconf; # added 2019-11-30 + + inherit (pkgs) networkmanagerapplet; # added 2019-12-12 + + inherit (pkgs) glade; # added 2020-05-15 + + vino = throw "vino is deprecated, use gnome-remote-desktop instead."; # added 2020-03-13 + + gnome-screensaver = throw "gnome-screensaver is deprecated. If you are using GNOME Flashback, it now has a built-in lock screen. If you are using it elsewhere, you can try xscreenlock or other alternatives."; # added 2020-03-19 + + maintainers = lib.teams.gnome.members; + + mutter328 = throw "Removed as Pantheon is upgraded to mutter334."; + + gnome-getting-started-docs = throw "Removed in favour of gnome-tour."; + + # Added 2021-05-07 + gnome3 = self // { recurseForDerivations = false; }; +}) diff --git a/pkgs/desktops/gnome/devtools/anjuta/default.nix b/pkgs/desktops/gnome/devtools/anjuta/default.nix new file mode 100644 index 00000000000..5b841557b6b --- /dev/null +++ b/pkgs/desktops/gnome/devtools/anjuta/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, gjs, flex, bison, libxml2, intltool, + gdl, libgda, gtksourceview, gsettings-desktop-schemas, + itstool, python3, ncurses, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "anjuta"; + version = "3.34.0"; + + src = fetchurl { + url = "mirror://gnome/sources/anjuta/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "13ql7axw6zz387s7pa1m7wmh7qps3x7fk53h9832vq1yxlq33aa2"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "anjuta"; attrPath = "gnome.anjuta"; }; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + pkg-config intltool itstool python3 makeWrapper + # Required by python3 + ncurses + ]; + buildInputs = [ + flex bison gtk3 libxml2 gjs gdl + libgda gtksourceview + gsettings-desktop-schemas + ]; + + preFixup = '' + wrapProgram $out/bin/anjuta \ + --prefix XDG_DATA_DIRS : \ + "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with lib; { + description = "Software development studio"; + homepage = "http://anjuta.org/"; + license = licenses.gpl2; + maintainers = with maintainers; []; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/devtools/devhelp/default.nix b/pkgs/desktops/gnome/devtools/devhelp/default.nix new file mode 100644 index 00000000000..46491cffc5f --- /dev/null +++ b/pkgs/desktops/gnome/devtools/devhelp/default.nix @@ -0,0 +1,80 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, glib +, amtk +, appstream-glib +, gobject-introspection +, python3 +, webkitgtk +, gettext +, itstool +, gsettings-desktop-schemas +, shared-mime-info +}: + +stdenv.mkDerivation rec { + pname = "devhelp"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/devhelp/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0zr64qp5c6jcc3x5hmfp7jhzpi96qwr6xplyfkmz4kjzvr9xidjd"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + wrapGAppsHook + appstream-glib + gobject-introspection + python3 + ]; + + buildInputs = [ + glib + gtk3 + webkitgtk + amtk + gnome.adwaita-icon-theme + gsettings-desktop-schemas + ]; + + doCheck = true; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + # Fix pages being blank + # https://gitlab.gnome.org/GNOME/devhelp/issues/14 + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "devhelp"; + attrPath = "gnome.devhelp"; + }; + }; + + meta = with lib; { + description = "API documentation browser for GNOME"; + homepage = "https://wiki.gnome.org/Apps/Devhelp"; + license = licenses.gpl3Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/devtools/gnome-devel-docs/default.nix b/pkgs/desktops/gnome/devtools/gnome-devel-docs/default.nix new file mode 100644 index 00000000000..501aaa91c97 --- /dev/null +++ b/pkgs/desktops/gnome/devtools/gnome-devel-docs/default.nix @@ -0,0 +1,25 @@ +{ lib, stdenv, fetchurl, gnome, intltool, itstool, libxml2 }: + +stdenv.mkDerivation rec { + pname = "gnome-devel-docs"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-devel-docs/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0zqp01ks8m3s6jn5xqd05rw4fwbvxy5qvcfg9g50b2ar2j7v1ar8"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "gnome-devel-docs"; attrPath = "gnome.gnome-devel-docs"; }; + }; + + buildInputs = [ intltool itstool libxml2 ]; + + meta = with lib; { + homepage = "https://github.com/GNOME/gnome-devel-docs"; + description = "Developer documentation for GNOME"; + maintainers = teams.gnome.members; + license = licenses.fdl12; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix new file mode 100644 index 00000000000..57d78bf756a --- /dev/null +++ b/pkgs/desktops/gnome/extensions/EasyScreenCast/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gnome, gettext }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-EasyScreenCast"; + version = "unstable-2020-11-25"; + + src = fetchFromGitHub { + # To make it work with gnome 3.38, using effectively: https://github.com/EasyScreenCast/EasyScreenCast/pull/276 + owner = "Ian2020"; + repo = "EasyScreenCast"; + rev = "b1ab4a999bc7110ecbf68b5fe42c37fa67d7cb0d"; + sha256 = "s9b0ITKUzgG6XOd1bK7i3mGxfc+T+UHrTZhBp0Ff8zQ="; + }; + + patches = [ + (substituteAll { + src = ./fix-gi-path.patch; + gnomeShell = gnome.gnome-shell; + }) + ]; + + nativeBuildInputs = [ + glib gettext + ]; + + makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; + + uuid = "EasyScreenCast@iacopodeenosee.gmail.com"; + + meta = with lib; { + description = "Simplifies the use of the video recording function integrated in gnome shell"; + homepage = "https://github.com/EasyScreenCast/EasyScreenCast"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ doronbehar ]; + platforms = platforms.linux; + }; +} + diff --git a/pkgs/desktops/gnome/extensions/EasyScreenCast/fix-gi-path.patch b/pkgs/desktops/gnome/extensions/EasyScreenCast/fix-gi-path.patch new file mode 100644 index 00000000000..2d32021b6c6 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/EasyScreenCast/fix-gi-path.patch @@ -0,0 +1,16 @@ +diff --git i/utilaudio.js w/utilaudio.js +index 983b29c..7a94de8 100644 +--- i/utilaudio.js ++++ w/utilaudio.js +@@ -11,10 +11,7 @@ + */ + + const GIRepository = imports.gi.GIRepository; +-GIRepository.Repository.prepend_search_path("/usr/lib/gnome-shell"); +-GIRepository.Repository.prepend_library_path("/usr/lib/gnome-shell"); +-GIRepository.Repository.prepend_search_path("/usr/lib64/gnome-shell"); +-GIRepository.Repository.prepend_library_path("/usr/lib64/gnome-shell"); ++GIRepository.Repository.prepend_search_path("@gnomeShell@/lib/gnome-shell"); + const Gvc = imports.gi.Gvc; + const Lang = imports.lang; + diff --git a/pkgs/desktops/gnome/extensions/appindicator/default.nix b/pkgs/desktops/gnome/extensions/appindicator/default.nix new file mode 100644 index 00000000000..0906d762956 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/appindicator/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-appindicator"; + version = "36"; + + src = fetchFromGitHub { + owner = "Ubuntu"; + repo = "gnome-shell-extension-appindicator"; + rev = "v${version}"; + sha256 = "1nx1lgrrp3w5z5hymb91frjdvdkk7x677my5v4jjd330ihqa02dq"; + }; + + # This package has a Makefile, but it's used for building a zip for + # publication to extensions.gnome.org. Disable the build phase so + # installing doesn't build an unnecessary release. + dontBuild = true; + + uuid = "appindicatorsupport@rgcjonas.gmail.com"; + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp *.js $out/share/gnome-shell/extensions/${uuid} + cp -r interfaces-xml $out/share/gnome-shell/extensions/${uuid} + cp metadata.json $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "AppIndicator/KStatusNotifierItem support for GNOME Shell"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ jonafato ]; + platforms = gnome.gnome-shell.meta.platforms; + homepage = "https://github.com/Ubuntu/gnome-shell-extension-appindicator"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/pkgs/desktops/gnome/extensions/arcmenu/default.nix new file mode 100644 index 00000000000..851a816c61c --- /dev/null +++ b/pkgs/desktops/gnome/extensions/arcmenu/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitLab, glib, gettext, substituteAll, gnome-menus }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-arcmenu"; + version = "5"; + + src = fetchFromGitLab { + owner = "arcmenu"; + repo = "ArcMenu"; + rev = "v${version}"; + sha256 = "1w4avvnp08l7lkf76vc7wvfn1cd81l4r4dhz8qnai49rvrjgqcg3"; + }; + + patches = [ + (substituteAll { + src = ./fix_gmenu.patch; + gmenu_path = "${gnome-menus}/lib/girepository-1.0"; + }) + ]; + + buildInputs = [ + glib gettext + ]; + + makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ]; + + uuid = "arcmenu@arcmenu.com"; + + meta = with lib; { + description = "Application menu for GNOME Shell, designed to provide a more traditional user experience and workflow"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ dkabot ]; + homepage = "https://gitlab.com/arcmenu/ArcMenu"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/arcmenu/fix_gmenu.patch b/pkgs/desktops/gnome/extensions/arcmenu/fix_gmenu.patch new file mode 100644 index 00000000000..5d8584f52a6 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/arcmenu/fix_gmenu.patch @@ -0,0 +1,11 @@ +--- a/extension.js ++++ b/extension.js +@@ -23,6 +23,8 @@ + + const Me = imports.misc.extensionUtils.getCurrentExtension(); + ++imports.gi.GIRepository.Repository.prepend_search_path('@gmenu_path@'); ++ + const {GLib, Gio, St} = imports.gi; + const Constants = Me.imports.constants; + const Controller = Me.imports.controller; diff --git a/pkgs/desktops/gnome/extensions/caffeine/default.nix b/pkgs/desktops/gnome/extensions/caffeine/default.nix new file mode 100644 index 00000000000..3085a4461e7 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/caffeine/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchFromGitHub, glib, gettext, bash, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-caffeine"; + version = "37"; + + src = fetchFromGitHub { + owner = "eonpatapon"; + repo = "gnome-shell-extension-caffeine"; + rev = "v${version}"; + sha256 = "1mpa0fbpmv3pblb20dxj8iykn4ayvx89qffpcs67bzlq597zsbkb"; + }; + + uuid = "caffeine@patapon.info"; + + nativeBuildInputs = [ + glib gettext + ]; + + buildPhase = '' + runHook preBuild + ${bash}/bin/bash ./update-locale.sh + glib-compile-schemas --strict --targetdir=caffeine@patapon.info/schemas/ caffeine@patapon.info/schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "Fill the cup to inhibit auto suspend and screensaver"; + license = licenses.gpl2; + maintainers = with maintainers; [ eperuffo ]; + homepage = "https://github.com/eonpatapon/gnome-shell-extension-caffeine"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/chrome-gnome-shell/default.nix b/pkgs/desktops/gnome/extensions/chrome-gnome-shell/default.nix new file mode 100644 index 00000000000..779d7506abf --- /dev/null +++ b/pkgs/desktops/gnome/extensions/chrome-gnome-shell/default.nix @@ -0,0 +1,71 @@ +{ lib, stdenv +, fetchurl +, cmake +, ninja +, jq +, python3 +, gnome +, wrapGAppsHook +, gobject-introspection +}: + +let + inherit (python3.pkgs) python pygobject3 requests; +in +stdenv.mkDerivation rec { + pname = "chrome-gnome-shell"; + version = "10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/chrome-gnome-shell/${version}/${pname}-${version}.tar.xz"; + sha256 = "0f54xyamm383ypbh0ndkza0pif6ljddg2f947p265fkqj3p4zban"; + }; + + nativeBuildInputs = [ + cmake + ninja + jq + wrapGAppsHook + gobject-introspection # for setup-hook + ]; + + buildInputs = [ + gnome.gnome-shell + python + pygobject3 + requests + gobject-introspection # for Gio typelib + ]; + + cmakeFlags = [ + "-DBUILD_EXTENSION=OFF" + ]; + + wrapPrefixVariables = [ + "PYTHONPATH" + ]; + + # cmake setup hook changes /etc/opt into /var/empty + dontFixCmake = true; + + preConfigure = '' + substituteInPlace CMakeLists.txt --replace "/etc" "$out/etc" + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "chrome-gnome-shell"; + }; + }; + + meta = with lib; { + description = "GNOME Shell integration for Chrome"; + homepage = "https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome"; + longDescription = '' + To use the integration, install the browser extension, and then set to true. + ''; + license = licenses.gpl3; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/extensions/clipboard-indicator/default.nix b/pkgs/desktops/gnome/extensions/clipboard-indicator/default.nix new file mode 100644 index 00000000000..ee64fc5113d --- /dev/null +++ b/pkgs/desktops/gnome/extensions/clipboard-indicator/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-clipboard-indicator"; + version = "37"; + + src = fetchFromGitHub { + owner = "Tudmotu"; + repo = "gnome-shell-extension-clipboard-indicator"; + rev = "v${version}"; + sha256 = "0npxhaam2ra2b9zh2gk2q0n5snlhx6glz86m3jf8hz037w920k41"; + }; + + uuid = "clipboard-indicator@tudmotu.com"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r * $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "Adds a clipboard indicator to the top panel and saves clipboard history"; + license = licenses.mit; + maintainers = with maintainers; [ jonafato ]; + platforms = platforms.linux; + homepage = "https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/clock-override/default.nix b/pkgs/desktops/gnome/extensions/clock-override/default.nix new file mode 100644 index 00000000000..3e02d33857a --- /dev/null +++ b/pkgs/desktops/gnome/extensions/clock-override/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchzip, gnome, gettext, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-clock-override"; + version = "12"; + + src = fetchzip { + url = "https://extensions.gnome.org/extension-data/clock-overridegnomeshell.kryogenix.org.v${version}.shell-extension.zip"; + sha256 = "1cyaszks6bwnbgacqsl1pmr24mbj05mad59d4253la9am8ibb4m6"; + stripRoot = false; + }; + + uuid = "clock-override@gnomeshell.kryogenix.org"; + + nativeBuildInputs = [ gettext glib ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas --strict --targetdir=schemas schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r {convenience.js,extension.js,format.js,locale,metadata.json,prefs.js,schemas} $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "Customize the date and time format displayed in clock in the top bar in GNOME Shell"; + license = licenses.mit; + maintainers = with maintainers; [ rhoriguchi ]; + homepage = "https://github.com/stuartlangridge/gnome-shell-clock-override"; + broken = versionOlder gnome.gnome-shell.version "3.18"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix new file mode 100644 index 00000000000..45233e52f89 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv +, fetchFromGitHub +, glib +, gettext +}: + +stdenv.mkDerivation rec { + pname = "gnome-shell-dash-to-dock"; + version = "69"; + + src = fetchFromGitHub { + owner = "micheleg"; + repo = "dash-to-dock"; + rev = "extensions.gnome.org-v" + version; + hash = "sha256-YuLtC7E8dK57JSuFdbDQe5Ml+KQfl9qSdrHdVhFaNiE="; + }; + + nativeBuildInputs = [ + glib + gettext + ]; + + makeFlags = [ + "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" + ]; + + uuid = "dash-to-dock@micxgx.gmail.com"; + + meta = with lib; { + description = "A dock for the Gnome Shell"; + homepage = "https://micheleg.github.io/dash-to-dock/"; + license = licenses.gpl2; + maintainers = with maintainers; [ eperuffo jtojnar ]; + }; +} diff --git a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix new file mode 100644 index 00000000000..7a9dc066cc7 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, glib, gettext }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-dash-to-panel"; + version = "40"; + + src = fetchFromGitHub { + owner = "home-sweet-gnome"; + repo = "dash-to-panel"; + rev = "v${version}"; + sha256 = "07jq8d16nn62ikis896nyfn3q02f5srj754fmiblhz472q4ljc3p"; + }; + + buildInputs = [ + glib gettext + ]; + + makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; + + uuid = "dash-to-panel@jderose9.github.com"; + + meta = with lib; { + description = "An icon taskbar for Gnome Shell"; + license = licenses.gpl2; + maintainers = with maintainers; [ mounium ]; + homepage = "https://github.com/jderose9/dash-to-panel"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/disable-unredirect/default.nix b/pkgs/desktops/gnome/extensions/disable-unredirect/default.nix new file mode 100644 index 00000000000..0a9145de3db --- /dev/null +++ b/pkgs/desktops/gnome/extensions/disable-unredirect/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-disable-unredirect"; + version = "unstable-2021-01-17"; + + src = fetchFromGitHub { + owner = "kazysmaster"; + repo = "gnome-shell-extension-disable-unredirect"; + rev = "2ecb2f489ea3316b77d04f03a0c885f322c67e79"; + sha256 = "1rjyrg8qya0asndxr7189a9npww0rcxk02wkxrxjy7fdp5m89p7y"; + }; + + uuid = "unredirect@vaina.lt"; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/gnome-shell/extensions + cp -R ${uuid} $out/share/gnome-shell/extensions/${uuid} + + runHook postInstall + ''; + + meta = with lib; { + description = "Disables unredirect fullscreen windows in gnome-shell to avoid tearing"; + license = licenses.gpl3Only; + homepage = "https://github.com/kazysmaster/gnome-shell-extension-disable-unredirect"; + maintainers = with maintainers; [ eduardosm ]; + }; +} diff --git a/pkgs/desktops/gnome/extensions/draw-on-your-screen/default.nix b/pkgs/desktops/gnome/extensions/draw-on-your-screen/default.nix new file mode 100644 index 00000000000..90e8bffeec9 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/draw-on-your-screen/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchgit, gettext, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-draw-on-your-screen"; + version = "10"; + + src = fetchgit { + url = "https://framagit.org/abakkk/DrawOnYourScreen/"; + rev = "v${version}"; + sha256 = "07adzg3mf6k0pmd9lc358w0w3l4pr3p6374day1qhmci2p4zxq6p"; + }; + + uuid = "drawOnYourScreen@abakkk.framagit.org"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r . $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "A drawing extension for GNOME Shell"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ ericdallo ahuzik ]; + platforms = gnome.gnome-shell.meta.platforms; + homepage = "https://framagit.org/abakkk/DrawOnYourScreen"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix b/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix new file mode 100644 index 00000000000..a994e427fb0 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/drop-down-terminal/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, substituteAll, gjs, vte, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-drop-down-terminal"; + version = "unstable-2020-03-25"; + + src = fetchFromGitHub { + owner = "zzrough"; + repo = "gs-extensions-drop-down-terminal"; + rev = "a59669afdb395b3315619f62c1f740f8b2f0690d"; + sha256 = "0igfxgrjdqq6z6xg4rsawxn261pk25g5dw2pm3bhwz5sqsy4bq3i"; + }; + + uuid = "drop-down-terminal@gs-extensions.zzrough.org"; + + patches = [ + (substituteAll { + src = ./fix_vte_and_gjs.patch; + inherit gjs vte; + }) + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions/ + runHook postInstall + ''; + + meta = with lib; { + description = "Configurable drop down terminal shell"; + license = licenses.gpl3; + maintainers = with maintainers; [ ericdallo ]; + homepage = "https://github.com/zzrough/gs-extensions-drop-down-terminal"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/drop-down-terminal/fix_vte_and_gjs.patch b/pkgs/desktops/gnome/extensions/drop-down-terminal/fix_vte_and_gjs.patch new file mode 100644 index 00000000000..3544c91ee89 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/drop-down-terminal/fix_vte_and_gjs.patch @@ -0,0 +1,32 @@ +--- a/drop-down-terminal@gs-extensions.zzrough.org/extension.js ++++ b/drop-down-terminal@gs-extensions.zzrough.org/extension.js +@@ -15,6 +15,8 @@ + + // Author: Stéphane Démurget + ++imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0') ++ + const Lang = imports.lang; + const Gettext = imports.gettext.domain("drop-down-terminal"); + const Mainloop = imports.mainloop; +@@ -653,7 +655,7 @@ const DropDownTerminalExtension = new Lang.Class({ + this._killingChild = false; + + // finds the forking arguments +- let args = ["gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path]; ++ let args = ["@gjs@/bin/gjs", GLib.build_filenamev([Me.path, "terminal.js"]), Me.path]; + + // forks the process + debug("forking '" + args.join(" ") + "'"); +--- a/drop-down-terminal@gs-extensions.zzrough.org/terminal.js ++++ b/drop-down-terminal@gs-extensions.zzrough.org/terminal.js +@@ -14,6 +14,9 @@ + // along with this program. If not, see . + + // Author: Stéphane Démurget ++ ++imports.gi.GIRepository.Repository.prepend_search_path('@vte@/lib/girepository-1.0') ++ + const Lang = imports.lang; + + const Pango = imports.gi.Pango; diff --git a/pkgs/desktops/gnome/extensions/dynamic-panel-transparency/default.nix b/pkgs/desktops/gnome/extensions/dynamic-panel-transparency/default.nix new file mode 100644 index 00000000000..f31e170b975 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/dynamic-panel-transparency/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub, gnome, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-dynamic-panel-transparency"; + version = "35"; + + src = fetchFromGitHub { + owner = "ewlsh"; + repo = "dynamic-panel-transparency"; + rev = "0800c0a921bb25f51f6a5ca2e6981b1669a69aec"; + sha256 = "0200mx861mlsi9lf7h108yam02jfqqw55r521chkgmk4fy6z99pq"; + }; + + uuid = "dynamic-panel-transparency@rockon999.github.io"; + + nativeBuildInputs = [ glib ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas --strict --targetdir=${uuid}/schemas/ ${uuid}/schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "This extension fades your top panel to nothingness when there are no maximized windows present"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ rhoriguchi ]; + homepage = "https://github.com/ewlsh/dynamic-panel-transparency"; + broken = versionOlder gnome.gnome-shell.version "3.36"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/emoji-selector/default.nix b/pkgs/desktops/gnome/extensions/emoji-selector/default.nix new file mode 100644 index 00000000000..5470dc996be --- /dev/null +++ b/pkgs/desktops/gnome/extensions/emoji-selector/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchFromGitHub, glib, gettext }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-emoji-selector"; + version = "19"; + + src = fetchFromGitHub { + owner = "maoschanz"; + repo = "emoji-selector-for-gnome"; + rev = version; + sha256 = "0x60pg5nl5d73av494dg29hyfml7fbf2d03wm053vx1q8a3pxbyb"; + }; + + uuid = "emoji-selector@maestroschan.fr"; + + nativeBuildInputs = [ glib ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas ./${uuid}/schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = + "GNOME Shell extension providing a searchable popup menu displaying most emojis"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ rawkode ]; + homepage = "https://github.com/maoschanz/emoji-selector-for-gnome"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/freon/default.nix b/pkgs/desktops/gnome/extensions/freon/default.nix new file mode 100644 index 00000000000..f30e2f6f8a2 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/freon/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-freon"; + version = "40"; + + uuid = "freon@UshakovVasilii_Github.yahoo.com"; + + src = fetchFromGitHub { + owner = "UshakovVasilii"; + repo = "gnome-shell-extension-freon"; + rev = "EGO-${version}"; + sha256 = "0ak6f5dds9kk3kqww681gs3l1mj3vf22icrvb5m257s299rq8yzl"; + }; + + nativeBuildInputs = [ glib ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas --strict --targetdir=${uuid}/schemas ${uuid}/schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "GNOME Shell extension for displaying CPU, GPU, disk temperatures, voltage and fan RPM in the top panel"; + license = licenses.gpl2; + maintainers = with maintainers; [ justinas ]; + homepage = "https://github.com/UshakovVasilii/gnome-shell-extension-freon"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/fuzzy-app-search/default.nix b/pkgs/desktops/gnome/extensions/fuzzy-app-search/default.nix new file mode 100755 index 00000000000..302b21f2aef --- /dev/null +++ b/pkgs/desktops/gnome/extensions/fuzzy-app-search/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitLab, gnome, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-fuzzy-app-search"; + version = "4"; + + src = fetchFromGitLab { + owner = "Czarlie"; + repo = "gnome-fuzzy-app-search"; + rev = "da9c15d39958d9c3b38df3b616fd40b85aed24e5"; + sha256 = "1r3qha530s97x818znn1wi76f4x9bhlgi7jlxfwjnrwys62cv5fn"; + }; + + uuid = "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com"; + + nativeBuildInputs = [ glib ]; + + patches = [ ./fix-desktop-file-paths.patch ]; + + makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ]; + + meta = with lib; { + description = "Fuzzy application search results for Gnome Search"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ rhoriguchi ]; + homepage = "https://gitlab.com/Czarlie/gnome-fuzzy-app-search"; + broken = versionOlder gnome.gnome-shell.version "3.18"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/fuzzy-app-search/fix-desktop-file-paths.patch b/pkgs/desktops/gnome/extensions/fuzzy-app-search/fix-desktop-file-paths.patch new file mode 100755 index 00000000000..1795f998c9b --- /dev/null +++ b/pkgs/desktops/gnome/extensions/fuzzy-app-search/fix-desktop-file-paths.patch @@ -0,0 +1,50 @@ +diff --git a/applicationsUtils.js b/applicationsUtils.js +index 728223b..aa9f291 100644 +--- a/applicationsUtils.js ++++ b/applicationsUtils.js +@@ -44,27 +44,24 @@ var Search = new Lang.Class({ + * @return {Void} + */ + _init: function () { +- let dir = [ +- "/usr/share/applications", +- GLib.get_home_dir() + "/.local/share/applications", +- ]; +- +- // listen object - file/monitor list +- this._listen = dir.map((path) => { +- let file = Gio.File.new_for_path(path); +- let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null); +- +- // refresh on each directory change +- monitor.connect( +- "changed", +- Lang.bind(this, this._handleMonitorChanged) +- ); +- +- return { +- file: file, +- monitor: monitor, +- }; +- }); ++ this._listen = [...new Set(GLib.get_system_data_dirs())] ++ .filter((path) => path.endsWith("/share")) ++ .map((path) => Gio.File.new_for_path(path + "/applications")) ++ .filter((file) => file.query_exists(null)) ++ .map((file) => { ++ let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null); ++ ++ // refresh on each directory change ++ monitor.connect( ++ "changed", ++ Lang.bind(this, this._handleMonitorChanged) ++ ); ++ ++ return { ++ file: file, ++ monitor: monitor, ++ }; ++ }); + this._interval = null; + this._data = {}; + \ No newline at end of file diff --git a/pkgs/desktops/gnome/extensions/gsconnect/default.nix b/pkgs/desktops/gnome/extensions/gsconnect/default.nix new file mode 100644 index 00000000000..c924b4e3eca --- /dev/null +++ b/pkgs/desktops/gnome/extensions/gsconnect/default.nix @@ -0,0 +1,116 @@ +{ lib, stdenv +, fetchFromGitHub +, substituteAll +, openssl +, gsound +, meson +, ninja +, pkg-config +, gobject-introspection +, wrapGAppsHook +, glib +, glib-networking +, gtk3 +, openssh +, gnome +, gjs +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "gnome-shell-gsconnect"; + version = "46"; + + outputs = [ "out" "installedTests" ]; + + src = fetchFromGitHub { + owner = "andyholmes"; + repo = "gnome-shell-extension-gsconnect"; + rev = "v${version}"; + sha256 = "161379kipr6z6gbhchb5b17djrkg5fbvblyyabzkc2gv05r3h6fw"; + }; + + patches = [ + # Make typelibs available in the extension + (substituteAll { + src = ./fix-paths.patch; + gapplication = "${glib.bin}/bin/gapplication"; + }) + + # Allow installing installed tests to a separate output + ./installed-tests-path.patch + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection # for locating typelibs + wrapGAppsHook # for wrapping daemons + ]; + + buildInputs = [ + glib # libgobject + glib-networking + gtk3 + gsound + gjs # for running daemon + gnome.evolution-data-server # for libebook-contacts typelib + ]; + + mesonFlags = [ + "-Dgnome_shell_libdir=${gnome.gnome-shell}/lib" + "-Dgsettings_schemadir=${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}" + "-Dchrome_nmhdir=${placeholder "out"}/etc/opt/chrome/native-messaging-hosts" + "-Dchromium_nmhdir=${placeholder "out"}/etc/chromium/native-messaging-hosts" + "-Dopenssl_path=${openssl}/bin/openssl" + "-Dsshadd_path=${openssh}/bin/ssh-add" + "-Dsshkeygen_path=${openssh}/bin/ssh-keygen" + "-Dsession_bus_services_dir=${placeholder "out"}/share/dbus-1/services" + "-Dpost_install=true" + "-Dinstalled_test_prefix=${placeholder "installedTests"}" + ]; + + postPatch = '' + patchShebangs meson/nmh.sh + patchShebangs meson/post-install.sh + patchShebangs installed-tests/prepare-tests.sh + + # TODO: do not include every typelib everywhere + # for example, we definitely do not need nautilus + for file in src/extension.js src/prefs.js; do + substituteInPlace "$file" \ + --subst-var-by typelibPath "$GI_TYPELIB_PATH" + done + ''; + + postFixup = '' + # Let’s wrap the daemons + for file in $out/share/gnome-shell/extensions/gsconnect@andyholmes.github.io/service/{daemon,nativeMessagingHost}.js; do + echo "Wrapping program $file" + wrapGApp "$file" + done + + # Wrap jasmine runner for tests + for file in $installedTests/libexec/installed-tests/gsconnect/minijasmine; do + echo "Wrapping program $file" + wrapGApp "$file" + done + ''; + + uuid = "gsconnect@andyholmes.github.io"; + + passthru = { + tests = { + installedTests = nixosTests.installed-tests.gsconnect; + }; + }; + + meta = with lib; { + description = "KDE Connect implementation for Gnome Shell"; + homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ etu ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/extensions/gsconnect/fix-paths.patch b/pkgs/desktops/gnome/extensions/gsconnect/fix-paths.patch new file mode 100644 index 00000000000..58c02a92eb2 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/gsconnect/fix-paths.patch @@ -0,0 +1,37 @@ +diff --git i/data/org.gnome.Shell.Extensions.GSConnect.desktop.in w/data/org.gnome.Shell.Extensions.GSConnect.desktop.in +index ffb23342..b405c73b 100644 +--- i/data/org.gnome.Shell.Extensions.GSConnect.desktop.in ++++ w/data/org.gnome.Shell.Extensions.GSConnect.desktop.in +@@ -1,7 +1,7 @@ + [Desktop Entry] + Type=Application + Name=GSConnect +-Exec=gapplication launch org.gnome.Shell.Extensions.GSConnect %U ++Exec=@gapplication@ launch org.gnome.Shell.Extensions.GSConnect %U + Terminal=false + NoDisplay=true + Icon=org.gnome.Shell.Extensions.GSConnect +diff --git i/src/extension.js w/src/extension.js +index 5f32aa68..872c0c61 100644 +--- i/src/extension.js ++++ w/src/extension.js +@@ -1,5 +1,7 @@ + 'use strict'; + ++'@typelibPath@'.split(':').forEach(path => imports.gi.GIRepository.Repository.prepend_search_path(path)); ++ + const Gio = imports.gi.Gio; + const GObject = imports.gi.GObject; + const Gtk = imports.gi.Gtk; +diff --git i/src/prefs.js w/src/prefs.js +index 07e93099..1c166710 100644 +--- i/src/prefs.js ++++ w/src/prefs.js +@@ -1,5 +1,7 @@ + 'use strict'; + ++'@typelibPath@'.split(':').forEach(path => imports.gi.GIRepository.Repository.prepend_search_path(path)); ++ + const Gio = imports.gi.Gio; + const GLib = imports.gi.GLib; + const Gtk = imports.gi.Gtk; diff --git a/pkgs/desktops/gnome/extensions/gsconnect/installed-tests-path.patch b/pkgs/desktops/gnome/extensions/gsconnect/installed-tests-path.patch new file mode 100644 index 00000000000..78e1ad96d74 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/gsconnect/installed-tests-path.patch @@ -0,0 +1,30 @@ +diff --git a/installed-tests/meson.build b/installed-tests/meson.build +index c7eff2fb..ef4f6052 100644 +--- a/installed-tests/meson.build ++++ b/installed-tests/meson.build +@@ -1,5 +1,5 @@ +-installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name()) +-installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name()) ++installed_tests_execdir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name()) ++installed_tests_metadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name()) + + installed_tests_srcdir = meson.current_source_dir() + installed_tests_builddir = meson.current_build_dir() +diff --git a/meson_options.txt b/meson_options.txt +index 8912e052..ca6ee5eb 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -116,6 +116,13 @@ option( + description: 'Native Messaging Host directory for Mozilla' + ) + ++option( ++ 'installed_test_prefix', ++ type: 'string', ++ value: '', ++ description: 'Prefix for installed tests' ++) ++ + option( + 'installed_tests', + type: 'boolean', diff --git a/pkgs/desktops/gnome/extensions/hot-edge/default.nix b/pkgs/desktops/gnome/extensions/hot-edge/default.nix new file mode 100644 index 00000000000..aaa5870996a --- /dev/null +++ b/pkgs/desktops/gnome/extensions/hot-edge/default.nix @@ -0,0 +1,33 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-hot-edge"; + version = "jdoda"; + + src = fetchFromGitHub { + owner = "jdoda"; + repo = "hotedge"; + rev = "bb7f651becea5287241caf7cda246a68ab07dac8"; + sha256 = "oeTs0kRan6b5relxzhK1IKbV0Yv2d5YdvvUPJ3fM9ik="; + }; + + dontBuild = true; + + uuid = "hotedge@jonathan.jdoda.ca"; + + installPhase = '' + runHook preInstall + install -Dt $out/share/gnome-shell/extensions/${uuid} extension.js metadata.json stylesheet.css + runHook postInstall + ''; + + meta = with lib; { + description = "Replace the top-left hot corner with a bottom hot edge"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ jtojnar ]; + homepage = "https://github.com/jdoda/hotedge"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/icon-hider/default.nix b/pkgs/desktops/gnome/extensions/icon-hider/default.nix new file mode 100644 index 00000000000..820d96988c9 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/icon-hider/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-icon-hider"; + version = "23"; + + src = fetchFromGitHub { + owner = "ikalnytskyi"; + repo = "gnome-shell-extension-icon-hider"; + rev = "v${version}"; + sha256 = "18c8zkdrmdbghqqz7b450vhgpykgz25mgigwn2nggcb2lxmvm9ks"; + }; + + uuid = "icon-hider@kalnitsky.org"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "Icon Hider is a GNOME Shell extension for managing status area items"; + license = licenses.bsd3; + maintainers = with maintainers; [ jonafato ]; + platforms = gnome.gnome-shell.meta.platforms; + homepage = "https://github.com/ikalnytskyi/gnome-shell-extension-icon-hider"; + broken = versionAtLeast gnome.gnome-shell.version "3.32"; # Doesn't support 3.34 + }; +} diff --git a/pkgs/desktops/gnome/extensions/impatience/default.nix b/pkgs/desktops/gnome/extensions/impatience/default.nix new file mode 100644 index 00000000000..82551efef3c --- /dev/null +++ b/pkgs/desktops/gnome/extensions/impatience/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchFromGitHub, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-impatience"; + version = "unstable-2019-09-23"; + + src = fetchFromGitHub { + owner = "timbertson"; + repo = "gnome-shell-impatience"; + rev = "43e4e0a1e0eeb334a2da5224ce3ab4fdddf4f1b2"; + sha256 = "0kvdhlz41fjyqdgcfw6mrr9nali6wg2qwji3dvykzfi0aypljzpx"; + }; + + buildInputs = [ + glib + ]; + + buildPhase = '' + runHook preBuild + make schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r impatience $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + uuid = "impatience@gfxmonk.net"; + + meta = with lib; { + description = "Speed up builtin gnome-shell animations"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ timbertson tiramiseb ]; + homepage = "http://gfxmonk.net/dist/0install/gnome-shell-impatience.xml"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/material-shell/default.nix b/pkgs/desktops/gnome/extensions/material-shell/default.nix new file mode 100644 index 00000000000..9b683c1af6b --- /dev/null +++ b/pkgs/desktops/gnome/extensions/material-shell/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchFromGitHub, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-material-shell"; + version = "12"; + + src = fetchFromGitHub { + owner = "material-shell"; + repo = "material-shell"; + rev = version; + sha256 = "0ikrh70drwr0pqjcdz7l1ky8xllpnk7myprjd4s61nqkx9j2iz44"; + }; + + # This package has a Makefile, but it's used for building a zip for + # publication to extensions.gnome.org. Disable the build phase so + # installing doesn't build an unnecessary release. + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r * $out/share/gnome-shell/extensions/${uuid}/ + runHook postInstall + ''; + + uuid = "material-shell@papyelgringo"; + + meta = with lib; { + description = "A modern desktop interface for Linux"; + license = licenses.mit; + maintainers = with maintainers; [ benley ]; + homepage = "https://github.com/material-shell/material-shell"; + platforms = gnome.gnome-shell.meta.platforms; + }; +} diff --git a/pkgs/desktops/gnome/extensions/mpris-indicator-button/default.nix b/pkgs/desktops/gnome/extensions/mpris-indicator-button/default.nix new file mode 100644 index 00000000000..b0dfc9b8dec --- /dev/null +++ b/pkgs/desktops/gnome/extensions/mpris-indicator-button/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenv +, fetchFromGitHub +, nix-update-script +, gnome +}: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-mpris-indicator-button-unstable"; + version = "2020-03-21"; + + src = fetchFromGitHub { + owner = "JasonLG1979"; + repo = "gnome-shell-extension-mpris-indicator-button"; + rev = "de54160e7d905b8c48c0fe30a437f7c51efc1aa3"; + sha256 = "0n5qlx51fxjq1nn10zhdwfy905j20sv7pwh2jc6fns757ac4pwwk"; + }; + + uuid = "mprisindicatorbutton@JasonLG1979.github.io"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = "gnomeExtensions.${pname}"; + }; + }; + + + meta = with lib; { + description = "A simple MPRIS indicator button for GNOME Shell"; + license = licenses.gpl3; + maintainers = with maintainers; [ worldofpeace ]; + platforms = gnome.gnome-shell.meta.platforms; + homepage = "https://github.com/JasonLG1979/gnome-shell-extension-mpris-indicator-button"; + broken = versionOlder gnome.gnome-shell.version "3.34"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix b/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix new file mode 100644 index 00000000000..fd0d2dbb578 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitLab, glib, gnome, unzip }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-night-theme-switcher"; + version = "40"; + + src = fetchFromGitLab { + owner = "rmnvgr"; + repo = "nightthemeswitcher-gnome-shell-extension"; + rev = "v${version}"; + sha256 = "0z11y18bgdc0y41hrrzzgi4lagm2cg06x12jgdnary1ycng7xja0"; + }; + + nativeBuildInputs = [ unzip ]; + buildInputs = [ glib gnome.gnome-shell ]; + + uuid = "nightthemeswitcher@romainvigier.fr"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/ + unzip build/${uuid}.shell-extension.zip -d $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "Automatically change the GTK theme to dark variant when Night Light activates"; + license = licenses.gpl3; + maintainers = with maintainers; [ jonafato ]; + homepage = "https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/no-title-bar/default.nix b/pkgs/desktops/gnome/extensions/no-title-bar/default.nix new file mode 100644 index 00000000000..ad588be18ce --- /dev/null +++ b/pkgs/desktops/gnome/extensions/no-title-bar/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchFromGitHub, substituteAll, glib, gettext, xorg }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-no-title-bar"; + version = "11"; + + src = fetchFromGitHub { + owner = "poehlerj"; + repo = "no-title-bar"; + rev = "V_${version}"; + sha256 = "07ddw47binlsbyvgy4xkdjvd40zyp7nwd17r6k7w54d50vmnwhvb"; + }; + + nativeBuildInputs = [ glib gettext ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + xprop = "${xorg.xprop}/bin/xprop"; + xwininfo = "${xorg.xwininfo}/bin/xwininfo"; + }) + ]; + + makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; + + uuid = "no-title-bar@jonaspoehler.de"; + + meta = with lib; { + description = "Integrates maximized windows with the top panel"; + homepage = "https://github.com/poehlerj/no-title-bar"; + license = licenses.gpl2; + maintainers = with maintainers; [ jonafato svsdep maxeaubrey ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/extensions/no-title-bar/fix-paths.patch b/pkgs/desktops/gnome/extensions/no-title-bar/fix-paths.patch new file mode 100644 index 00000000000..fb2d3d57e51 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/no-title-bar/fix-paths.patch @@ -0,0 +1,56 @@ +diff --git a/decoration.js b/decoration.js +index d1ff3dd..ff4193f 100644 +--- a/decoration.js ++++ b/decoration.js +@@ -223,7 +223,7 @@ var Decoration = class { + + let winId = this._guessWindowXID(win); + +- let xprops = GLib.spawn_command_line_sync(`xprop -id ${winId}`); ++ let xprops = GLib.spawn_command_line_sync(`@xprop@ -id ${winId}`); + if (!xprops[0]) { + Utils.log_debug(`Unable to determine windows '${win.get_title()}' original state`); + return win._noTitleBarOriginalState = WindowState.UNKNOWN; +@@ -237,7 +237,7 @@ var Decoration = class { + let prop = '_MOTIF_WM_HINTS'; + let value = '0x2, 0x0, %s, 0x0, 0x0'.format(hide ? '0x2' : '0x1'); + +- GLib.spawn_command_line_sync(`xprop -id ${windId} -f ${prop} 32c -set ${prop} "${value}"`); ++ GLib.spawn_command_line_sync(`@xprop@ -id ${windId} -f ${prop} 32c -set ${prop} "${value}"`); + if (!hide && !win.titlebar_is_onscreen()) { + Utils.log_debug(`Shoving titlebar onscreen for window '${win.get_title()}'`); + win.shove_titlebar_onscreen(); +@@ -354,7 +354,7 @@ var Decoration = class { + let act = win.get_compositor_private(); + let xwindow = act && act['x-window']; + if (xwindow) { +- let xwininfo = GLib.spawn_command_line_sync('xwininfo -children -id 0x%x'.format(xwindow)); ++ let xwininfo = GLib.spawn_command_line_sync('@xwininfo@ -children -id 0x%x'.format(xwindow)); + if (xwininfo[0]) { + let str = ByteArray.toString(xwininfo[1]); + +@@ -384,7 +384,7 @@ var Decoration = class { + // Try enumerating all available windows and match the title. Note that this + // may be necessary if the title contains special characters and `x-window` + // is not available. +- let result = GLib.spawn_command_line_sync('xprop -root _NET_CLIENT_LIST'); ++ let result = GLib.spawn_command_line_sync('@xprop@ -root _NET_CLIENT_LIST'); + if (result[0]) { + let str = ByteArray.toString(result[1]); + +@@ -395,7 +395,7 @@ var Decoration = class { + + // For each window ID, check if the title matches the desired title. + for (var i = 0; i < windowList.length; ++i) { +- let cmd = 'xprop -id "' + windowList[i] + '" _NET_WM_NAME _NO_TITLE_BAR_ORIGINAL_STATE'; ++ let cmd = '@xprop@ -id "' + windowList[i] + '" _NET_WM_NAME _NO_TITLE_BAR_ORIGINAL_STATE'; + let result = GLib.spawn_command_line_sync(cmd); + + if (result[0]) { +@@ -455,4 +455,4 @@ var Decoration = class { + let styleContent = this._updateUserStyles(); + GLib.file_set_contents(this._userStylesPath, styleContent); + } +-} +\ No newline at end of file ++} diff --git a/pkgs/desktops/gnome/extensions/noannoyance/default.nix b/pkgs/desktops/gnome/extensions/noannoyance/default.nix new file mode 100644 index 00000000000..4763d905755 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/noannoyance/default.nix @@ -0,0 +1,31 @@ +{ stdenv +, lib +, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "noannoyance"; + version = "unstable-2021-01-17"; + + src = fetchFromGitHub { + owner = "BjoernDaase"; + repo = "noannoyance"; + rev = "f6e76916336aee2f7c4141796f3c40c870d2b347"; + sha256 = "1iy3nif8rjjcwf83fg9ds93fi7vmhliynmlwqnx036s3msmxvgs3"; + }; + + uuid = "noannoyance@daase.net"; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp metadata.json extension.js $out/share/gnome-shell/extensions/${uuid} + ''; + + meta = with lib; { + description = "Removes the 'Window is ready' notification and puts the window into focus"; + homepage = "https://github.com/BjoernDaase/noannoyance"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ tu-maurice ]; + }; +} diff --git a/pkgs/desktops/gnome/extensions/paperwm/default.nix b/pkgs/desktops/gnome/extensions/paperwm/default.nix new file mode 100644 index 00000000000..201628b4b42 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/paperwm/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-paperwm"; + version = "38.1"; + + src = fetchFromGitHub { + owner = "paperwm"; + repo = "PaperWM"; + rev = version; + sha256 = "1jq15qrq3khqpjsjbcc17amdr1k53jkvambdacdf56xbqkycvlgs"; + }; + + uuid = "paperwm@hedning:matrix.org"; + + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r . $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "Tiled scrollable window management for Gnome Shell"; + homepage = "https://github.com/paperwm/PaperWM"; + license = licenses.gpl3; + maintainers = with maintainers; [ hedning ]; + }; +} diff --git a/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix b/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix new file mode 100644 index 00000000000..93ffcda830a --- /dev/null +++ b/pkgs/desktops/gnome/extensions/pidgin-im-integration/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, glib, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-pidgin-im-integration"; + version = "32"; + + src = fetchFromGitHub { + owner = "muffinmad"; + repo = "pidgin-im-gnome-shell-extension"; + rev = "v${version}"; + sha256 = "1jyg8r0s1v83sgg6y0jbsj2v37mglh8rvd8vi27fxnjq9xmg8kpc"; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + share_dir="$prefix/share" + extensions_dir="$share_dir/gnome-shell/extensions/pidgin@muffinmad" + mkdir -p "$extensions_dir" + mv *.js metadata.json dbus.xml schemas locale "$extensions_dir" + runHook postInstall + ''; + + uuid = "pidgin@muffinmad"; + + meta = with lib; { + homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension"; + description = "Make Pidgin IM conversations appear in the Gnome Shell message tray"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ ]; + broken = versionAtLeast gnome.gnome-shell.version "3.32"; # Doesn't support 3.34 + }; +} diff --git a/pkgs/desktops/gnome/extensions/remove-dropdown-arrows/default.nix b/pkgs/desktops/gnome/extensions/remove-dropdown-arrows/default.nix new file mode 100644 index 00000000000..e310f5dcf10 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/remove-dropdown-arrows/default.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-remove-dropdown-arrows"; + version = "13"; + + src = fetchFromGitHub { + owner = "mpdeimos"; + repo = "gnome-shell-remove-dropdown-arrows"; + rev = "version/${version}"; + sha256 = "09b2hnfbqym20pb1sfc8xiz7gs2kbs6b1s7xl8swc8dydhsbambk"; + }; + + # This package has a Makefile, but it's used for publishing and linting, not + # for building. Disable the build phase so installing doesn't attempt to + # publish the extension. + dontBuild = true; + + uuid = "remove-dropdown-arrows@mpdeimos.com"; + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp extension.js $out/share/gnome-shell/extensions/${uuid} + cp metadata.json $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "Remove dropdown arrows from GNOME Shell Menus"; + license = licenses.gpl3; + maintainers = with maintainers; [ jonafato ]; + homepage = "https://github.com/mpdeimos/gnome-shell-remove-dropdown-arrows"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix new file mode 100644 index 00000000000..e58d8ce6e42 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix @@ -0,0 +1,44 @@ +{ lib, stdenv +, substituteAll +, fetchFromGitHub +, libpulseaudio +, python3 +}: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-sound-output-device-chooser"; + version = "35"; + + src = fetchFromGitHub { + owner = "kgshank"; + repo = "gse-sound-output-device-chooser"; + rev = version; + sha256 = "sha256-Yl5ut6kJAkAAdCBiNFpwDgshXCLMmFH3/zhnFGpyKqs="; + }; + + patches = [ + # Fix paths to libpulse and python + (substituteAll { + src = ./fix-paths.patch; + libpulse = "${libpulseaudio}/lib/libpulse.so"; + python = python3.interpreter; + }) + ]; + + dontBuild = true; + + uuid = "sound-output-device-chooser@kgshank.net"; + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "GNOME Shell extension adding audio device chooser to panel"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jtojnar ]; + homepage = "https://github.com/kgshank/gse-sound-output-device-chooser"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/fix-paths.patch b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/fix-paths.patch new file mode 100644 index 00000000000..1971bf1e5e7 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/fix-paths.patch @@ -0,0 +1,26 @@ +diff --git a/sound-output-device-chooser@kgshank.net/convenience.js b/sound-output-device-chooser@kgshank.net/convenience.js +index 54ad06f..0860531 100644 +--- a/sound-output-device-chooser@kgshank.net/convenience.js ++++ b/sound-output-device-chooser@kgshank.net/convenience.js +@@ -142,7 +142,7 @@ function refreshCards() { + if (newProfLogic) { + _log("New logic"); + let pyLocation = Me.dir.get_child("utils/pa_helper.py").get_path(); +- let pythonExec = ["python", "python3", "python2"].find(cmd => isCmdFound(cmd)); ++ let pythonExec = '@python@'; + if (!pythonExec) { + _log("ERROR: Python not found. fallback to default mode"); + _settings.set_boolean(Prefs.NEW_PROFILE_ID, false); +diff --git a/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py b/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py +index c4d2484..262608d 100644 +--- a/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py ++++ b/sound-output-device-chooser@kgshank.net/utils/libpulse_introspect.py +@@ -82,7 +82,7 @@ else: + + _libraries = {} + +-libpulse_library_name = find_library('pulse') ++libpulse_library_name = '@libpulse@' + if libpulse_library_name is None: + raise Exception('No libpulse.so library found!') + diff --git a/pkgs/desktops/gnome/extensions/system-monitor/default.nix b/pkgs/desktops/gnome/extensions/system-monitor/default.nix new file mode 100644 index 00000000000..e7b5e8a1a9c --- /dev/null +++ b/pkgs/desktops/gnome/extensions/system-monitor/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-system-monitor"; + version = "unstable-2021-04-08"; + + src = fetchFromGitHub { + owner = "paradoxxxzero"; + repo = "gnome-shell-system-monitor-applet"; + rev = "942603da39de12f50b1f86efbde92d7526d1290e"; + sha256 = "0lzb7064bigw2xsqkzr8qfhp9wfmxyi3823j2782v99jpcz423aw"; + }; + + buildInputs = [ + glib + glib-networking + libgtop + ]; + + patches = [ + (substituteAll { + src = ./paths_and_nonexisting_dirs.patch; + clutter_path = gnome.mutter.libdir; # this should not be used in settings but 🤷‍♀️ + gtop_path = "${libgtop}/lib/girepository-1.0"; + glib_net_path = "${glib-networking}/lib/girepository-1.0"; + }) + ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas --targetdir=${uuid}/schemas ${uuid}/schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + uuid = "system-monitor@paradoxxx.zero.gmail.com"; + + meta = with lib; { + description = "Display system informations in gnome shell status bar"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ tiramiseb ]; + homepage = "https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/system-monitor/paths_and_nonexisting_dirs.patch b/pkgs/desktops/gnome/extensions/system-monitor/paths_and_nonexisting_dirs.patch new file mode 100644 index 00000000000..280af965af3 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/system-monitor/paths_and_nonexisting_dirs.patch @@ -0,0 +1,33 @@ +diff --git a/system-monitor@paradoxxx.zero.gmail.com/extension.js b/system-monitor@paradoxxx.zero.gmail.com/extension.js +index de5e3d7..2d7824d 100644 +--- a/system-monitor@paradoxxx.zero.gmail.com/extension.js ++++ b/system-monitor@paradoxxx.zero.gmail.com/extension.js +@@ -18,6 +18,9 @@ + + // Author: Florian Mounier aka paradoxxxzero + ++imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@'); ++imports.gi.GIRepository.Repository.prepend_search_path('@glib_net_path@'); ++ + /* Ugly. This is here so that we don't crash old libnm-glib based shells unnecessarily + * by loading the new libnm.so. Should go away eventually */ + +@@ -407,7 +410,7 @@ const smMountsMonitor = class SystemMonitor_smMountsMonitor { + this.connected = false; + + this._volumeMonitor = Gio.VolumeMonitor.get(); +- let sys_mounts = ['/home', '/tmp', '/boot', '/usr', '/usr/local']; ++ let sys_mounts = ['/home', '/tmp', '/boot']; + this.base_mounts = ['/']; + sys_mounts.forEach((sMount) => { + if (this.is_sys_mount(sMount + '/')) { +diff --git a/system-monitor@paradoxxx.zero.gmail.com/prefs.js b/system-monitor@paradoxxx.zero.gmail.com/prefs.js +index 81d667c..0da4809 100644 +--- a/system-monitor@paradoxxx.zero.gmail.com/prefs.js ++++ b/system-monitor@paradoxxx.zero.gmail.com/prefs.js +@@ -1,3 +1,5 @@ ++imports.gi.GIRepository.Repository.prepend_search_path('@clutter_path@'); ++ + const Gtk = imports.gi.Gtk; + const Gio = imports.gi.Gio; + const Gdk = imports.gi.Gdk; diff --git a/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix b/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix new file mode 100644 index 00000000000..68d07e2d142 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/taskwhisperer/default.nix @@ -0,0 +1,42 @@ +{ lib, stdenv, substituteAll, fetchFromGitHub, taskwarrior, gettext, runtimeShell }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-taskwhisperer"; + version = "16"; + + src = fetchFromGitHub { + owner = "cinatic"; + repo = "taskwhisperer"; + rev = "v${version}"; + sha256 = "05w2dfpr5vrydb7ij4nd2gb7c31nxix3j48rb798r4jzl1rakyah"; + }; + + nativeBuildInputs = [ + gettext + ]; + + buildInputs = [ + taskwarrior + ]; + + uuid = "taskwhisperer-extension@infinicode.de"; + + makeFlags = [ + "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" + ]; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + task = "${taskwarrior}/bin/task"; + shell = runtimeShell; + }) + ]; + + meta = with lib; { + description = "GNOME Shell TaskWarrior GUI"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ jonafato ]; + homepage = "https://github.com/cinatic/taskwhisperer"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch b/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch new file mode 100644 index 00000000000..2ea54f4b089 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/taskwhisperer/fix-paths.patch @@ -0,0 +1,99 @@ +diff --git a/taskwhisperer-extension@infinicode.de/extra/create.sh b/taskwhisperer-extension@infinicode.de/extra/create.sh +index a69e369..35d5ea1 100755 +--- a/taskwhisperer-extension@infinicode.de/extra/create.sh ++++ b/taskwhisperer-extension@infinicode.de/extra/create.sh +@@ -1 +1 @@ +-bash -c "task add $1" ++bash -c "@task@ add $1" +diff --git a/taskwhisperer-extension@infinicode.de/extra/modify.sh b/taskwhisperer-extension@infinicode.de/extra/modify.sh +index 7964a26..8edd21b 100755 +--- a/taskwhisperer-extension@infinicode.de/extra/modify.sh ++++ b/taskwhisperer-extension@infinicode.de/extra/modify.sh +@@ -1 +1 @@ +-bash -c "task $1 modify $2" ++bash -c "@task@ $1 modify $2" +diff --git a/taskwhisperer-extension@infinicode.de/taskService.js b/taskwhisperer-extension@infinicode.de/taskService.js +index ead7a12..aa36db4 100644 +--- a/taskwhisperer-extension@infinicode.de/taskService.js ++++ b/taskwhisperer-extension@infinicode.de/taskService.js +@@ -182,7 +182,7 @@ const TaskService = class TaskService { + + let project = projectName ? "project:" + projectName : ""; + +- let command = ['task', 'rc.json.array=on', status, project, 'export']; ++ let command = ['@task@', 'rc.json.array=on', status, project, 'export']; + let reader = new SpawnReader.SpawnReader(); + + let buffer = ""; +@@ -220,7 +220,7 @@ const TaskService = class TaskService { + break; + } + +- let shellProc = Gio.Subprocess.new(['task', status, 'projects'], Gio.SubprocessFlags.STDOUT_PIPE); ++ let shellProc = Gio.Subprocess.new(['@task@', status, 'projects'], Gio.SubprocessFlags.STDOUT_PIPE); + + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; +@@ -261,7 +261,7 @@ const TaskService = class TaskService { + return; + } + +- let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'done'], Gio.SubprocessFlags.STDOUT_PIPE); ++ let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'done'], Gio.SubprocessFlags.STDOUT_PIPE); + + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; +@@ -290,7 +290,7 @@ const TaskService = class TaskService { + return; + } + +- let shellProc = Gio.Subprocess.new(['task', 'modify', taskID.toString(), 'status:pending'], Gio.SubprocessFlags.STDOUT_PIPE); ++ let shellProc = Gio.Subprocess.new(['@task@', 'modify', taskID.toString(), 'status:pending'], Gio.SubprocessFlags.STDOUT_PIPE); + + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; +@@ -318,7 +318,7 @@ const TaskService = class TaskService { + if (!taskID) { + return; + } +- let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'start'], Gio.SubprocessFlags.STDOUT_PIPE); ++ let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'start'], Gio.SubprocessFlags.STDOUT_PIPE); + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; + shellProc.wait_finish(result); +@@ -344,7 +344,7 @@ const TaskService = class TaskService { + if (!taskID) { + return; + } +- let shellProc = Gio.Subprocess.new(['task', taskID.toString(), 'stop'], Gio.SubprocessFlags.STDOUT_PIPE); ++ let shellProc = Gio.Subprocess.new(['@task@', taskID.toString(), 'stop'], Gio.SubprocessFlags.STDOUT_PIPE); + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; + shellProc.wait_finish(result); +@@ -374,7 +374,7 @@ const TaskService = class TaskService { + // FIXME: Gio.Subprocess: due to only passing string vector is allowed, it's not possible to directly pass the + // input of the user to subprocess (why & how, if you can answer then please send msg to fh@infinicode.de) + // bypassing problem with own shell script +- let shellProc = Gio.Subprocess.new(['/bin/sh', EXTENSIONDIR + '/extra/modify.sh', taskID.toString(), params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); ++ let shellProc = Gio.Subprocess.new(['@shell@', EXTENSIONDIR + '/extra/modify.sh', taskID.toString(), params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); + + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; +@@ -403,7 +403,7 @@ const TaskService = class TaskService { + // FIXME: Gio.Subprocess: due to only passing string vector is allowed, it's not possible to directly pass the + // input of the user to subprocess (why & how, if you can answer then please send msg to fh@infinicode.de) + // bypassing problem with own shell script +- let shellProc = Gio.Subprocess.new(['/bin/sh', EXTENSIONDIR + '/extra/create.sh', params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); ++ let shellProc = Gio.Subprocess.new(['@shell@', EXTENSIONDIR + '/extra/create.sh', params], Gio.SubprocessFlags.STDOUT_PIPE + Gio.SubprocessFlags.STDERR_MERGE); + + shellProc.wait_async(null, function (obj, result) { + let shellProcExited = true; +@@ -432,7 +432,7 @@ const TaskService = class TaskService { + let shellProc; + + try { +- shellProc = Gio.Subprocess.new(['task', 'sync'], Gio.SubprocessFlags.STDOUT_PIPE); ++ shellProc = Gio.Subprocess.new(['@task@', 'sync'], Gio.SubprocessFlags.STDOUT_PIPE); + } catch (err) { + onError(err); + return; diff --git a/pkgs/desktops/gnome/extensions/tilingnome/default.nix b/pkgs/desktops/gnome/extensions/tilingnome/default.nix new file mode 100644 index 00000000000..c1ca77d9d73 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/tilingnome/default.nix @@ -0,0 +1,38 @@ +{ stdenv, lib, fetchFromGitHub, glib, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-tilingnome-unstable"; + version = "unstable-2019-09-19"; + + src = fetchFromGitHub { + owner = "rliang"; + repo = "gnome-shell-extension-tilingnome"; + rev = "f401c20c9721d85e6b3e30d1e822a200db370407"; + sha256 = "1hq9g9bxqpzqrdj9zm0irld8r6q4w1m4b00jya7wsny8rzb1s0y2"; + }; + + nativeBuildInputs = [ glib ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas . + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r * $out/share/gnome-shell/extensions/${uuid}/ + runHook postInstall + ''; + + uuid = "tilingnome@rliang.github.com"; + + meta = with lib; { + description = "Tiling window management for GNOME Shell"; + license = licenses.gpl2; + maintainers = with maintainers; [ benley ]; + homepage = "https://github.com/rliang/gnome-shell-extension-tilingnome"; + platforms = gnome.gnome-shell.meta.platforms; + }; +} diff --git a/pkgs/desktops/gnome/extensions/timepp/default.nix b/pkgs/desktops/gnome/extensions/timepp/default.nix new file mode 100644 index 00000000000..cb4234a2513 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/timepp/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-timepp"; + version = "unstable-2020-03-15"; + + src = fetchFromGitHub { + owner = "zagortenay333"; + repo = "timepp__gnome"; + rev = "34ae477a51267cc1e85992a80cf85a1a7b7005c1"; + sha256 = "1v0xbrp0x5dwizscxh7h984pax4n92bj8iyw3qvjk27ynpxq8ag1"; + }; + + uuid = "timepp@zagortenay333"; + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/${uuid} + cp -r . $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarms gnome-shell extension."; + homepage = "https://github.com/zagortenay333/timepp__gnome"; + license = licenses.gpl3; + maintainers = with maintainers; [ svsdep ]; + }; +} diff --git a/pkgs/desktops/gnome/extensions/topicons-plus/default.nix b/pkgs/desktops/gnome/extensions/topicons-plus/default.nix new file mode 100644 index 00000000000..084548e1a10 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/topicons-plus/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub, glib, gettext }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-topicons-plus"; + version = "27"; + + src = fetchFromGitHub { + owner = "phocean"; + repo = "TopIcons-plus"; + rev = version; + sha256 = "1p3jlvs4zgnrvy8am7myivv4rnnshjp49kg87rd22qqyvcz51ykr"; + }; + + buildInputs = [ glib ]; + + nativeBuildInputs = [ gettext ]; + + makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ]; + + uuid = "TopIcons@phocean.net"; + + meta = with lib; { + description = "Brings all icons back to the top panel, so that it's easier to keep track of apps running in the backround"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ eperuffo ]; + homepage = "https://github.com/phocean/TopIcons-plus"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/unite/default.nix b/pkgs/desktops/gnome/extensions/unite/default.nix new file mode 100644 index 00000000000..1fbd31ec10a --- /dev/null +++ b/pkgs/desktops/gnome/extensions/unite/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, gnome, fetchFromGitHub, xprop, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-unite"; + version = "53"; + + src = fetchFromGitHub { + owner = "hardpixel"; + repo = "unite-shell"; + rev = "v${version}"; + sha256 = "0fw9wqf362h2yd67fhgbhqx0b2fwcl25wxmb92dqwigxjcj0dnw6"; + }; + + uuid = "unite@hardpixel.eu"; + + nativeBuildInputs = [ glib ]; + + buildInputs = [ xprop ]; + + buildPhase = '' + runHook preBuild + glib-compile-schemas --strict --targetdir=${uuid}/schemas/ ${uuid}/schemas + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ rhoriguchi ]; + homepage = "https://github.com/hardpixel/unite-shell"; + broken = versionOlder gnome.gnome-shell.version "3.32"; + }; +} diff --git a/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix b/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix new file mode 100644 index 00000000000..0e71345bb8a --- /dev/null +++ b/pkgs/desktops/gnome/extensions/window-corner-preview/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchFromGitHub, gnome }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-window-corner-preview"; + version = "unstable-2019-04-03"; + + src = fetchFromGitHub { + owner = "medenagan"; + repo = "window-corner-preview"; + rev = "a95bb1389d94474efab7509aac592fb58fff6006"; + sha256 = "03v18j9l0fb64xrg3swf1vcgl0kpgwjlp8ddn068bpvghrsvgfah"; + }; + + dontBuild = true; + + uuid = "window-corner-preview@fabiomereu.it"; + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "GNOME Shell extension showing a video preview on the corner of the screen"; + license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; + homepage = "https://github.com/medenagan/window-corner-preview"; + broken = lib.versionAtLeast gnome.gnome-shell.version "3.32"; # Doesn't support 3.34 + }; +} diff --git a/pkgs/desktops/gnome/extensions/window-is-ready-remover/default.nix b/pkgs/desktops/gnome/extensions/window-is-ready-remover/default.nix new file mode 100644 index 00000000000..3f0e9e71b57 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/window-is-ready-remover/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-window-is-ready-remover"; + version = "1.02"; + + src = fetchFromGitHub { + owner = "nunofarruca"; + repo = "WindowIsReady_Remover"; + rev = "v${version}"; + sha256 = "1xaf95gn0if44avvkjxyf8fl29y28idn9shnrks0m9k67jcwv8ns"; + }; + + uuid = "windowIsReady_Remover@nunofarruca@gmail.com"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions/ + cp -r ${uuid} $out/share/gnome-shell/extensions/${uuid} + runHook postInstall + ''; + + meta = with lib; { + description = "GNOME Shell extension removing window is ready notification"; + homepage = "https://github.com/nunofarruca/WindowIsReady_Remover"; + license = licenses.asl20; + }; +} diff --git a/pkgs/desktops/gnome/extensions/workspace-matrix/default.nix b/pkgs/desktops/gnome/extensions/workspace-matrix/default.nix new file mode 100644 index 00000000000..eb1d6e7e319 --- /dev/null +++ b/pkgs/desktops/gnome/extensions/workspace-matrix/default.nix @@ -0,0 +1,36 @@ +{ lib, stdenv, fetchFromGitHub, findutils, glib }: + +stdenv.mkDerivation rec { + pname = "gnome-shell-extension-workspace-matrix"; + version = "4.0.2"; + + src = fetchFromGitHub { + owner = "mzur"; + repo = "gnome-shell-wsmatrix"; + rev = "v${version}"; + sha256 = "0dbn6b3fdd7yblk0mhsmaiqs3mwgcf3khkx1dsnlqn5hcs0a3myd"; + }; + + uuid = "wsmatrix@martin.zurowietz.de"; + + nativeBuildInputs = [ + findutils + glib + ]; + + buildFlags = "schemas"; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/gnome-shell/extensions + cp -r ${uuid} $out/share/gnome-shell/extensions + runHook postInstall + ''; + + meta = with lib; { + description = "Arrange workspaces in a two dimensional grid with workspace thumbnails"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ chkno ]; + homepage = "https://github.com/mzur/gnome-shell-wsmatrix"; + }; +} diff --git a/pkgs/desktops/gnome/find-latest-version.py b/pkgs/desktops/gnome/find-latest-version.py new file mode 100644 index 00000000000..3078999e3e5 --- /dev/null +++ b/pkgs/desktops/gnome/find-latest-version.py @@ -0,0 +1,89 @@ +import argparse +import math +import json +import requests +import sys +from libversion import Version +from typing import Optional + + +def version_to_list(version): + return list(map(int, version.split("."))) + + +def odd_unstable(version: Version, selected): + try: + version = version_to_list(version.value) + except: + # Failing to parse as a list of numbers likely means the version contains a string tag like “beta”, therefore it is not a stable release. + return selected != "stable" + + if len(version) < 2: + return True + + even = version[1] % 2 == 0 + prerelease = (version[1] >= 90 and version[1] < 100) or (version[1] >= 900 and version[1] < 1000) + stable = even and not prerelease + if selected == "stable": + return stable + else: + return True + + +def tagged(version: Version, selected): + if selected == "stable": + return not ("alpha" in version.value or "beta" in version.value or "rc" in version.value) + else: + return True + + +def no_policy(version: Version, selected): + return True + + +version_policies = { + "odd-unstable": odd_unstable, + "tagged": tagged, + "none": no_policy, +} + + +def make_version_policy(version_predicate, selected, upper_bound: Optional[Version]): + if not upper_bound: + return lambda version: version_predicate(version, selected) + else: + return lambda version: version_predicate(version, selected) and version < upper_bound + + +parser = argparse.ArgumentParser(description="Find latest version for a GNOME package by crawling their release server.") +parser.add_argument("package-name", help="Name of the directory in https://ftp.gnome.org/pub/GNOME/sources/ containing the package.") +parser.add_argument("version-policy", help="Policy determining which versions are considered stable. GNOME packages usually denote stability by alpha/beta/rc tag in the version. For older packages, odd minor versions are unstable but there are exceptions.", choices=version_policies.keys(), nargs="?", default="tagged") +parser.add_argument("requested-release", help="Most of the time, we will want to update to stable version but sometimes it is useful to test.", choices=["stable", "unstable"], nargs="?", default="stable") +parser.add_argument("--upper-bound", dest="upper-bound", help="Only look for versions older than this one (useful for pinning dependencies).") + + +if __name__ == "__main__": + args = parser.parse_args() + + package_name = getattr(args, "package-name") + requested_release = getattr(args, "requested-release") + upper_bound = getattr(args, "upper-bound") + if upper_bound: + upper_bound = Version(upper_bound) + version_predicate = version_policies[getattr(args, "version-policy")] + version_policy = make_version_policy(version_predicate, requested_release, upper_bound) + + # The structure of cache.json: https://gitlab.gnome.org/Infrastructure/sysadmin-bin/blob/master/ftpadmin#L762 + cache = json.loads(requests.get(f"https://ftp.gnome.org/pub/GNOME/sources/{package_name}/cache.json").text) + if type(cache) != list or cache[0] != 4: + print("Unknown format of cache.json file.", file=sys.stderr) + sys.exit(1) + + versions = map(Version, cache[2][package_name]) + versions = sorted(filter(version_policy, versions)) + + if len(versions) == 0: + print("No versions matched.", file=sys.stderr) + sys.exit(1) + + print(versions[-1].value) diff --git a/pkgs/desktops/gnome/games/aisleriot/default.nix b/pkgs/desktops/gnome/games/aisleriot/default.nix new file mode 100644 index 00000000000..8893846698e --- /dev/null +++ b/pkgs/desktops/gnome/games/aisleriot/default.nix @@ -0,0 +1,77 @@ +{ lib, stdenv +, fetchFromGitLab +, pkg-config +, gnome +, itstool +, gtk3 +, wrapGAppsHook +, meson +, librsvg +, libxml2 +, desktop-file-utils +, pysolfc +, guile +, libcanberra-gtk3 +, ninja +, appstream-glib +, yelp-tools +}: + +stdenv.mkDerivation rec { + pname = "aisleriot"; + version = "3.22.13"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = version; + sha256 = "05k84bbgrrxchxg08l1jjcz384kpjdmxd24g0wnf731aa9zcnp5k"; + }; + + nativeBuildInputs = [ + wrapGAppsHook + meson + ninja + appstream-glib + pkg-config + itstool + libxml2 + desktop-file-utils + yelp-tools + ]; + + buildInputs = [ + gtk3 + librsvg + guile + libcanberra-gtk3 + pysolfc + ]; + + prePatch = '' + patchShebangs cards/meson_svgz.sh + patchShebangs data/meson_desktopfile.py + patchShebangs data/icons/meson_updateiconcache.py + patchShebangs src/lib/meson_compileschemas.py + ''; + + mesonFlags = [ + "-Dtheme_kde=false" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Aisleriot"; + description = "A collection of patience games written in guile scheme"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/atomix/default.nix b/pkgs/desktops/gnome/games/atomix/default.nix new file mode 100644 index 00000000000..43d9aaa7680 --- /dev/null +++ b/pkgs/desktops/gnome/games/atomix/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wrapGAppsHook, python3 +, gettext, gnome, glib, gtk3, libgnome-games-support, gdk-pixbuf }: + +let + pname = "atomix"; + version = "3.34.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0h909a4mccf160hi0aimyicqhq2b0gk1dmqp7qwf87qghfrw6m00"; + }; + + nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook python3 ]; + buildInputs = [ glib gtk3 gdk-pixbuf libgnome-games-support gnome.adwaita-icon-theme ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Puzzle game where you move atoms to build a molecule"; + homepage = "https://wiki.gnome.org/Apps/Atomix"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/five-or-more/default.nix b/pkgs/desktops/gnome/games/five-or-more/default.nix new file mode 100644 index 00000000000..f01d137979e --- /dev/null +++ b/pkgs/desktops/gnome/games/five-or-more/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome, gtk3, wrapGAppsHook +, librsvg, libgnome-games-support, gettext, itstool, libxml2, python3, vala }: + +stdenv.mkDerivation rec { + pname = "five-or-more"; + version = "3.32.2"; + + src = fetchurl { + url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"; + }; + + nativeBuildInputs = [ + meson ninja pkg-config gettext itstool libxml2 python3 wrapGAppsHook + vala + ]; + buildInputs = [ + gtk3 librsvg libgnome-games-support gnome.adwaita-icon-theme + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "five-or-more"; + attrPath = "gnome.five-or-more"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Five_or_more"; + description = "Remove colored balls from the board by forming lines"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/four-in-a-row/default.nix b/pkgs/desktops/gnome/games/four-in-a-row/default.nix new file mode 100644 index 00000000000..2c6899ee1aa --- /dev/null +++ b/pkgs/desktops/gnome/games/four-in-a-row/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, gettext, meson, gsound, librsvg, itstool, vala +, python3, ninja, desktop-file-utils }: + +stdenv.mkDerivation rec { + pname = "four-in-a-row"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/four-in-a-row/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "10ji60bdfdzb6wk5dkwjc3yww7hqi3yjcx1k1z7x2521h2dpdli1"; + }; + + nativeBuildInputs = [ + pkg-config wrapGAppsHook gettext meson itstool vala + ninja python3 desktop-file-utils + ]; + buildInputs = [ gtk3 gsound librsvg gnome.adwaita-icon-theme ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "four-in-a-row"; + attrPath = "gnome.four-in-a-row"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Four-in-a-row"; + description = "Make lines of the same color to win"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-chess/default.nix b/pkgs/desktops/gnome/games/gnome-chess/default.nix new file mode 100644 index 00000000000..c632bce407b --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-chess/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, vala +, pkg-config +, wrapGAppsHook4 +, gobject-introspection +, gettext +, itstool +, libxml2 +, python3 +, gnome +, glib +, gtk4 +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "gnome-chess"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "132nc96z0bryyi9d5gljsbwsa71rl8wm5w57jbhpwiv4fyjhgybk"; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + gettext + itstool + libxml2 + python3 + wrapGAppsHook4 + gobject-introspection + ]; + + buildInputs = [ + glib + gtk4 + librsvg + gnome.adwaita-icon-theme + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-chess"; + attrPath = "gnome.gnome-chess"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Chess"; + description = "Play the classic two-player boardgame of chess"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-klotski/default.nix b/pkgs/desktops/gnome/games/gnome-klotski/default.nix new file mode 100644 index 00000000000..bb4cdae8fa3 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-klotski/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchurl, pkg-config, vala, gnome, gtk3, wrapGAppsHook, appstream-glib, desktop-file-utils +, glib, librsvg, libxml2, gettext, itstool, libgee, libgnome-games-support +, meson, ninja, python3 +}: + +let + pname = "gnome-klotski"; + version = "3.38.2"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1qm01hdd5yp8chig62bj10912vclbdvywwczs84sfg4zci2phqwi"; + }; + + nativeBuildInputs = [ + pkg-config vala meson ninja python3 wrapGAppsHook + gettext itstool libxml2 appstream-glib desktop-file-utils + gnome.adwaita-icon-theme + ]; + buildInputs = [ glib gtk3 librsvg libgee libgnome-games-support ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Klotski"; + description = "Slide blocks to solve the puzzle"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix b/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix new file mode 100644 index 00000000000..7ef68e470e1 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, librsvg, gettext, itstool, libxml2 +, meson, ninja, glib, vala, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-mahjongg"; + version = "3.38.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-mahjongg/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj"; + }; + + nativeBuildInputs = [ + meson ninja vala desktop-file-utils + pkg-config gnome.adwaita-icon-theme + libxml2 itstool gettext wrapGAppsHook + glib # for glib-compile-schemas + ]; + buildInputs = [ + glib + gtk3 + librsvg + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Mahjongg"; + description = "Disassemble a pile of tiles by removing matching pairs"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-mines/default.nix b/pkgs/desktops/gnome/games/gnome-mines/default.nix new file mode 100644 index 00000000000..6a7168badbf --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-mines/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, meson, ninja, vala, gobject-introspection, pkg-config, gnome, gtk3, wrapGAppsHook +, librsvg, gettext, itstool, python3, libxml2, libgnome-games-support, libgee, desktop-file-utils }: + +stdenv.mkDerivation rec { + pname = "gnome-mines"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z"; + }; + + # gobject-introspection for finding vapi files + nativeBuildInputs = [ + meson ninja vala gobject-introspection pkg-config gettext itstool python3 + libxml2 wrapGAppsHook desktop-file-utils + ]; + buildInputs = [ gtk3 librsvg gnome.adwaita-icon-theme libgnome-games-support libgee ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-mines"; + attrPath = "gnome.gnome-mines"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Mines"; + description = "Clear hidden mines from a minefield"; + maintainers = teams.gnome.members; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-nibbles/default.nix b/pkgs/desktops/gnome/games/gnome-nibbles/default.nix new file mode 100644 index 00000000000..34b50f2244f --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-nibbles/default.nix @@ -0,0 +1,84 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, gsound +, clutter-gtk +, gettext +, itstool +, vala +, python3 +, libxml2 +, libgee +, libgnome-games-support +, meson +, ninja +, desktop-file-utils +, hicolor-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "gnome-nibbles"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-nibbles/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1naknfbciydbym79a0jq039xf0033z8gyln48c0qsbcfr2qn8yj5"; + }; + + patches = [ + # Fix build with recent Vala. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-nibbles/-/commit/62964e9256fcac616109af874dbb2bd8342a9853.patch"; + sha256 = "4VijELRxycS8rwi1HU9U3h9K/VtdQjJntfdtMN9Uz34="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-nibbles/-/commit/1b48446068608aff9b5edf1fdbd4b8c0d9f0be94.patch"; + sha256 = "X0+Go5ae4F06WTPDYc2HIIax8X4RDgUGO6A6Qp8UifQ="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + vala + python3 + pkg-config + wrapGAppsHook + gettext + itstool + libxml2 + desktop-file-utils + hicolor-icon-theme + ]; + + buildInputs = [ + gtk3 + librsvg + gsound + clutter-gtk + gnome.adwaita-icon-theme + libgee + libgnome-games-support + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-nibbles"; + attrPath = "gnome.gnome-nibbles"; + }; + }; + + meta = with lib; { + description = "Guide a worm around a maze"; + homepage = "https://wiki.gnome.org/Apps/Nibbles"; + license = licenses.gpl2; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-robots/default.nix b/pkgs/desktops/gnome/games/gnome-robots/default.nix new file mode 100644 index 00000000000..c9f7cbfc213 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-robots/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, gsound +, gettext +, itstool +, libxml2 +, libgnome-games-support +, libgee +, meson +, ninja +, vala +, python3 +, desktop-file-utils +, adwaita-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "gnome-robots"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-robots/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "04fbykj576dq1h6cycgfhh8wd6yxmlsqykvj188sbwahay42zgvg"; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + vala + python3 + libxml2 + wrapGAppsHook + gettext + itstool + desktop-file-utils + ]; + + buildInputs = [ + gtk3 + librsvg + gsound + libgnome-games-support + libgee + adwaita-icon-theme + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-robots"; + attrPath = "gnome.gnome-robots"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Robots"; + description = "Avoid the robots and make them crash into each other"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix new file mode 100644 index 00000000000..3bd0ec3b3cd --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchurl, meson, ninja, vala, pkg-config, gobject-introspection, gettext, gtk3, gnome, wrapGAppsHook +, libgee, json-glib, qqwing, itstool, libxml2, python3, desktop-file-utils }: + +stdenv.mkDerivation rec { + pname = "gnome-sudoku"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1nr1g4q1gxqbzmaz15y3zgssnj7w01cq9l422ja4rglyg0fwjhbm"; + }; + + nativeBuildInputs = [ meson ninja vala pkg-config gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ]; + buildInputs = [ gtk3 libgee json-glib qqwing ]; + + postPatch = '' + chmod +x build-aux/post_install.py + patchShebangs build-aux/post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-sudoku"; + attrPath = "gnome.gnome-sudoku"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Sudoku"; + description = "Test your logic skills in this number grid puzzle"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-taquin/default.nix b/pkgs/desktops/gnome/games/gnome-taquin/default.nix new file mode 100644 index 00000000000..c3e78ff2014 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-taquin/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, gsound +, gettext +, itstool +, libxml2 +, meson +, ninja +, vala +, python3 +, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-taquin"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-taquin/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0kw131q0ad0rbsp6qifjc8fjlhvjxyihil8a76kj8ya9mn7kvnwn"; + }; + + patches = [ + # Fix build with recent Vala. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-taquin/-/commit/99dea5e7863e112f33f16e59898c56a4f1a547b3.patch"; + sha256 = "U7djuMhb1XJaKAPyogQjaunOkbBK24r25YD7BgH05P4="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-taquin/-/commit/66be44dc20d114e449fc33156e3939fd05dfbb16.patch"; + sha256 = "RN41RCLHlJyXTARSH9qjsmpYi1UFeMRssoYxRsbngDQ="; + }) + ]; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook + meson + ninja + python3 + gettext + itstool + libxml2 + vala + desktop-file-utils + ]; + buildInputs = [ + gtk3 + librsvg + gsound + gnome.adwaita-icon-theme + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-taquin"; + attrPath = "gnome.gnome-taquin"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Taquin"; + description = "Move tiles so that they reach their places"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-tetravex/default.nix b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix new file mode 100644 index 00000000000..a1cdf98d9a1 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, libxml2, gettext, itstool, meson, ninja, python3 +, vala, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-tetravex"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-tetravex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06wihvqp2p52zd2dnknsc3rii69qib4a30yp15h558xrg44z3k8z"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "gnome-tetravex"; attrPath = "gnome.gnome-tetravex"; }; + }; + + nativeBuildInputs = [ + wrapGAppsHook itstool libxml2 gnome.adwaita-icon-theme + pkg-config gettext meson ninja python3 vala desktop-file-utils + ]; + buildInputs = [ + gtk3 + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Tetravex"; + description = "Complete the puzzle by matching numbered tiles"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/hitori/default.nix b/pkgs/desktops/gnome/games/hitori/default.nix new file mode 100644 index 00000000000..1dc07bae26b --- /dev/null +++ b/pkgs/desktops/gnome/games/hitori/default.nix @@ -0,0 +1,66 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, glib +, gtk3 +, cairo +, wrapGAppsHook +, libxml2 +, python3 +, gettext +, itstool +, desktop-file-utils +, adwaita-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "hitori"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/hitori/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "Ar0sQh1OIYAmVxToVL0S79PG0Vbd8h95599gAR1OQYQ="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + desktop-file-utils + libxml2 + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + cairo + adwaita-icon-theme + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Hitori"; + description = "GTK application to generate and let you play games of Hitori"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/iagno/default.nix b/pkgs/desktops/gnome/games/iagno/default.nix new file mode 100644 index 00000000000..d7e3930eae1 --- /dev/null +++ b/pkgs/desktops/gnome/games/iagno/default.nix @@ -0,0 +1,77 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gtk3 +, gnome +, gdk-pixbuf +, librsvg +, wrapGAppsHook +, itstool +, gsound +, libxml2 +, meson +, ninja +, python3 +, vala +, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "iagno"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/iagno/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "097dw1l92l73xah9l56ka5mi3dvx48ffpiv33ni5i5rqw0ng7fc4"; + }; + + patches = [ + # Fix build with recent Vala. + # https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/15 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/iagno/-/commit/e8a0aeec350ea80349582142c0e8e3cd3f1bce38.patch"; + sha256 = "OO1x0Yx56UFzHTBsPAMYAjnJHlnTjdO1Vk7q6XU8wKQ="; + }) + # https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/13 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/iagno/-/commit/508c0f94e5f182e50ff61be6e04f72574dee97cb.patch"; + sha256 = "U7djuMhb1XJaKAPyogQjaunOkbBK24r25YD7BgH05P4="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + python3 + vala + desktop-file-utils + pkg-config + wrapGAppsHook + itstool + libxml2 + ]; + + buildInputs = [ + gtk3 + gnome.adwaita-icon-theme + gdk-pixbuf + librsvg + gsound + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "iagno"; + attrPath = "gnome.iagno"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Iagno"; + description = "Computer version of the game Reversi, more popularly called Othello"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/lightsoff/default.nix b/pkgs/desktops/gnome/games/lightsoff/default.nix new file mode 100644 index 00000000000..94b71f0e856 --- /dev/null +++ b/pkgs/desktops/gnome/games/lightsoff/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, vala, pkg-config, gtk3, gnome, gdk-pixbuf, librsvg, wrapGAppsHook +, gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib +, meson, ninja, python3 }: + +stdenv.mkDerivation rec { + pname = "lightsoff"; + version = "40.0.1"; + + src = fetchurl { + url = "mirror://gnome/sources/lightsoff/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1aziy64g15bm83zfn3ifs20z9yvscdvsxbx132xnq77i0r3qvlxc"; + }; + + nativeBuildInputs = [ + vala pkg-config wrapGAppsHook itstool gettext appstream-glib libxml2 + meson ninja python3 + ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme gdk-pixbuf librsvg clutter clutter-gtk ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "lightsoff"; + attrPath = "gnome.lightsoff"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Lightsoff"; + description = "Puzzle game, where the objective is to turn off all of the tiles on the board"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/quadrapassel/default.nix b/pkgs/desktops/gnome/games/quadrapassel/default.nix new file mode 100644 index 00000000000..d54c49eafee --- /dev/null +++ b/pkgs/desktops/gnome/games/quadrapassel/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome, gdk-pixbuf +, librsvg, gsound, libmanette +, gettext, itstool, libxml2, clutter, clutter-gtk, wrapGAppsHook +, meson, ninja, python3, vala, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "quadrapassel"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "033plabc6q3sk6qjr5nml8z6p07vcw57gxddxjk9b65wgg0rzzhr"; + }; + + nativeBuildInputs = [ + meson ninja python3 vala desktop-file-utils + pkg-config gnome.adwaita-icon-theme + libxml2 itstool gettext wrapGAppsHook + ]; + buildInputs = [ + gtk3 gdk-pixbuf librsvg libmanette + gsound clutter libxml2 clutter-gtk + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Classic falling-block game, Tetris"; + homepage = "https://wiki.gnome.org/Apps/Quadrapassel"; + license = licenses.gpl2; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/swell-foop/default.nix b/pkgs/desktops/gnome/games/swell-foop/default.nix new file mode 100644 index 00000000000..50fab598153 --- /dev/null +++ b/pkgs/desktops/gnome/games/swell-foop/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, vala +, glib +, gtk3 +, libgnome-games-support +, gnome +, desktop-file-utils +, clutter +, clutter-gtk +, gettext +, itstool +, libxml2 +, wrapGAppsHook +, python3 +}: + +stdenv.mkDerivation rec { + pname = "swell-foop"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "17r4b0g8s7z872wdd7ngk248z7fqx43vm2sym1bdqhzsi250s1y1"; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + wrapGAppsHook + python3 + itstool + gettext + libxml2 + desktop-file-utils + ]; + + buildInputs = [ + glib + gtk3 + libgnome-games-support + gnome.adwaita-icon-theme + clutter + clutter-gtk + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Swell%20Foop"; + description = "Puzzle game, previously known as Same GNOME"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix new file mode 100644 index 00000000000..3e2abc87304 --- /dev/null +++ b/pkgs/desktops/gnome/games/tali/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome, gdk-pixbuf +, librsvg, libgnome-games-support, gettext, itstool, libxml2, wrapGAppsHook +, meson, ninja, python3, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "tali"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "19gic6yjg3bg6jf87zvhm7ihsz1y58dz86p4x3a16xdhjyrk40q2"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "tali"; attrPath = "gnome.tali"; }; + }; + + nativeBuildInputs = [ + meson ninja python3 desktop-file-utils + pkg-config gnome.adwaita-icon-theme + libxml2 itstool gettext wrapGAppsHook + ]; + buildInputs = [ gtk3 gdk-pixbuf librsvg libgnome-games-support ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Tali"; + description = "Sort of poker with dice and less money"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/installer.nix b/pkgs/desktops/gnome/installer.nix new file mode 100644 index 00000000000..4999e1f3343 --- /dev/null +++ b/pkgs/desktops/gnome/installer.nix @@ -0,0 +1,15 @@ +{ isoBaseName ? "nixos-graphical-gnome", system ? builtins.currentSystem +, extraModules ? [] }: + +let + + module = ../../../../nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix; + + config = (import ../../../../nixos/lib/eval-config.nix { + inherit system; + modules = [ module { isoImage.isoBaseName = isoBaseName; } ] ++ extraModules; + }).config; + +in + config.system.build.isoImage + diff --git a/pkgs/desktops/gnome/misc/geary/default.nix b/pkgs/desktops/gnome/misc/geary/default.nix new file mode 100644 index 00000000000..a40cd30eb8d --- /dev/null +++ b/pkgs/desktops/gnome/misc/geary/default.nix @@ -0,0 +1,160 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gtk3 +, vala +, enchant2 +, wrapGAppsHook +, meson +, ninja +, desktop-file-utils +, gnome-online-accounts +, gsettings-desktop-schemas +, adwaita-icon-theme +, libpeas +, libsecret +, gmime3 +, isocodes +, icu +, libxml2 +, gettext +, sqlite +, gcr +, json-glib +, itstool +, libgee +, gnome +, webkitgtk +, python3 +, gnutls +, cacert +, xvfb_run +, glibcLocales +, dbus +, shared-mime-info +, libunwind +, folks +, glib-networking +, gobject-introspection +, gspell +, appstream-glib +, libstemmer +, libytnef +, libhandy +, gsound +}: + +stdenv.mkDerivation rec { + pname = "geary"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1c2nd35500ng28223y5pszc7fh8g16njj34f6p5xc9594lvj0mik"; + }; + + nativeBuildInputs = [ + appstream-glib + desktop-file-utils + gettext + gobject-introspection + itstool + libxml2 + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + adwaita-icon-theme + enchant2 + folks + gcr + glib-networking + gmime3 + gnome-online-accounts + gsettings-desktop-schemas + gsound + gspell + gtk3 + isocodes + icu + json-glib + libgee + libhandy + libpeas + libsecret + libunwind + libstemmer + libytnef + sqlite + webkitgtk + ]; + + checkInputs = [ + dbus + gnutls # for certtool + cacert # trust store for glib-networking + xvfb_run + glibcLocales # required by Geary.ImapDb.DatabaseTest/utf8_case_insensitive_collation + ]; + + mesonFlags = [ + "-Dprofile=release" + "-Dcontractor=enabled" # install the contractor file (Pantheon specific) + ]; + + # NOTE: Remove `build-auxyaml_to_json.py` when no longer needed, see: + # https://gitlab.gnome.org/GNOME/geary/commit/f7f72143e0f00ca5e0e6a798691805c53976ae31#0cc1139e3347f573ae1feee5b73dbc8a8a21fcfa + postPatch = '' + chmod +x build-aux/post_install.py build-aux/git_version.py + + patchShebangs build-aux/post_install.py build-aux/git_version.py + + chmod +x build-aux/yaml_to_json.py + patchShebangs build-aux/yaml_to_json.py + + chmod +x desktop/geary-attach + ''; + + # Some tests time out. + doCheck = false; + + checkPhase = '' + runHook preCheck + + NO_AT_BRIDGE=1 \ + GIO_EXTRA_MODULES=$GIO_EXTRA_MODULES:${glib-networking}/lib/gio/modules \ + HOME=$TMPDIR \ + XDG_DATA_DIRS=$XDG_DATA_DIRS:${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${shared-mime-info}/share:${folks}/share/gsettings-schemas/${folks.name} \ + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ + meson test -v --no-stdsplit + + runHook postCheck + ''; + + preFixup = '' + # Add geary to path for geary-attach + gappsWrapperArgs+=(--prefix PATH : "$out/bin") + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Geary"; + description = "Mail client for GNOME 3"; + maintainers = teams.gnome.members; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/misc/gitg/default.nix b/pkgs/desktops/gnome/misc/gitg/default.nix new file mode 100644 index 00000000000..8f73bdaeb7d --- /dev/null +++ b/pkgs/desktops/gnome/misc/gitg/default.nix @@ -0,0 +1,95 @@ +{ lib +, stdenv +, fetchurl +, vala +, gettext +, pkg-config +, gtk3 +, glib +, json-glib +, wrapGAppsHook +, libpeas +, bash +, gobject-introspection +, libsoup +, gtksourceview +, gsettings-desktop-schemas +, adwaita-icon-theme +, gnome +, gtkspell3 +, shared-mime-info +, libgee +, libgit2-glib +, libsecret +, meson +, ninja +, python3 +, libdazzle +}: + +stdenv.mkDerivation rec { + pname = "gitg"; + version = "3.32.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"; + }; + + nativeBuildInputs = [ + gobject-introspection + gettext + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook + ]; + + buildInputs = [ + adwaita-icon-theme + glib + gsettings-desktop-schemas + gtk3 + gtksourceview + gtkspell3 + json-glib + libdazzle + libgee + libgit2-glib + libpeas + libsecret + libsoup + ]; + + doCheck = false; # FAIL: tests-gitg gtk_style_context_add_provider_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + + substituteInPlace tests/libgitg/test-commit.vala --replace "/bin/bash" "${bash}/bin/bash" + ''; + + preFixup = '' + gappsWrapperArgs+=( + # Thumbnailers + --prefix XDG_DATA_DIRS : "${shared-mime-info}/share" + ) + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Gitg"; + description = "GNOME GUI client to view git repositories"; + maintainers = with maintainers; [ domenkozar ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/misc/gnome-applets/default.nix b/pkgs/desktops/gnome/misc/gnome-applets/default.nix new file mode 100644 index 00000000000..d414266a9d9 --- /dev/null +++ b/pkgs/desktops/gnome/misc/gnome-applets/default.nix @@ -0,0 +1,80 @@ +{ lib, stdenv +, fetchurl +, gettext +, itstool +, libxml2 +, pkg-config +, gnome-panel +, gtk3 +, glib +, libwnck3 +, libgtop +, libnotify +, upower +, wirelesstools +, linuxPackages +, adwaita-icon-theme +, libgweather +, gucharmap +, tracker +, polkit +, gnome +}: + +stdenv.mkDerivation rec { + pname = "gnome-applets"; + version = "3.40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1k6mdkg16ia29fyg8ikf4dfs51gnrmg0f8xwpvd3192lhfsbsh19"; + }; + + nativeBuildInputs = [ + gettext + itstool + pkg-config + libxml2 + ]; + + buildInputs = [ + gnome-panel + gtk3 + glib + libxml2 + libwnck3 + libgtop + libnotify + upower + adwaita-icon-theme + libgweather + gucharmap + tracker + polkit + wirelesstools + linuxPackages.cpupower + ]; + + enableParallelBuilding = true; + + doCheck = true; + + # Don't try to install modules to gnome panel's directory, as it's read only + PKG_CONFIG_LIBGNOME_PANEL_MODULESDIR = "${placeholder "out"}/lib/gnome-panel/modules"; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + versionPolicy = "odd-unstable"; + }; + }; + + meta = with lib; { + description = "Applets for use with the GNOME panel"; + homepage = "https://wiki.gnome.org/Projects/GnomeApplets"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix new file mode 100644 index 00000000000..8a74c05dfea --- /dev/null +++ b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix @@ -0,0 +1,48 @@ +{ lib, stdenv +, fetchurl +, pkg-config +, gnome +, gtk3 +, glib +, gobject-introspection +, libarchive +, vala +}: + +stdenv.mkDerivation rec { + pname = "gnome-autoar"; + version = "0.3.2"; + + outputs = [ "out" "dev" ]; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0wkwix44yg126xn1v4f2j60bv9yiyadfpzf8ifx0bvd9x5f4v354"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "gnome-autoar"; attrPath = "gnome.gnome-autoar"; }; + }; + + nativeBuildInputs = [ + gobject-introspection + pkg-config + vala + ]; + + buildInputs = [ + gtk3 + ]; + + propagatedBuildInputs = [ + libarchive + glib + ]; + + meta = with lib; { + platforms = platforms.linux; + maintainers = teams.gnome.members; + license = licenses.lgpl21Plus; + description = "Library to integrate compressed files management with GNOME"; + }; +} diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix new file mode 100644 index 00000000000..7e578f27cd2 --- /dev/null +++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix @@ -0,0 +1,203 @@ +{ lib, stdenv +, autoreconfHook +, fetchurl +, gettext +, glib +, gnome-bluetooth +, gnome-desktop +, gnome-panel +, gnome-session +, gnome +, gsettings-desktop-schemas +, gtk3 +, ibus +, libcanberra-gtk3 +, libpulseaudio +, libxkbfile +, libxml2 +, pkg-config +, polkit +, gdm +, systemd +, upower +, pam +, wrapGAppsHook +, writeTextFile +, writeShellScriptBin +, xkeyboard_config +, xorg +, runCommand +}: +let + pname = "gnome-flashback"; + version = "3.40.0"; + + # From data/sessions/Makefile.am + requiredComponentsCommon = [ + "gnome-flashback" + "gnome-panel" + ]; + requiredComponentsGsd = [ + "org.gnome.SettingsDaemon.A11ySettings" + "org.gnome.SettingsDaemon.Color" + "org.gnome.SettingsDaemon.Datetime" + "org.gnome.SettingsDaemon.Housekeeping" + "org.gnome.SettingsDaemon.Keyboard" + "org.gnome.SettingsDaemon.MediaKeys" + "org.gnome.SettingsDaemon.Power" + "org.gnome.SettingsDaemon.PrintNotifications" + "org.gnome.SettingsDaemon.Rfkill" + "org.gnome.SettingsDaemon.ScreensaverProxy" + "org.gnome.SettingsDaemon.Sharing" + "org.gnome.SettingsDaemon.Smartcard" + "org.gnome.SettingsDaemon.Sound" + "org.gnome.SettingsDaemon.UsbProtection" + "org.gnome.SettingsDaemon.Wacom" + "org.gnome.SettingsDaemon.XSettings" + ]; + requiredComponents = wmName: "RequiredComponents=${lib.concatStringsSep ";" ([ wmName ] ++ requiredComponentsCommon ++ requiredComponentsGsd)};"; + gnome-flashback = stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0fxv13m2q9z1q3i9jbggl35cb7jlckbdrfsr5sf030hr1w836gz0"; + }; + + # make .desktop Execs absolute + postPatch = '' + patch -p0 < 1 && builtins.match "[0-9]+" minorVersion != null; + nextMinor = builtins.fromJSON minorVersion + 1; + upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}"; + in lib.optionalString (freeze && minorAvailable) ''--upper-bound="${upperBound}"''; + updateScript = writeScript "gnome-update-script" '' + #!${stdenv.shell} + set -o errexit + package_name="$1" + attr_path="$2" + version_policy="$3" + PATH=${lib.makeBinPath [ common-updater-scripts python ]} + latest_tag=$(python "${./find-latest-version.py}" "$package_name" "$version_policy" "stable" ${upperBoundFlag}) + update-source-version "$attr_path" "$latest_tag" + ''; +in [ updateScript packageName attrPath versionPolicy ] diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix index 6ac9c3864ab..8c6df49fd12 100644 --- a/pkgs/desktops/mate/marco/default.nix +++ b/pkgs/desktops/mate/marco/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, libcanberra-gtk3, libgtop -, libXdamage, libXpresent, libstartup_notification, gnome3, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }: +, libXdamage, libXpresent, libstartup_notification, gnome, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }: stdenv.mkDerivation rec { pname = "marco"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { libXpresent libstartup_notification gtk3 - gnome3.zenity + gnome.zenity mate-settings-daemon ]; diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix index 1046e431a3b..ccd20a6b875 100644 --- a/pkgs/desktops/mate/mate-applets/default.nix +++ b/pkgs/desktops/mate/mate-applets/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gnome3, glib, gtk3, gtksourceview3, libwnck3 +{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gnome, glib, gtk3, gtksourceview3, libwnck3 , libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook , mateUpdateScript }: @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 gtksourceview3 - gnome3.gucharmap + gnome.gucharmap libwnck3 libgtop libxml2 diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix index b1b59dc6402..62e0b5b3195 100644 --- a/pkgs/desktops/mate/mate-desktop/default.nix +++ b/pkgs/desktops/mate/mate-desktop/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gettext, isocodes, gnome3, gtk3, dconf, wrapGAppsHook, mateUpdateScript }: +{ lib, stdenv, fetchurl, pkg-config, gettext, isocodes, gnome, gtk3, dconf, wrapGAppsHook, mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-desktop"; diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix index 3a99538d929..fd7b19e1de3 100644 --- a/pkgs/desktops/mate/mate-power-manager/default.nix +++ b/pkgs/desktops/mate/mate-power-manager/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, polkit, wrapGAppsHook, mateUpdateScript }: +{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome, gtk3, libtool, polkit, wrapGAppsHook, mateUpdateScript }: stdenv.mkDerivation rec { pname = "mate-power-manager"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { libxml2 libcanberra-gtk3 gtk3 - gnome3.libgnome-keyring + gnome.libgnome-keyring libnotify dbus-glib upower diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix index 4c98c9cf520..5e226f4d886 100644 --- a/pkgs/desktops/mate/pluma/default.nix +++ b/pkgs/desktops/mate/pluma/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, gettext, perl, itstool, isocodes, enchant, libxml2, python3 -, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook, mateUpdateScript }: +, gnome, gtksourceview3, libpeas, mate, wrapGAppsHook, mateUpdateScript }: stdenv.mkDerivation rec { pname = "pluma"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { python3 gtksourceview3 libpeas - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme mate.mate-desktop ]; diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index e5182807b3f..0a5f3f09bfb 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, gnome3 }: +{ config, pkgs, lib, gnome }: lib.makeScope pkgs.newScope (self: with self; { @@ -25,7 +25,7 @@ lib.makeScope pkgs.newScope (self: with self; { maintainers = with pkgs.lib.maintainers; [ worldofpeace ]; - mutter = pkgs.gnome3.mutter334; + mutter = pkgs.gnome.mutter334; elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { }; @@ -72,17 +72,17 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-print-shim = callPackage ./desktop/elementary-print-shim { }; elementary-session-settings = callPackage ./desktop/elementary-session-settings { - inherit (gnome3) gnome-session gnome-keyring; + inherit (gnome) gnome-session gnome-keyring; }; elementary-shortcut-overlay = callPackage ./desktop/elementary-shortcut-overlay { }; extra-elementary-contracts = callPackage ./desktop/extra-elementary-contracts { - inherit (gnome3) file-roller gnome-bluetooth; + inherit (gnome) file-roller gnome-bluetooth; }; gala = callPackage ./desktop/gala { - inherit (gnome3) gnome-desktop; + inherit (gnome) gnome-desktop; }; wingpanel = callPackage ./desktop/wingpanel { }; @@ -109,7 +109,7 @@ lib.makeScope pkgs.newScope (self: with self; { # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614 # Take note of "I am holding off on "fixing" this bug for as long as possible." elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { - inherit (gnome3) gnome-desktop; + inherit (gnome) gnome-desktop; }; pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { }; @@ -169,7 +169,7 @@ lib.makeScope pkgs.newScope (self: with self; { switchboard-plug-onlineaccounts = callPackage ./apps/switchboard-plugs/onlineaccounts { }; switchboard-plug-pantheon-shell = callPackage ./apps/switchboard-plugs/pantheon-shell { - inherit (gnome3) gnome-desktop; + inherit (gnome) gnome-desktop; }; switchboard-plug-power = callPackage ./apps/switchboard-plugs/power { }; diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index a9a310ade82..43fd7a69e8a 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -6,7 +6,7 @@ , meson , ninja , pkg-config -, gnome3 +, gnome , perl , gettext , gtk3 @@ -152,7 +152,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = repoName; attrPath = "pantheon.${pname}"; }; diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index 1b7877cd79d..6ccd2a0c612 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -80,7 +80,7 @@ lib.makeScope pkgs.newScope (self: with self; { xfce4-terminal = callPackage ./applications/xfce4-terminal { }; xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter { - inherit (pkgs.gnome3) libsoup; + inherit (pkgs.gnome) libsoup; }; xfdashboard = callPackage ./applications/xfdashboard {}; @@ -211,7 +211,7 @@ lib.makeScope pkgs.newScope (self: with self; { libxfcegui4 = throw "libxfcegui4 is the deprecated Xfce GUI library. It has been superseded by the libxfce4ui library"; xinitrc = xfce4-session.xinitrc; inherit (pkgs.gnome2) libglade; - inherit (pkgs.gnome3) vte gtksourceview; + inherit (pkgs.gnome) vte gtksourceview; xfce4-mixer-pulse = xfce4-mixer; thunar-bare = thunar.override { thunarPlugins = []; diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 55936fd3db2..58ddf4597e6 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -90,7 +90,7 @@ let # Wait for PR #59372 # passthru = { - # updateScript = gnome3.updateScript { + # updateScript = gnome.updateScript { # attrPath = "${pname}_${lib.versions.major version}_${lib.versions.minor version}"; # packageName = pname; # }; diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix index 6f38c89088c..fbed88ccbdc 100644 --- a/pkgs/development/haskell-modules/configuration-nix.nix +++ b/pkgs/development/haskell-modules/configuration-nix.nix @@ -307,7 +307,7 @@ self: super: builtins.intersectAttrs super { # Tries to run GUI in tests leksah = dontCheck (overrideCabal super.leksah (drv: { executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [ - gnome3.adwaita-icon-theme # Fix error: Icon 'window-close' not present in theme ... + gnome.adwaita-icon-theme # Fix error: Icon 'window-close' not present in theme ... wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed ]); diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index 86afed3a600..406493133c6 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -107466,7 +107466,7 @@ self: { platforms = [ "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux" ]; - }) {inherit (pkgs.gnome3) gnome-keyring; + }) {inherit (pkgs.gnome) gnome-keyring; inherit (pkgs) libgnome-keyring;}; "gnomevfs" = callPackage diff --git a/pkgs/development/libraries/amtk/default.nix b/pkgs/development/libraries/amtk/default.nix index 7d51dbd48e7..efea7ef624e 100644 --- a/pkgs/development/libraries/amtk/default.nix +++ b/pkgs/development/libraries/amtk/default.nix @@ -5,7 +5,7 @@ , ninja , pkg-config , gobject-introspection -, gnome3 +, gnome , dbus , xvfb_run }: @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { meson test --print-errorlogs ''; - passthru.updateScript = gnome3.updateScript { + passthru.updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/aravis/default.nix b/pkgs/development/libraries/aravis/default.nix index a915723e2ca..67e621ad859 100644 --- a/pkgs/development/libraries/aravis/default.nix +++ b/pkgs/development/libraries/aravis/default.nix @@ -6,7 +6,7 @@ , gst-plugins-good ? null , gst-plugins-bad ? null , libnotify ? null -, gnome3 ? null +, gnome ? null , gtk3 ? null , enableUsb ? true , enablePacketSocket ? true @@ -26,7 +26,7 @@ in assert enableGstPlugin -> lib.all (pkg: pkg != null) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]; assert enableViewer -> enableGstPlugin; assert enableViewer -> libnotify != null; - assert enableViewer -> gnome3 != null; + assert enableViewer -> gnome != null; assert enableViewer -> gtk3 != null; assert enableViewer -> gstreamerAtLeastVersion1; @@ -56,7 +56,7 @@ in ++ lib.optional enableUsb libusb1 ++ lib.optional enablePacketSocket audit ++ lib.optionals (enableViewer || enableGstPlugin) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ] - ++ lib.optionals (enableViewer) [ libnotify gtk3 gnome3.adwaita-icon-theme ]; + ++ lib.optionals (enableViewer) [ libnotify gtk3 gnome.adwaita-icon-theme ]; preAutoreconf = "./autogen.sh"; diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix index 881c411db39..7989cfd8577 100644 --- a/pkgs/development/libraries/at-spi2-atk/default.nix +++ b/pkgs/development/libraries/at-spi2-atk/default.nix @@ -11,7 +11,7 @@ , glib , libxml2 -, gnome3 # To pass updateScript +, gnome # To pass updateScript }: stdenv.mkDerivation rec { @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { doCheck = false; # fails with "No test data file provided" passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix index 38131b0f357..4e85c7a92a6 100644 --- a/pkgs/development/libraries/at-spi2-core/default.nix +++ b/pkgs/development/libraries/at-spi2-core/default.nix @@ -16,7 +16,7 @@ , libXi , libXext -, gnome3 # To pass updateScript +, gnome # To pass updateScript }: stdenv.mkDerivation rec { @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Ddbus_daemon=/run/current-system/sw/bin/dbus-daemon" ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index e0cdb3a9b4c..7961211dc63 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, meson, ninja, gettext, pkg-config, glib -, fixDarwinDylibNames, gobject-introspection, gnome3 +, fixDarwinDylibNames, gobject-introspection, gnome }: let @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix index 123e7c984fc..b357ed04725 100644 --- a/pkgs/development/libraries/atkmm/default.nix +++ b/pkgs/development/libraries/atkmm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, atk, glibmm, pkg-config, gnome3 }: +{ lib, stdenv, fetchurl, atk, glibmm, pkg-config, gnome }: stdenv.mkDerivation rec { pname = "atkmm"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/bamf/default.nix b/pkgs/development/libraries/bamf/default.nix index 95d54993e06..faee853808c 100644 --- a/pkgs/development/libraries/bamf/default.nix +++ b/pkgs/development/libraries/bamf/default.nix @@ -3,7 +3,7 @@ , autoconf , automake , libtool -, gnome3 +, gnome , which , fetchgit , libgtop @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { automake dbus docbook_xsl - gnome3.gnome-common + gnome.gnome-common gobject-introspection gtk-doc libtool diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix index f2caa0bd3d5..db55e9a2789 100644 --- a/pkgs/development/libraries/clutter-gst/default.nix +++ b/pkgs/development/libraries/clutter-gst/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, pkg-config, clutter, gtk3, glib, cogl, gnome3, gdk-pixbuf }: +{ fetchurl, lib, stdenv, pkg-config, clutter, gtk3, glib, cogl, gnome, gdk-pixbuf }: stdenv.mkDerivation rec { pname = "clutter-gst"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { postBuild = "rm -rf $out/share/gtk-doc"; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix index 8dfe6781740..776dcdf8f23 100644 --- a/pkgs/development/libraries/clutter-gtk/default.nix +++ b/pkgs/development/libraries/clutter-gtk/default.nix @@ -1,5 +1,5 @@ { fetchurl, lib, stdenv, pkg-config, meson, ninja -, gobject-introspection, clutter, gtk3, gnome3 }: +, gobject-introspection, clutter, gtk3, gnome }: let pname = "clutter-gtk"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { postBuild = "rm -rf $out/share/gtk-doc"; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix index 2d0f57f279a..0c8ca2d8023 100644 --- a/pkgs/development/libraries/clutter/default.nix +++ b/pkgs/development/libraries/clutter/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, pkg-config, libGLU, libGL, libX11, libXext, libXfixes , libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib -, gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon +, gobject-introspection, gtk3, gnome, libinput, libgudev, libxkbcommon }: let @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { #doCheck = true; # no tests possible without a display passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index 9962ebf09e8..75ec2a2acc7 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/pkgs/development/libraries/cogl/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, fetchpatch, pkg-config, libGL, glib, gdk-pixbuf, xorg, libintl -, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3 +, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome , mesa, automake, autoconf , gstreamerSupport ? true, gst_all_1 }: @@ -59,7 +59,7 @@ in stdenv.mkDerivation rec { #doCheck = true; # all tests fail (no idea why) passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/dconf/default.nix b/pkgs/development/libraries/dconf/default.nix index 26862ee99f0..550940f5a1e 100644 --- a/pkgs/development/libraries/dconf/default.nix +++ b/pkgs/development/libraries/dconf/default.nix @@ -9,7 +9,7 @@ , glib , bash-completion , dbus -, gnome3 +, gnome , gtk-doc , docbook-xsl-nons , docbook_xml_dtd_42 @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix index c21c1496254..6cd651e66eb 100644 --- a/pkgs/development/libraries/folks/default.nix +++ b/pkgs/development/libraries/folks/default.nix @@ -4,7 +4,7 @@ , meson , ninja , glib -, gnome3 +, gnome , nspr , gettext , gobject-introspection @@ -113,7 +113,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix index 0ad9f607dfe..efc533c5504 100644 --- a/pkgs/development/libraries/gcab/default.nix +++ b/pkgs/development/libraries/gcab/default.nix @@ -12,7 +12,7 @@ , vala , glib , zlib -, gnome3 +, gnome , nixosTests }: @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix index 57323bbc70d..da3a0d31f41 100644 --- a/pkgs/development/libraries/gcr/default.nix +++ b/pkgs/development/libraries/gcr/default.nix @@ -15,7 +15,7 @@ , makeWrapper , libxslt , vala -, gnome3 +, gnome , python3 , shared-mime-info }: @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index d7a2604876f..fd2d62a032c 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -15,7 +15,7 @@ , libtiff , libjpeg , libpng -, gnome3 +, gnome , gobject-introspection , doCheck ? false , makeWrapper @@ -115,7 +115,7 @@ stdenv.mkDerivation rec { separateDebugInfo = stdenv.isLinux; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gdl/default.nix b/pkgs/development/libraries/gdl/default.nix index f924571deae..5b73e3d7a13 100644 --- a/pkgs/development/libraries/gdl/default.nix +++ b/pkgs/development/libraries/gdl/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, gtk3, gnome3, intltool }: +{ lib, stdenv, fetchurl, pkg-config, libxml2, gtk3, gnome, intltool }: stdenv.mkDerivation rec { pname = "gdl"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ libxml2 gtk3 ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gdl"; }; }; diff --git a/pkgs/development/libraries/geocode-glib/default.nix b/pkgs/development/libraries/geocode-glib/default.nix index f401c25aa39..458e0d59a0d 100644 --- a/pkgs/development/libraries/geocode-glib/default.nix +++ b/pkgs/development/libraries/geocode-glib/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, meson, ninja, pkg-config, gettext, gtk-doc, docbook_xsl, gobject-introspection, gnome3, libsoup, json-glib, glib }: +{ fetchurl, lib, stdenv, meson, ninja, pkg-config, gettext, gtk-doc, docbook_xsl, gobject-introspection, gnome, libsoup, json-glib, glib }: stdenv.mkDerivation rec { pname = "geocode-glib"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/libraries/gexiv2/default.nix b/pkgs/development/libraries/gexiv2/default.nix index 958e524aa09..c46a42049bc 100644 --- a/pkgs/development/libraries/gexiv2/default.nix +++ b/pkgs/development/libraries/gexiv2/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, exiv2, glib, gnome3, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }: +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, exiv2, glib, gnome, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }: stdenv.mkDerivation rec { pname = "gexiv2"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gfbgraph/default.nix b/pkgs/development/libraries/gfbgraph/default.nix index 4cbc6f341dc..7f4625b6651 100644 --- a/pkgs/development/libraries/gfbgraph/default.nix +++ b/pkgs/development/libraries/gfbgraph/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, glib, librest, gnome-online-accounts -, gnome3, libsoup, json-glib, gobject-introspection +, gnome, libsoup, json-glib, gobject-introspection , gtk-doc, pkgs, docbook-xsl-nons, autoconf, automake, libtool }: stdenv.mkDerivation rec { @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix index ff61c95a985..d6920086034 100644 --- a/pkgs/development/libraries/gjs/default.nix +++ b/pkgs/development/libraries/gjs/default.nix @@ -4,7 +4,7 @@ , meson , ninja , pkg-config -, gnome3 +, gnome , gtk3 , atk , gobject-introspection @@ -124,7 +124,7 @@ in stdenv.mkDerivation rec { installed-tests = nixosTests.installed-tests.gjs; }; - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gjs"; }; }; diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix index 21321ce9f0c..690279fcf21 100644 --- a/pkgs/development/libraries/glib-networking/default.nix +++ b/pkgs/development/libraries/glib-networking/default.nix @@ -12,7 +12,7 @@ , gnutls , p11-kit , libproxy -, gnome3 +, gnome , gsettings-desktop-schemas }: @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 15325809eb7..ade74a2ff02 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -1,5 +1,5 @@ { config, lib, stdenv, fetchurl, gettext, meson, ninja, pkg-config, perl, python3 -, libiconv, zlib, libffi, pcre, libelf, gnome3, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45 +, libiconv, zlib, libffi, pcre, libelf, gnome, libselinux, bash, gnum4, gtk-doc, docbook_xsl, docbook_xml_dtd_45 # use util-linuxMinimal to avoid circular dependency (util-linux, systemd, glib) , util-linuxMinimal ? null , buildPackages @@ -184,7 +184,7 @@ stdenv.mkDerivation rec { makeSchemaPath = dir: name: "${dir}/share/gsettings-schemas/${name}/glib-2.0/schemas"; getSchemaPath = pkg: makeSchemaPath pkg pkg.name; inherit flattenInclude; - updateScript = gnome3.updateScript { packageName = "glib"; }; + updateScript = gnome.updateScript { packageName = "glib"; }; }; meta = with lib; { diff --git a/pkgs/development/libraries/glibmm/2.68.nix b/pkgs/development/libraries/glibmm/2.68.nix index 18a862e7d76..660e3b3b9bd 100644 --- a/pkgs/development/libraries/glibmm/2.68.nix +++ b/pkgs/development/libraries/glibmm/2.68.nix @@ -5,7 +5,7 @@ , gnum4 , glib , libsigcxx30 -, gnome3 +, gnome , Cocoa , meson , ninja @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { doCheck = false; # fails. one test needs the net, another /etc/fstab passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "glibmm_2_68"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix index e952ab04cc0..9c4488a04a9 100644 --- a/pkgs/development/libraries/glibmm/default.nix +++ b/pkgs/development/libraries/glibmm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gnum4, glib, libsigcxx, gnome3, darwin, meson, ninja }: +{ lib, stdenv, fetchurl, pkg-config, gnum4, glib, libsigcxx, gnome, darwin, meson, ninja }: stdenv.mkDerivation rec { pname = "glibmm"; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { doCheck = false; # fails. one test needs the net, another /etc/fstab passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gnome-menus/default.nix b/pkgs/development/libraries/gnome-menus/default.nix index c8e77148c6d..0b3d6689cb0 100644 --- a/pkgs/development/libraries/gnome-menus/default.nix +++ b/pkgs/development/libraries/gnome-menus/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gettext, glib, gobject-introspection, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, gettext, glib, gobject-introspection, gnome }: stdenv.mkDerivation rec { pname = "gnome-menus"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib gobject-introspection ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix index ecb4390df26..2d349181dee 100644 --- a/pkgs/development/libraries/gnome-online-accounts/default.nix +++ b/pkgs/development/libraries/gnome-online-accounts/default.nix @@ -20,7 +20,7 @@ , libsoup , docbook-xsl-nons , docbook_xml_dtd_412 -, gnome3 +, gnome , gcr , libkrb5 , gvfs @@ -89,7 +89,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/libraries/gnome-video-effects/default.nix b/pkgs/development/libraries/gnome-video-effects/default.nix index a2206c19b1b..e8fd3ca7e2c 100644 --- a/pkgs/development/libraries/gnome-video-effects/default.nix +++ b/pkgs/development/libraries/gnome-video-effects/default.nix @@ -4,7 +4,7 @@ , meson , ninja , gettext -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index afe4ac42782..e6a1ad979b9 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -14,7 +14,7 @@ , python3 , cctools , cairo -, gnome3 +, gnome , substituteAll , nixStoreDir ? builtins.storeDir , x11Support ? true @@ -112,7 +112,7 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix index f3580e904b8..3a48fa52484 100644 --- a/pkgs/development/libraries/goffice/default.nix +++ b/pkgs/development/libraries/goffice/default.nix @@ -1,5 +1,5 @@ { fetchurl, lib, stdenv, pkg-config, intltool, glib, gtk3, lasem -, libgsf, libxml2, libxslt, cairo, pango, librsvg, gnome3 }: +, libgsf, libxml2, libxslt, cairo, pango, librsvg, gnome }: stdenv.mkDerivation rec { pname = "goffice"; @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gom/default.nix b/pkgs/development/libraries/gom/default.nix index 56036897ad8..d11ecc6a29a 100644 --- a/pkgs/development/libraries/gom/default.nix +++ b/pkgs/development/libraries/gom/default.nix @@ -7,7 +7,7 @@ , python3 , sqlite , gdk-pixbuf -, gnome3 +, gnome , gobject-introspection }: @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { doCheck = stdenv.isx86_64; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/goocanvas/default.nix b/pkgs/development/libraries/goocanvas/default.nix index c9fd5b26342..1bc763349a8 100644 --- a/pkgs/development/libraries/goocanvas/default.nix +++ b/pkgs/development/libraries/goocanvas/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, gtk2, cairo, glib, pkg-config, gnome3 }: +{ lib, stdenv, fetchurl, gtk2, cairo, glib, pkg-config, gnome }: stdenv.mkDerivation rec { pname = "goocanvas"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 cairo glib ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/goocanvasmm/default.nix b/pkgs/development/libraries/goocanvasmm/default.nix index 11ea1e40ab9..4e706f40987 100644 --- a/pkgs/development/libraries/goocanvasmm/default.nix +++ b/pkgs/development/libraries/goocanvasmm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, goocanvas2, gtkmm3, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, goocanvas2, gtkmm3, gnome }: stdenv.mkDerivation rec { pname = "goocanvasmm"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "goocanvasmm2"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/grilo-plugins/default.nix b/pkgs/development/libraries/grilo-plugins/default.nix index d1c00d58822..13ec503fae0 100644 --- a/pkgs/development/libraries/grilo-plugins/default.nix +++ b/pkgs/development/libraries/grilo-plugins/default.nix @@ -10,7 +10,7 @@ , librest , libarchive , libsoup -, gnome3 +, gnome , libxml2 , lua5_3 , liboauth @@ -85,7 +85,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/grilo/default.nix b/pkgs/development/libraries/grilo/default.nix index fbab49273e8..1b8c46394da 100644 --- a/pkgs/development/libraries/grilo/default.nix +++ b/pkgs/development/libraries/grilo/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, vala, glib, liboauth, gtk3 , gtk-doc, docbook_xsl, docbook_xml_dtd_43 -, libxml2, gnome3, gobject-introspection, libsoup, totem-pl-parser }: +, libxml2, gnome, gobject-introspection, libsoup, totem-pl-parser }: let pname = "grilo"; @@ -29,7 +29,7 @@ in stdenv.mkDerivation rec { buildInputs = [ glib liboauth gtk3 libxml2 libsoup totem-pl-parser ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix index c918e0ededc..e9814a43b24 100644 --- a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix +++ b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix @@ -7,7 +7,7 @@ , ninja , python3 # just for passthru -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/libraries/gsound/default.nix b/pkgs/development/libraries/gsound/default.nix index 9f656a428f5..bcd39ce2273 100644 --- a/pkgs/development/libraries/gsound/default.nix +++ b/pkgs/development/libraries/gsound/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, vala, libcanberra, gobject-introspection, libtool, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, glib, vala, libcanberra, gobject-introspection, libtool, gnome }: stdenv.mkDerivation rec { pname = "gsound"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib libcanberra ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gspell/default.nix b/pkgs/development/libraries/gspell/default.nix index 890fcb98118..f591246eaf8 100644 --- a/pkgs/development/libraries/gspell/default.nix +++ b/pkgs/development/libraries/gspell/default.nix @@ -8,7 +8,7 @@ , icu , vala , gobject-introspection -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix index 440caba2547..6a76c07fec7 100644 --- a/pkgs/development/libraries/gssdp/default.nix +++ b/pkgs/development/libraries/gssdp/default.nix @@ -11,7 +11,7 @@ , libsoup , gtk3 , glib -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -52,7 +52,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix index ae361366ac1..7123aa0d3ac 100644 --- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix +++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, file, glibmm, gst_all_1, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, file, glibmm, gst_all_1, gnome }: stdenv.mkDerivation rec { pname = "gstreamermm"; version = "1.10.0"; @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gst_all_1.gstreamermm"; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix index 9f7d3050524..f9b5d5f68b5 100644 --- a/pkgs/development/libraries/gtk/3.x.nix +++ b/pkgs/development/libraries/gtk/3.x.nix @@ -29,7 +29,7 @@ , libxkbcommon , libxml2 , gmp -, gnome3 +, gnome , gsettings-desktop-schemas , sassc , trackerSupport ? stdenv.isLinux @@ -206,7 +206,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gtk+"; attrPath = "gtk3"; }; diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix index 455e54ded21..2636aea4161 100644 --- a/pkgs/development/libraries/gtk/4.x.nix +++ b/pkgs/development/libraries/gtk/4.x.nix @@ -28,7 +28,7 @@ , libsoup , ffmpeg , gmp -, gnome3 +, gnome , gsettings-desktop-schemas , gst_all_1 , sassc @@ -216,7 +216,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gtk"; attrPath = "gtk4"; }; diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix index a3aa18b058a..eaf8a94d137 100644 --- a/pkgs/development/libraries/gtkd/default.nix +++ b/pkgs/development/libraries/gtkd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, fetchpatch, atk, cairo, ldc, gdk-pixbuf, gnome3, gst_all_1, librsvg +{ lib, stdenv, fetchzip, fetchpatch, atk, cairo, ldc, gdk-pixbuf, gnome, gst_all_1, librsvg , glib, gtk3, gtksourceview4, libgda, libpeas, pango, pkg-config, which, vte }: let diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index 20456ffd6d1..eb1f5a82d63 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, gtk3, glibmm, cairomm, pangomm, atkmm, epoxy, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, gtk3, glibmm, cairomm, pangomm, atkmm, epoxy, gnome }: stdenv.mkDerivation rec { pname = "gtkmm"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { doCheck = false; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "${pname}3"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/gtkmm/4.x.nix b/pkgs/development/libraries/gtkmm/4.x.nix index f7fca93d870..5a32b3c2de6 100644 --- a/pkgs/development/libraries/gtkmm/4.x.nix +++ b/pkgs/development/libraries/gtkmm/4.x.nix @@ -10,7 +10,7 @@ , cairomm_1_16 , pangomm_2_48 , epoxy -, gnome3 +, gnome , makeFontsConf , xvfb_run }: @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "${pname}4"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix index 4f144219ce0..21dc5c3a884 100644 --- a/pkgs/development/libraries/gtksourceview/4.x.nix +++ b/pkgs/development/libraries/gtksourceview/4.x.nix @@ -15,7 +15,7 @@ , libxml2 , perl , gettext -, gnome3 +, gnome , gobject-introspection , dbus , xvfb_run @@ -92,7 +92,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gtksourceview"; attrPath = "gtksourceview4"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix index a1bc60ebc30..6825b34d0ac 100644 --- a/pkgs/development/libraries/gtksourceview/5.x.nix +++ b/pkgs/development/libraries/gtksourceview/5.x.nix @@ -13,7 +13,7 @@ , libxml2 , perl , gettext -, gnome3 +, gnome , gobject-introspection , dbus , xvfb_run @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gtksourceview"; attrPath = "gtksourceview5"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/gtksourceviewmm/4.x.nix b/pkgs/development/libraries/gtksourceviewmm/4.x.nix index 5e80f91abc1..3011a126c10 100644 --- a/pkgs/development/libraries/gtksourceviewmm/4.x.nix +++ b/pkgs/development/libraries/gtksourceviewmm/4.x.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gtkmm3, glibmm, gtksourceview4, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, gtkmm3, glibmm, gtksourceview4, gnome }: stdenv.mkDerivation rec { pname = "gtksourceviewmm"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gtksourceviewmm/default.nix b/pkgs/development/libraries/gtksourceviewmm/default.nix index 7ee6b656ead..fc4439e223e 100644 --- a/pkgs/development/libraries/gtksourceviewmm/default.nix +++ b/pkgs/development/libraries/gtksourceviewmm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, gtkmm3, glibmm, gtksourceview3, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, gtkmm3, glibmm, gtksourceview3, gnome }: stdenv.mkDerivation rec { pname = "gtksourceviewmm"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "gtksourceviewmm"; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix index 74a5e6c6d45..8d800f97940 100644 --- a/pkgs/development/libraries/gupnp-av/default.nix +++ b/pkgs/development/libraries/gupnp-av/default.nix @@ -8,7 +8,7 @@ , docbook_xml_dtd_412 , glib , libxml2 -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -43,7 +43,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gupnp-dlna/default.nix b/pkgs/development/libraries/gupnp-dlna/default.nix index be249e0fdca..f9efe352a84 100644 --- a/pkgs/development/libraries/gupnp-dlna/default.nix +++ b/pkgs/development/libraries/gupnp-dlna/default.nix @@ -8,7 +8,7 @@ , docbook_xml_dtd_412 , libxml2 , gst_all_1 -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -48,7 +48,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gupnp-igd/default.nix b/pkgs/development/libraries/gupnp-igd/default.nix index 93240fc8b33..6eb44b9172a 100644 --- a/pkgs/development/libraries/gupnp-igd/default.nix +++ b/pkgs/development/libraries/gupnp-igd/default.nix @@ -10,7 +10,7 @@ , docbook_xml_dtd_412 , glib , gupnp -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { #doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix index d6465d71c50..bd8151d603e 100644 --- a/pkgs/development/libraries/gupnp/default.nix +++ b/pkgs/development/libraries/gupnp/default.nix @@ -14,7 +14,7 @@ , libsoup , libxml2 , libuuid -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index b589775a4df..7c8fd5f9cec 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -23,7 +23,7 @@ , samba , libmtp , gnomeSupport ? false -, gnome3 +, gnome , gcr , glib-networking , gnome-online-accounts @@ -91,7 +91,7 @@ stdenv.mkDerivation rec { gsettings-desktop-schemas # TODO: a ligther version of libsoup to have FTP/HTTP support? ] ++ lib.optionals gnomeSupport [ - gnome3.libsoup + gnome.libsoup gcr glib-networking # TLS support gnome-online-accounts @@ -117,7 +117,7 @@ stdenv.mkDerivation rec { doInstallCheck = doCheck; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix index 110dcad16e0..afbb7aaed96 100644 --- a/pkgs/development/libraries/json-glib/default.nix +++ b/pkgs/development/libraries/json-glib/default.nix @@ -11,7 +11,7 @@ , gtk-doc , docbook-xsl-nons , docbook_xml_dtd_43 -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/jsonrpc-glib/default.nix b/pkgs/development/libraries/jsonrpc-glib/default.nix index 170ae424dcc..b43bcd07ca6 100644 --- a/pkgs/development/libraries/jsonrpc-glib/default.nix +++ b/pkgs/development/libraries/jsonrpc-glib/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, glib, json-glib, pkg-config, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome3 }: +{ lib, stdenv, fetchurl, meson, ninja, glib, json-glib, pkg-config, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome }: stdenv.mkDerivation rec { pname = "jsonrpc-glib"; version = "3.38.0"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { doCheck = false; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix index 663abb15280..fb481c19d05 100644 --- a/pkgs/development/libraries/keybinder/default.nix +++ b/pkgs/development/libraries/keybinder/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkg-config, gnome3 +{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkg-config, gnome , gtk-doc, gtk2, python2Packages, lua, gobject-introspection }: @@ -16,7 +16,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - autoconf automake libtool gnome3.gnome-common gtk-doc gtk2 + autoconf automake libtool gnome.gnome-common gtk-doc gtk2 python pygtk lua gobject-introspection ]; diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix index e291ec56bb2..78755a87919 100644 --- a/pkgs/development/libraries/keybinder3/default.nix +++ b/pkgs/development/libraries/keybinder3/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, gnome3 +{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, gnome , gtk-doc, gtk3, libX11, libXext, libXrender, gobject-introspection }: @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake libtool pkg-config ]; buildInputs = [ - gnome3.gnome-common gtk-doc gtk3 + gnome.gnome-common gtk-doc gtk3 libX11 libXext libXrender gobject-introspection ]; diff --git a/pkgs/development/libraries/lasem/default.nix b/pkgs/development/libraries/lasem/default.nix index 953cf20afdb..9c49429ece4 100644 --- a/pkgs/development/libraries/lasem/default.nix +++ b/pkgs/development/libraries/lasem/default.nix @@ -1,5 +1,5 @@ { fetchurl, lib, stdenv, pkg-config, intltool, gobject-introspection, glib, gdk-pixbuf -, libxml2, cairo, pango, gnome3 }: +, libxml2, cairo, pango, gnome }: stdenv.mkDerivation rec { pname = "lasem"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix index 3ad01ba871e..20609509b66 100644 --- a/pkgs/development/libraries/libchamplain/default.nix +++ b/pkgs/development/libraries/libchamplain/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, meson, ninja, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, pkg-config, glib, gtk3, cairo, sqlite, gnome3 +{ fetchurl, lib, stdenv, meson, ninja, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, pkg-config, glib, gtk3, cairo, sqlite, gnome , clutter-gtk, libsoup, gobject-introspection /*, libmemphis */ }: stdenv.mkDerivation rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libcryptui/default.nix b/pkgs/development/libraries/libcryptui/default.nix index 4b60e27a99f..e816846842f 100644 --- a/pkgs/development/libraries/libcryptui/default.nix +++ b/pkgs/development/libraries/libcryptui/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, intltool, glib, gnome3, gtk3, gnupg22, gpgme, dbus-glib, libgnome-keyring }: +{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, intltool, glib, gnome, gtk3, gnupg22, gpgme, dbus-glib, libgnome-keyring }: stdenv.mkDerivation rec { pname = "libcryptui"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix index d929af5d47f..912e79d5410 100644 --- a/pkgs/development/libraries/libdazzle/default.nix +++ b/pkgs/development/libraries/libdazzle/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, ninja, meson, pkg-config, vala, gobject-introspection, libxml2 -, gtk-doc, docbook_xsl, docbook_xml_dtd_43, dbus, xvfb_run, glib, gtk3, gnome3 }: +, gtk-doc, docbook_xsl, docbook_xml_dtd_43, dbus, xvfb_run, glib, gtk3, gnome }: stdenv.mkDerivation rec { pname = "libdazzle"; @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/libraries/libepc/default.nix b/pkgs/development/libraries/libepc/default.nix index 0656f3a2ee9..9755d0977c8 100644 --- a/pkgs/development/libraries/libepc/default.nix +++ b/pkgs/development/libraries/libepc/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, intltool, gtk-doc, glib, avahi, gnutls, libuuid, libsoup, gtk3, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, intltool, gtk-doc, glib, avahi, gnutls, libuuid, libsoup, gtk3, gnome }: let avahiWithGtk = avahi.override { gtk3Support = true; }; @@ -32,7 +32,7 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgda/6.x.nix b/pkgs/development/libraries/libgda/6.x.nix index 6474aceb417..28235d65d98 100644 --- a/pkgs/development/libraries/libgda/6.x.nix +++ b/pkgs/development/libraries/libgda/6.x.nix @@ -12,7 +12,7 @@ , json-glib , isocodes , openssl -, gnome3 +, gnome , gobject-introspection , vala , libgee @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "libgda6"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix index 1599a786871..b3f6e1a7cdd 100644 --- a/pkgs/development/libraries/libgda/default.nix +++ b/pkgs/development/libraries/libgda/default.nix @@ -7,7 +7,7 @@ , libxml2 , gtk3 , openssl -, gnome3 +, gnome , gobject-introspection , vala , libgee @@ -84,7 +84,7 @@ assert postgresSupport -> postgresql != null; hardeningDisable = [ "format" ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgdamm/default.nix b/pkgs/development/libraries/libgdamm/default.nix index 15ff99f3a55..ad5e0cbecd6 100644 --- a/pkgs/development/libraries/libgdamm/default.nix +++ b/pkgs/development/libraries/libgdamm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, glibmm, libgda, libxml2, gnome3 +{ lib, stdenv, fetchurl, pkg-config, glibmm, libgda, libxml2, gnome , mysqlSupport ? false , postgresSupport ? false }: @@ -24,7 +24,7 @@ in stdenv.mkDerivation rec { enableParallelBuilding = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgdata/default.nix b/pkgs/development/libraries/libgdata/default.nix index fdaace2dc4f..cc9080bb0e1 100644 --- a/pkgs/development/libraries/libgdata/default.nix +++ b/pkgs/development/libraries/libgdata/default.nix @@ -12,7 +12,7 @@ , gcr , gnome-online-accounts , gobject-introspection -, gnome3 +, gnome , p11-kit , openssl , uhttpmock @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; # Stable version has not been updated for a long time. }; diff --git a/pkgs/development/libraries/libgee/default.nix b/pkgs/development/libraries/libgee/default.nix index aefb0be84af..1a40d1f17b4 100644 --- a/pkgs/development/libraries/libgee/default.nix +++ b/pkgs/development/libraries/libgee/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, autoconf, vala, pkg-config, glib, gobject-introspection, gnome3 }: +{ lib, stdenv, fetchurl, autoconf, vala, pkg-config, glib, gobject-introspection, gnome }: stdenv.mkDerivation rec { pname = "libgee"; @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgepub/default.nix b/pkgs/development/libraries/libgepub/default.nix index e058c7ed5af..7ae7bff50ef 100644 --- a/pkgs/development/libraries/libgepub/default.nix +++ b/pkgs/development/libraries/libgepub/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, gnome3 +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, gnome , webkitgtk, libsoup, libxml2, libarchive }: stdenv.mkDerivation rec { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib webkitgtk libsoup libxml2 libarchive ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libgit2-glib/default.nix b/pkgs/development/libraries/libgit2-glib/default.nix index fe36a9d663f..56259814d8a 100644 --- a/pkgs/development/libraries/libgit2-glib/default.nix +++ b/pkgs/development/libraries/libgit2-glib/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, gnome3, meson, ninja, pkg-config, vala, libssh2 +{ lib, stdenv, fetchurl, gnome, meson, ninja, pkg-config, vala, libssh2 , gtk-doc, gobject-introspection, libgit2, glib, python3 }: stdenv.mkDerivation rec { @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix index cf8f5ab4878..b00e7b32451 100644 --- a/pkgs/development/libraries/libgksu/default.nix +++ b/pkgs/development/libraries/libgksu/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, gtk2, gnome2, gnome3, +{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, gtk2, gnome2, gnome, libstartup_notification, libgtop, perlPackages, autoreconfHook, intltool, docbook_xsl, xauth }: @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { buildInputs = [ gtk2 gnome2.GConf libstartup_notification - gnome3.libgnome-keyring libgtop gnome2.libglade + gnome.libgnome-keyring libgtop gnome2.libglade ] ++ (with perlPackages; [ perl XMLParser ]); enableParallelBuilding = true; diff --git a/pkgs/development/libraries/libgnomekbd/default.nix b/pkgs/development/libraries/libgnomekbd/default.nix index 23261020cc1..957c2134252 100644 --- a/pkgs/development/libraries/libgnomekbd/default.nix +++ b/pkgs/development/libraries/libgnomekbd/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, file, intltool, glib, gtk3, libxklavier, wrapGAppsHook, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, file, intltool, glib, gtk3, libxklavier, wrapGAppsHook, gnome }: stdenv.mkDerivation rec { pname = "libgnomekbd"; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgrss/default.nix b/pkgs/development/libraries/libgrss/default.nix index b8c7c7bc497..8c5ea73af0b 100644 --- a/pkgs/development/libraries/libgrss/default.nix +++ b/pkgs/development/libraries/libgrss/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome }: let version = "0.7.0"; @@ -24,7 +24,7 @@ stdenv.mkDerivation { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index bfa0b861dd8..1ccc5d77896 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -1,5 +1,5 @@ { fetchurl, lib, stdenv, pkg-config, intltool, gettext, glib, libxml2, zlib, bzip2 -, perl, gdk-pixbuf, libiconv, libintl, gnome3 }: +, perl, gdk-pixbuf, libiconv, libintl, gnome }: stdenv.mkDerivation rec { pname = "libgsf"; @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { preCheck = "patchShebangs ./tests/"; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix index c919e667766..98b0dc89fee 100644 --- a/pkgs/development/libraries/libgtop/default.nix +++ b/pkgs/development/libraries/libgtop/default.nix @@ -5,7 +5,7 @@ , perl , gettext , gobject-introspection -, gnome3 +, gnome , gtk-doc }: @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix index d3482456f2e..a35cf51679c 100644 --- a/pkgs/development/libraries/libgudev/default.nix +++ b/pkgs/development/libraries/libgudev/default.nix @@ -6,7 +6,7 @@ , udev , glib , gobject-introspection -, gnome3 +, gnome , vala }: @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libgweather/default.nix b/pkgs/development/libraries/libgweather/default.nix index fd742d5b58b..fbab67e0865 100644 --- a/pkgs/development/libraries/libgweather/default.nix +++ b/pkgs/development/libraries/libgweather/default.nix @@ -17,7 +17,7 @@ , tzdata , geocode-glib , vala -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libgxps/default.nix b/pkgs/development/libraries/libgxps/default.nix index be088496f2e..fc871f174eb 100644 --- a/pkgs/development/libraries/libgxps/default.nix +++ b/pkgs/development/libraries/libgxps/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, cairo -, libarchive, freetype, libjpeg, libtiff, gnome3, lcms2 +, libarchive, freetype, libjpeg, libtiff, gnome, lcms2 }: stdenv.mkDerivation rec { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libhandy/0.x.nix b/pkgs/development/libraries/libhandy/0.x.nix index ff2093255cf..d836efb1aeb 100644 --- a/pkgs/development/libraries/libhandy/0.x.nix +++ b/pkgs/development/libraries/libhandy/0.x.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, gobject-introspection, vala , gtk-doc, docbook_xsl, docbook_xml_dtd_43 -, gtk3, gnome3 +, gtk3, gnome , dbus, xvfb_run, libxml2 , hicolor-icon-theme }: @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { meson ninja pkg-config gobject-introspection vala libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 ]; - buildInputs = [ gnome3.gnome-desktop gtk3 libxml2 ]; + buildInputs = [ gnome.gnome-desktop gtk3 libxml2 ]; checkInputs = [ dbus xvfb_run hicolor-icon-theme ]; mesonFlags = [ diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix index 56853b0c3b8..65f8ccd39ec 100644 --- a/pkgs/development/libraries/libhandy/default.nix +++ b/pkgs/development/libraries/libhandy/default.nix @@ -20,7 +20,7 @@ , hicolor-icon-theme , at-spi2-atk , at-spi2-core -, gnome3 +, gnome , libhandy , runCommand }: @@ -93,7 +93,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; } // lib.optionalAttrs (!enableGlade) { diff --git a/pkgs/development/libraries/libhttpseverywhere/default.nix b/pkgs/development/libraries/libhttpseverywhere/default.nix index 871aafeafd6..975ad225813 100644 --- a/pkgs/development/libraries/libhttpseverywhere/default.nix +++ b/pkgs/development/libraries/libhttpseverywhere/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, pkg-config, meson, ninja, makeFontsConf, vala, fetchpatch -, gnome3, libgee, glib, json-glib, libarchive, libsoup, gobject-introspection }: +, gnome, libgee, glib, json-glib, libarchive, libsoup, gobject-introspection }: let pname = "libhttpseverywhere"; @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { outputs = [ "out" "devdoc" ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libmanette/default.nix b/pkgs/development/libraries/libmanette/default.nix index 4e5f44dd153..645b521b817 100644 --- a/pkgs/development/libraries/libmanette/default.nix +++ b/pkgs/development/libraries/libmanette/default.nix @@ -11,7 +11,7 @@ , glib , libgudev , libevdev -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libmediaart/default.nix b/pkgs/development/libraries/libmediaart/default.nix index 28c8ae6db94..ee1b306c3e5 100644 --- a/pkgs/development/libraries/libmediaart/default.nix +++ b/pkgs/development/libraries/libmediaart/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gdk-pixbuf, gobject-introspection, gnome3, fetchpatch }: +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gdk-pixbuf, gobject-introspection, gnome, fetchpatch }: stdenv.mkDerivation rec { pname = "libmediaart"; @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { doCheck = false; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index 29b37164228..b108a5c5eea 100644 --- a/pkgs/development/libraries/libnotify/default.nix +++ b/pkgs/development/libraries/libnotify/default.nix @@ -8,7 +8,7 @@ , glib , gdk-pixbuf , gobject-introspection -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/libpeas/default.nix b/pkgs/development/libraries/libpeas/default.nix index 5d3bad6d620..55c884d215f 100644 --- a/pkgs/development/libraries/libpeas/default.nix +++ b/pkgs/development/libraries/libpeas/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, gnome3 +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, gnome , glib, gtk3, gobject-introspection, python3, ncurses }: @@ -21,7 +21,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/librest/default.nix b/pkgs/development/libraries/librest/default.nix index a8bcebb533d..0c885f0764b 100644 --- a/pkgs/development/libraries/librest/default.nix +++ b/pkgs/development/libraries/librest/default.nix @@ -5,7 +5,7 @@ , glib , libsoup , gobject-introspection -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "librest"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 7047d15c0f0..02cd9accbaf 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -14,7 +14,7 @@ , libobjc , rustc , cargo -, gnome3 +, gnome , vala , gobject-introspection , nixosTests @@ -103,7 +103,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix index 6c28b7d16c1..8d9011bc575 100644 --- a/pkgs/development/libraries/libsecret/default.nix +++ b/pkgs/development/libraries/libsecret/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchurl, fetchpatch, glib, pkg-config, gettext, libxslt, python3 , docbook_xsl, docbook_xml_dtd_42 , libgcrypt, gobject-introspection, vala -, gtk-doc, gnome3, gjs, libintl, dbus, xvfb_run }: +, gtk-doc, gnome, gjs, libintl, dbus, xvfb_run }: stdenv.mkDerivation rec { pname = "libsecret"; @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; # Does not seem to use the odd-unstable policy: https://gitlab.gnome.org/GNOME/libsecret/issues/30 versionPolicy = "none"; diff --git a/pkgs/development/libraries/libsigcxx/3.0.nix b/pkgs/development/libraries/libsigcxx/3.0.nix index 3c92d8e1306..edb74c807bf 100644 --- a/pkgs/development/libraries/libsigcxx/3.0.nix +++ b/pkgs/development/libraries/libsigcxx/3.0.nix @@ -4,7 +4,7 @@ , pkg-config , meson , ninja -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "libsigcxx30"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix index cfd161cc961..cbc2c8a617b 100644 --- a/pkgs/development/libraries/libsigcxx/default.nix +++ b/pkgs/development/libraries/libsigcxx/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, meson, ninja, gnome }: stdenv.mkDerivation rec { pname = "libsigc++"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "libsigcxx"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix index 64519dc355d..fc805b2db9e 100644 --- a/pkgs/development/libraries/libsoup/default.nix +++ b/pkgs/development/libraries/libsoup/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, glib, libxml2, meson, ninja, pkg-config, gnome3, libsysprof-capture +{ stdenv, lib, fetchurl, glib, libxml2, meson, ninja, pkg-config, gnome, libsysprof-capture , gnomeSupport ? true, sqlite, glib-networking, gobject-introspection, vala , libpsl, python3, brotli }: @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { passthru = { propagatedUserEnvPackages = [ glib-networking.out ]; - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix index 5fb405f880e..3333e2d98eb 100644 --- a/pkgs/development/libraries/libwnck/3.x.nix +++ b/pkgs/development/libraries/libwnck/3.x.nix @@ -16,7 +16,7 @@ , libstartup_notification , gettext , gobject-introspection -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -60,7 +60,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "${pname}${lib.versions.major version}"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix index 6db7e1f421b..67c5a0794ed 100644 --- a/pkgs/development/libraries/libxmlxx/default.nix +++ b/pkgs/development/libraries/libxmlxx/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, libxml2, glibmm, perl, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, libxml2, glibmm, perl, gnome }: stdenv.mkDerivation rec { pname = "libxml++"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libxml2 glibmm ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/libzapojit/default.nix b/pkgs/development/libraries/libzapojit/default.nix index 805aaba9773..8acb5e858df 100644 --- a/pkgs/development/libraries/libzapojit/default.nix +++ b/pkgs/development/libraries/libzapojit/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, intltool, json-glib, librest, libsoup, gnome3, gnome-online-accounts, gobject-introspection }: +{ lib, stdenv, fetchurl, pkg-config, glib, intltool, json-glib, librest, libsoup, gnome, gnome-online-accounts, gobject-introspection }: stdenv.mkDerivation rec { pname = "libzapojit"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glib json-glib librest libsoup gnome-online-accounts ]; # zapojit-0.0.pc passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/mm-common/default.nix b/pkgs/development/libraries/mm-common/default.nix index a43d99503a3..7ce2675e301 100644 --- a/pkgs/development/libraries/mm-common/default.nix +++ b/pkgs/development/libraries/mm-common/default.nix @@ -1,6 +1,6 @@ { lib, stdenv , fetchurl -, gnome3 +, gnome , meson , python3 , ninja @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix index 9ba581e3a40..79bc2421dc9 100644 --- a/pkgs/development/libraries/osm-gps-map/default.nix +++ b/pkgs/development/libraries/osm-gps-map/default.nix @@ -1,4 +1,4 @@ -{ cairo, fetchzip, glib, gnome3, gtk3, gobject-introspection, pkg-config, lib, stdenv }: +{ cairo, fetchzip, glib, gnome, gtk3, gobject-introspection, pkg-config, lib, stdenv }: stdenv.mkDerivation rec { pname = "osm-gps-map"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ cairo glib gobject-introspection - gnome3.gnome-common gtk3 gnome3.libsoup + gnome.gnome-common gtk3 gnome.libsoup ]; meta = with lib; { diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index e181ca45a79..f4dba00d351 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -9,7 +9,7 @@ , gobject-introspection , darwin , fribidi -, gnome3 +, gnome , gi-docgen , makeFontsConf , freefont_ttf @@ -79,7 +79,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/pangomm/2.48.nix b/pkgs/development/libraries/pangomm/2.48.nix index a5d452ac16f..3c25d113d72 100644 --- a/pkgs/development/libraries/pangomm/2.48.nix +++ b/pkgs/development/libraries/pangomm/2.48.nix @@ -8,7 +8,7 @@ , pango , glibmm_2_68 , cairomm_1_16 -, gnome3 +, gnome , ApplicationServices }: @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "${pname}_2_48"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix index d858288af84..afb79c7eafe 100644 --- a/pkgs/development/libraries/pangomm/default.nix +++ b/pkgs/development/libraries/pangomm/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, pango, glibmm, cairomm, gnome3 +{ lib, stdenv, fetchurl, pkg-config, meson, ninja, python3, pango, glibmm, cairomm, gnome , ApplicationServices }: stdenv.mkDerivation rec { @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/rarian/default.nix b/pkgs/development/libraries/rarian/default.nix index aa575f7e72a..b8995e6a2c4 100644 --- a/pkgs/development/libraries/rarian/default.nix +++ b/pkgs/development/libraries/rarian/default.nix @@ -1,4 +1,4 @@ -{lib, stdenv, fetchurl, pkg-config, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, gnome3}: +{lib, stdenv, fetchurl, pkg-config, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, gnome}: let pname = "rarian"; version = "0.8.1"; diff --git a/pkgs/development/libraries/template-glib/default.nix b/pkgs/development/libraries/template-glib/default.nix index e2bf9bbd49a..c0ee2c1d350 100644 --- a/pkgs/development/libraries/template-glib/default.nix +++ b/pkgs/development/libraries/template-glib/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, flex, bison, vala, gettext, gnome3, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }: +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, flex, bison, vala, gettext, gnome, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }: let version = "3.34.0"; pname = "template-glib"; @@ -21,7 +21,7 @@ stdenv.mkDerivation { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix index b6ce86ddff4..f561efb473c 100644 --- a/pkgs/development/libraries/tepl/default.nix +++ b/pkgs/development/libraries/tepl/default.nix @@ -3,7 +3,7 @@ , meson , ninja , amtk -, gnome3 +, gnome , gobject-introspection , gtk3 , gtksourceview4 @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { # correctly installed or GVfs metadata are not supported on this platform. In # the latter case, you should configure Tepl with --disable-gvfs-metadata. - passthru.updateScript = gnome3.updateScript { + passthru.updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/totem-pl-parser/default.nix b/pkgs/development/libraries/totem-pl-parser/default.nix index b559d4f59cf..08c989b799b 100644 --- a/pkgs/development/libraries/totem-pl-parser/default.nix +++ b/pkgs/development/libraries/totem-pl-parser/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, libxml2, gobject-introspection, gnome3 }: +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, libxml2, gobject-introspection, gnome }: stdenv.mkDerivation rec { pname = "totem-pl-parser"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix index fddf9becb2d..c571e223844 100644 --- a/pkgs/development/libraries/tracker-miners/default.nix +++ b/pkgs/development/libraries/tracker-miners/default.nix @@ -20,7 +20,7 @@ , exempi , giflib , glib -, gnome3 +, gnome , gst_all_1 , icu , json-glib @@ -122,7 +122,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index 0af1476e7e2..0ee5e0fa567 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -18,7 +18,7 @@ , sqlite , libxslt , libstemmer -, gnome3 +, gnome , icu , libuuid , libsoup @@ -133,7 +133,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix index 13d4169cf14..dcb0b4fdabb 100644 --- a/pkgs/development/libraries/vte/default.nix +++ b/pkgs/development/libraries/vte/default.nix @@ -6,7 +6,7 @@ , pkg-config , meson , ninja -, gnome3 +, gnome , glib , gtk3 , gobject-introspection @@ -81,7 +81,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix index f94d35fd131..93a308a658d 100644 --- a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix +++ b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix @@ -5,7 +5,7 @@ , libxml2 , xdg-desktop-portal , gtk3 -, gnome3 +, gnome , glib , wrapGAppsHook , gsettings-desktop-schemas @@ -34,8 +34,8 @@ stdenv.mkDerivation rec { glib gsettings-desktop-schemas # settings exposed by settings portal gtk3 - gnome3.gnome-desktop - gnome3.gnome-settings-daemon # schemas needed for settings api (mostly useless now that fonts were moved to g-d-s) + gnome.gnome-desktop + gnome.gnome-settings-daemon # schemas needed for settings api (mostly useless now that fonts were moved to g-d-s) ]; meta = with lib; { diff --git a/pkgs/development/misc/yelp-tools/default.nix b/pkgs/development/misc/yelp-tools/default.nix index ca7050c0678..fc3be7421ad 100644 --- a/pkgs/development/misc/yelp-tools/default.nix +++ b/pkgs/development/misc/yelp-tools/default.nix @@ -4,7 +4,7 @@ , libxml2 , libxslt , itstool -, gnome3 +, gnome , pkg-config , meson , ninja @@ -35,7 +35,7 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ itstool # build script checks for its presence but I am not sure if anything uses it - gnome3.yelp-xsl + gnome.yelp-xsl ]; pythonPath = [ @@ -47,7 +47,7 @@ python3.pkgs.buildPythonApplication rec { doCheck = true; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/development/python-modules/gtimelog/default.nix index bb31baa7888..15a1ddbf061 100644 --- a/pkgs/development/python-modules/gtimelog/default.nix +++ b/pkgs/development/python-modules/gtimelog/default.nix @@ -46,11 +46,11 @@ buildPythonPackage rec { To run gtimelog successfully on a system that does not have full GNOME 3 installed, the following NixOS options should be set: - programs.dconf.enable = true; - - services.gnome3.gnome-keyring.enable = true; + - services.gnome.gnome-keyring.enable = true; In addition, the following packages should be added to the environment: - - gnome3.adwaita-icon-theme - - gnome3.dconf + - gnome.adwaita-icon-theme + - gnome.dconf ''; homepage = "https://gtimelog.org/"; license = licenses.gpl2Plus; diff --git a/pkgs/development/python-modules/pyatspi/default.nix b/pkgs/development/python-modules/pyatspi/default.nix index bd4de522943..b566edef64d 100644 --- a/pkgs/development/python-modules/pyatspi/default.nix +++ b/pkgs/development/python-modules/pyatspi/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, pkg-config, buildPythonPackage, isPy3k, at-spi2-core, pygobject3, gnome3 }: +{ lib, fetchurl, pkg-config, buildPythonPackage, isPy3k, at-spi2-core, pygobject3, gnome }: buildPythonPackage rec { pname = "pyatspi"; @@ -20,7 +20,7 @@ buildPythonPackage rec { disabled = !isPy3k; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "python3.pkgs.${pname}"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/python-modules/pygobject/3.36.nix b/pkgs/development/python-modules/pygobject/3.36.nix index 27bf8762d59..ce9410eaf8b 100644 --- a/pkgs/development/python-modules/pygobject/3.36.nix +++ b/pkgs/development/python-modules/pygobject/3.36.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, buildPythonPackage, pkg-config, glib, gobject-introspection, -pycairo, cairo, which, ncurses, meson, ninja, isPy3k, gnome3 }: +pycairo, cairo, which, ncurses, meson, ninja, isPy3k, gnome }: buildPythonPackage rec { pname = "pygobject"; diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 641a30b1627..373577dc467 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -12,7 +12,7 @@ , meson , ninja , isPy3k -, gnome3 +, gnome }: buildPythonPackage rec { @@ -50,7 +50,7 @@ buildPythonPackage rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "python3.pkgs.${pname}3"; versionPolicy = "odd-unstable"; diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix index d031145a997..b536dc94067 100644 --- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix +++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, pkg-config, libxml2Python, libxslt, intltool, gnome3 +{ lib, fetchurl, pkg-config, libxml2Python, libxslt, intltool, gnome , python2Packages }: python2Packages.buildPythonApplication rec { @@ -24,7 +24,7 @@ python2Packages.buildPythonApplication rec { propagatedBuildInputs = [ libxml2Python ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index e74a6b9c3c6..a735bdb5fed 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -8,7 +8,7 @@ , docbook-xsl-nons , libxslt , gettext -, gnome3 +, gnome , withDblatex ? false, dblatex }: @@ -70,7 +70,7 @@ python3.pkgs.buildPythonApplication rec { passthru = { # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch; - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/tools/glade/default.nix b/pkgs/development/tools/glade/default.nix index d77772c32db..3e5c7b0438f 100644 --- a/pkgs/development/tools/glade/default.nix +++ b/pkgs/development/tools/glade/default.nix @@ -15,7 +15,7 @@ , libxml2 , docbook-xsl-nons , docbook_xml_dtd_42 -, gnome3 +, gnome , gdk-pixbuf , libxslt , gsettings-desktop-schemas @@ -54,11 +54,11 @@ stdenv.mkDerivation rec { python3.pkgs.pygobject3 gsettings-desktop-schemas gdk-pixbuf - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix index 5c130a99c92..73126752b98 100644 --- a/pkgs/development/tools/misc/d-feet/default.nix +++ b/pkgs/development/tools/misc/d-feet/default.nix @@ -7,7 +7,7 @@ , gtk3 , python3 , wrapGAppsHook -, gnome3 +, gnome , libwnck3 , gobject-introspection , gettext @@ -38,7 +38,7 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ glib - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme gtk3 libwnck3 ]; @@ -61,7 +61,7 @@ python3.pkgs.buildPythonApplication rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "dfeet"; versionPolicy = "none"; diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix index b78c111ccbf..06487845fb3 100644 --- a/pkgs/development/tools/misc/gob2/default.nix +++ b/pkgs/development/tools/misc/gob2/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, glib, bison, flex, gnome3 }: +{ lib, stdenv, fetchurl, pkg-config, glib, bison, flex, gnome }: stdenv.mkDerivation rec { pname = "gob2"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib bison flex ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/tools/misc/msitools/default.nix b/pkgs/development/tools/misc/msitools/default.nix index 96ce9d40591..ab196ebc5b3 100644 --- a/pkgs/development/tools/misc/msitools/default.nix +++ b/pkgs/development/tools/misc/msitools/default.nix @@ -14,7 +14,7 @@ , libgsf , gcab , bzip2 -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/development/tools/nemiver/default.nix b/pkgs/development/tools/nemiver/default.nix index 58c0f2ed28b..7894dfe797d 100644 --- a/pkgs/development/tools/nemiver/default.nix +++ b/pkgs/development/tools/nemiver/default.nix @@ -2,7 +2,7 @@ , fetchurl , fetchpatch , pkg-config -, gnome3 +, gnome , gtk3 , libxml2 , intltool @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = "nemiver"; versionPolicy = "none"; }; diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index 725d8d10e11..6ceda016045 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -16,7 +16,7 @@ , shared-mime-info , systemd , wrapGAppsHook -, gnome3 +, gnome }: stdenv.mkDerivation rec { @@ -40,7 +40,7 @@ stdenv.mkDerivation rec { pkg-config shared-mime-info wrapGAppsHook - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; buildInputs = [ @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix index ae1ac3e39f3..ca8359a32a8 100644 --- a/pkgs/development/tools/react-native-debugger/default.nix +++ b/pkgs/development/tools/react-native-debugger/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, unzip, cairo, xorg, gdk-pixbuf, fontconfig, pango, gnome3, atk, at-spi2-atk, at-spi2-core +{ lib, stdenv, fetchurl, unzip, cairo, xorg, gdk-pixbuf, fontconfig, pango, gnome, atk, at-spi2-atk, at-spi2-core , gtk3, glib, freetype, dbus, nss, nspr, alsaLib, cups, expat, udev, makeDesktopItem }: diff --git a/pkgs/development/web/cog/default.nix b/pkgs/development/web/cog/default.nix index 5344c1b833c..ed94b56e695 100644 --- a/pkgs/development/web/cog/default.nix +++ b/pkgs/development/web/cog/default.nix @@ -11,7 +11,7 @@ , webkitgtk , makeWrapper , wrapGAppsHook -, gnome3 +, gnome , gdk-pixbuf }: @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { webkitgtk glib-networking gdk-pixbuf - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; nativeBuildInputs = [ diff --git a/pkgs/games/gscrabble/default.nix b/pkgs/games/gscrabble/default.nix index 74411d63d3e..f0e4121d8f2 100644 --- a/pkgs/games/gscrabble/default.nix +++ b/pkgs/games/gscrabble/default.nix @@ -1,6 +1,6 @@ { lib, buildPythonApplication, fetchFromGitHub , gtk3, wrapGAppsHook, gst_all_1, gobject-introspection -, python3Packages, gnome3 }: +, python3Packages, gnome }: buildPythonApplication { pname = "gscrabble"; @@ -19,7 +19,7 @@ buildPythonApplication { buildInputs = with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad - gnome3.adwaita-icon-theme gtk3 gobject-introspection + gnome.adwaita-icon-theme gtk3 gobject-introspection ]; propagatedBuildInputs = with python3Packages; [ gst-python pygobject3 ]; diff --git a/pkgs/games/megaglest/default.nix b/pkgs/games/megaglest/default.nix index c97ea55882b..5f79b86956c 100644 --- a/pkgs/games/megaglest/default.nix +++ b/pkgs/games/megaglest/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, cmake, pkg-config, git, curl, SDL2, xercesc, openal, lua, libvlc , libjpeg, wxGTK, cppunit, ftgl, glew, libogg, libvorbis, buildEnv, libpng -, fontconfig, freetype, xorg, makeWrapper, bash, which, gnome3, libGLU, glib +, fontconfig, freetype, xorg, makeWrapper, bash, which, gnome, libGLU, glib , fetchFromGitHub }: let @@ -13,7 +13,7 @@ let }; path-env = buildEnv { name = "megaglest-path-env"; - paths = [ bash which gnome3.zenity ]; + paths = [ bash which gnome.zenity ]; }; in stdenv.mkDerivation { diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix index 2e8533f7816..22d3c6c879e 100644 --- a/pkgs/games/openra/default.nix +++ b/pkgs/games/openra/default.nix @@ -25,7 +25,7 @@ let lua = pkgs.lua5_1; # It is not necessary to run the game, but it is nicer to be given an error dialog in the case of failure, # rather than having to look to the logs why it is not starting. - inherit (pkgs.gnome3) zenity; + inherit (pkgs.gnome) zenity; }); /* Building a set of engines or mods requires some dependencies as well, diff --git a/pkgs/games/openra/packages.nix b/pkgs/games/openra/packages.nix index c09b697771a..2f4c83c7d5a 100644 --- a/pkgs/games/openra/packages.nix +++ b/pkgs/games/openra/packages.nix @@ -15,7 +15,7 @@ let lua = pkgs.lua5_1; # It is not necessary to run the game, but it is nicer to be given an error dialog in the case of failure, # rather than having to look to the logs why it is not starting. - inherit (pkgs.gnome3) zenity; + inherit (pkgs.gnome) zenity; }); /* Building a set of engines or mods requires some dependencies as well, diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix index f17c436cccb..de2163d6784 100644 --- a/pkgs/games/steam/fhsenv.nix +++ b/pkgs/games/steam/fhsenv.nix @@ -85,7 +85,7 @@ in buildFHSUserEnv rec { targetPkgs = pkgs: with pkgs; [ steamPackages.steam # License agreement - gnome3.zenity + gnome.zenity ] ++ commonTargetPkgs pkgs; multiPkgs = pkgs: with pkgs; [ diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/misc/emulators/cdemu/analyzer.nix index 246dbb7dd35..dddcc3a7468 100644 --- a/pkgs/misc/emulators/cdemu/analyzer.nix +++ b/pkgs/misc/emulators/cdemu/analyzer.nix @@ -1,5 +1,5 @@ { callPackage, makeWrapper, gobject-introspection, cmake -, python3Packages, gtk3, glib, libxml2, gnuplot, gnome3, gdk-pixbuf, librsvg, intltool, libmirage }: +, python3Packages, gtk3, glib, libxml2, gnuplot, gnome, gdk-pixbuf, librsvg, intltool, libmirage }: let pkg = import ./base.nix { version = "3.2.3"; pkgName = "image-analyzer"; @@ -7,7 +7,7 @@ let pkg = import ./base.nix { }; in callPackage pkg { buildInputs = [ glib gtk3 libxml2 gnuplot libmirage makeWrapper - gnome3.adwaita-icon-theme gdk-pixbuf librsvg intltool + gnome.adwaita-icon-theme gdk-pixbuf librsvg intltool python3Packages.python python3Packages.pygobject3 python3Packages.matplotlib ]; drvParams = { nativeBuildInputs = [ gobject-introspection cmake ]; diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/misc/emulators/cdemu/gui.nix index 599531950a2..8ce84ccae20 100644 --- a/pkgs/misc/emulators/cdemu/gui.nix +++ b/pkgs/misc/emulators/cdemu/gui.nix @@ -1,5 +1,5 @@ { callPackage, makeWrapper, gobject-introspection, cmake -, python3Packages, gtk3, glib, libnotify, intltool, gnome3, gdk-pixbuf, librsvg }: +, python3Packages, gtk3, glib, libnotify, intltool, gnome, gdk-pixbuf, librsvg }: let pkg = import ./base.nix { version = "3.2.3"; @@ -9,7 +9,7 @@ let inherit (python3Packages) python pygobject3; in callPackage pkg { buildInputs = [ python pygobject3 gtk3 glib libnotify intltool makeWrapper - gnome3.adwaita-icon-theme gdk-pixbuf librsvg ]; + gnome.adwaita-icon-theme gdk-pixbuf librsvg ]; drvParams = { nativeBuildInputs = [ gobject-introspection cmake ]; postFixup = '' diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix index 70e5d94def6..502e5c64723 100644 --- a/pkgs/misc/emulators/nestopia/default.nix +++ b/pkgs/misc/emulators/nestopia/default.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub, pkg-config, SDL2, alsaLib, gtk3 , makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg-utils -, epoxy, gdk-pixbuf, gnome3, wrapGAppsHook +, epoxy, gdk-pixbuf, gnome, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { libarchive libao xdg-utils - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; nativeBuildInputs = [ diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix index f9801c5895a..4e87b7d36cb 100644 --- a/pkgs/misc/vim-plugins/overrides.nix +++ b/pkgs/misc/vim-plugins/overrides.nix @@ -20,7 +20,7 @@ , dasht , direnv , fzf -, gnome3 +, gnome , khard , languagetool , llvmPackages @@ -515,7 +515,7 @@ self: super: { vCoolor-vim = super.vCoolor-vim.overrideAttrs (old: { # on linux can use either Zenity or Yad. - propagatedBuildInputs = [ gnome3.zenity ]; + propagatedBuildInputs = [ gnome.zenity ]; meta = { description = "Simple color selector/picker plugin"; license = lib.licenses.publicDomain; diff --git a/pkgs/os-specific/linux/piper/default.nix b/pkgs/os-specific/linux/piper/default.nix index 839b3f1b78f..5edcd263f0d 100644 --- a/pkgs/os-specific/linux/piper/default.nix +++ b/pkgs/os-specific/linux/piper/default.nix @@ -1,5 +1,5 @@ { lib, meson, ninja, pkg-config, gettext, fetchFromGitHub, python3 -, wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome3 +, wrapGAppsHook, gtk3, glib, desktop-file-utils, appstream-glib, gnome , gobject-introspection }: python3.pkgs.buildPythonApplication rec { @@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = [ meson ninja gettext pkg-config wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ]; buildInputs = [ - gtk3 glib gnome3.adwaita-icon-theme python3 + gtk3 glib gnome.adwaita-icon-theme python3 ]; propagatedBuildInputs = with python3.pkgs; [ lxml evdev pygobject3 ] ++ [ gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now diff --git a/pkgs/tools/X11/wpgtk/default.nix b/pkgs/tools/X11/wpgtk/default.nix index cf9bbd9bb98..66464ae0b53 100644 --- a/pkgs/tools/X11/wpgtk/default.nix +++ b/pkgs/tools/X11/wpgtk/default.nix @@ -1,5 +1,5 @@ { lib, python3Packages, fetchFromGitHub, libxslt, - gobject-introspection, gtk3, wrapGAppsHook, gnome3 }: + gobject-introspection, gtk3, wrapGAppsHook, gnome }: python3Packages.buildPythonApplication rec { pname = "wpgtk"; @@ -16,7 +16,7 @@ python3Packages.buildPythonApplication rec { wrapGAppsHook gtk3 gobject-introspection - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme libxslt ]; diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix index 9f4d4effeee..5e00e487e23 100644 --- a/pkgs/tools/admin/gtk-vnc/default.nix +++ b/pkgs/tools/admin/gtk-vnc/default.nix @@ -15,7 +15,7 @@ , vala , gettext , perl -, gnome3 +, gnome , gdk-pixbuf , zlib }: @@ -54,7 +54,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "none"; }; diff --git a/pkgs/tools/audio/gvolicon/default.nix b/pkgs/tools/audio/gvolicon/default.nix index 312dc62d575..03ea3302d26 100644 --- a/pkgs/tools/audio/gvolicon/default.nix +++ b/pkgs/tools/audio/gvolicon/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, makeWrapper, alsaLib, pkg-config, fetchgit, gtk3, gnome3, gdk-pixbuf, librsvg, wrapGAppsHook }: +{ lib, stdenv, makeWrapper, alsaLib, pkg-config, fetchgit, gtk3, gnome, gdk-pixbuf, librsvg, wrapGAppsHook }: stdenv.mkDerivation { name = "gvolicon-2014-04-28"; @@ -10,7 +10,7 @@ stdenv.mkDerivation { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - makeWrapper alsaLib gtk3 gdk-pixbuf gnome3.adwaita-icon-theme + makeWrapper alsaLib gtk3 gdk-pixbuf gnome.adwaita-icon-theme librsvg wrapGAppsHook ]; diff --git a/pkgs/tools/audio/pasystray/default.nix b/pkgs/tools/audio/pasystray/default.nix index 4a2030d7445..2bedd2abacd 100644 --- a/pkgs/tools/audio/pasystray/default.nix +++ b/pkgs/tools/audio/pasystray/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchpatch, fetchFromGitHub, pkg-config, autoreconfHook, wrapGAppsHook -, gnome3, avahi, gtk3, libayatana-appindicator-gtk3, libnotify, libpulseaudio +, gnome, avahi, gtk3, libayatana-appindicator-gtk3, libnotify, libpulseaudio , xlibsWrapper, gsettings-desktop-schemas }: @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config autoreconfHook wrapGAppsHook ]; buildInputs = [ - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme avahi gtk3 libayatana-appindicator-gtk3 libnotify libpulseaudio xlibsWrapper gsettings-desktop-schemas ]; diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix index 71ce9060b25..b932b8e66c6 100644 --- a/pkgs/tools/bluetooth/blueberry/default.nix +++ b/pkgs/tools/bluetooth/blueberry/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , bluez-tools , cinnamon -, gnome3 +, gnome , gobject-introspection , intltool , pavucontrol @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { buildInputs = [ bluez-tools cinnamon.xapps - gnome3.gnome-bluetooth + gnome.gnome-bluetooth python3Packages.python util-linux ]; diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix index b30a8763706..7b3aa397fc3 100644 --- a/pkgs/tools/bluetooth/blueman/default.nix +++ b/pkgs/tools/bluetooth/blueman/default.nix @@ -1,6 +1,6 @@ { config, stdenv, lib, fetchurl, intltool, pkg-config, python3Packages, bluez, gtk3 , obex_data_server, xdg-utils, dnsmasq, dhcp, libappindicator, iproute2 -, gnome3, librsvg, wrapGAppsHook, gobject-introspection, autoreconfHook +, gnome, librsvg, wrapGAppsHook, gobject-introspection, autoreconfHook , networkmanager, withPulseAudio ? config.pulseaudio or stdenv.isLinux, libpulseaudio, fetchpatch }: let @@ -23,7 +23,7 @@ in stdenv.mkDerivation rec { ]; buildInputs = [ bluez gtk3 pythonPackages.python librsvg - gnome3.adwaita-icon-theme iproute2 libappindicator networkmanager ] + gnome.adwaita-icon-theme iproute2 libappindicator networkmanager ] ++ pythonPath ++ lib.optional withPulseAudio libpulseaudio; diff --git a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix index 6e0c48d0610..3d34dcbac17 100644 --- a/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix +++ b/pkgs/tools/inputmethods/fcitx/fcitx-configtool.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, makeWrapper, pkg-config, cmake, fcitx, gtk3, isocodes, gnome3 }: +{ lib, stdenv, fetchurl, makeWrapper, pkg-config, cmake, fcitx, gtk3, isocodes, gnome }: stdenv.mkDerivation rec { name = "fcitx-configtool-0.4.10"; @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkg-config makeWrapper ]; - buildInputs = [ fcitx isocodes gtk3 gnome3.adwaita-icon-theme ]; + buildInputs = [ fcitx isocodes gtk3 gnome.adwaita-icon-theme ]; # Patch paths to `fcitx-remote` prePatch = '' diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 3b63d7c0203..9bbbe1493f7 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused, gnome3 +{ lib, stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused, gnome , gnugrep, parted, glib, libuuid, pkg-config, gtkmm3, libxml2 , gpart, hdparm, procps, util-linux, polkit, wrapGAppsHook, substituteAll }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-doc" ]; - buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin gnome3.adwaita-icon-theme ]; + buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin gnome.adwaita-icon-theme ]; nativeBuildInputs = [ intltool gettext pkg-config wrapGAppsHook ]; preFixup = '' diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix index 2dffada9fe7..e52ae44a83f 100644 --- a/pkgs/tools/misc/gsmartcontrol/default.nix +++ b/pkgs/tools/misc/gsmartcontrol/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, lib, stdenv, smartmontools, autoreconfHook, gettext, gtkmm3, pkg-config, wrapGAppsHook, pcre-cpp, gnome3 }: +{ fetchurl, lib, stdenv, smartmontools, autoreconfHook, gettext, gtkmm3, pkg-config, wrapGAppsHook, pcre-cpp, gnome }: stdenv.mkDerivation rec { version="1.1.3"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ autoreconfHook gettext pkg-config wrapGAppsHook ]; - buildInputs = [ gtkmm3 pcre-cpp gnome3.adwaita-icon-theme ]; + buildInputs = [ gtkmm3 pcre-cpp gnome.adwaita-icon-theme ]; enableParallelBuilding = true; diff --git a/pkgs/tools/misc/kodi-cli/default.nix b/pkgs/tools/misc/kodi-cli/default.nix index 56795e7c93f..10b9cea73d7 100644 --- a/pkgs/tools/misc/kodi-cli/default.nix +++ b/pkgs/tools/misc/kodi-cli/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, bash, jq, youtube-dl, gnome3 }: +{ lib, stdenv, fetchFromGitHub, makeWrapper, curl, bash, jq, youtube-dl, gnome }: stdenv.mkDerivation rec { pname = "kodi-cli"; @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { cp -a kodi-cli $out/bin wrapProgram $out/bin/kodi-cli --prefix PATH : ${lib.makeBinPath [ curl bash ]} cp -a playlist_to_kodi $out/bin - wrapProgram $out/bin/playlist_to_kodi --prefix PATH : ${lib.makeBinPath [ curl bash gnome3.zenity jq youtube-dl ]} + wrapProgram $out/bin/playlist_to_kodi --prefix PATH : ${lib.makeBinPath [ curl bash gnome.zenity jq youtube-dl ]} ''; meta = with lib; { diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix index 41828d322e8..c1861e33c08 100644 --- a/pkgs/tools/networking/gupnp-tools/default.nix +++ b/pkgs/tools/networking/gupnp-tools/default.nix @@ -10,7 +10,7 @@ , gettext , gupnp-av , gtksourceview4 -, gnome3 +, gnome , wrapGAppsHook }: @@ -38,11 +38,11 @@ stdenv.mkDerivation rec { gtk3 gupnp-av gtksourceview4 - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/tools/networking/networkmanager/applet/default.nix b/pkgs/tools/networking/networkmanager/applet/default.nix index cffacddf8bd..633c932def8 100644 --- a/pkgs/tools/networking/networkmanager/applet/default.nix +++ b/pkgs/tools/networking/networkmanager/applet/default.nix @@ -5,7 +5,7 @@ , gettext , pkg-config , networkmanager -, gnome3 +, gnome , libnotify , libsecret , polkit @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { glib glib-networking libappindicator-gtk3 - gnome3.adwaita-icon-theme + gnome.adwaita-icon-theme ]; nativeBuildInputs = [ @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanagerapplet"; versionPolicy = "odd-unstable"; diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index c2de2ed8adb..ccd16c70a8a 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, substituteAll, intltool, pkg-config, fetchpatch, dbus -, gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala +, gnome, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables, python3, vala , libgcrypt, dnsmasq, bluez5, readline, libselinux, audit , gobject-introspection, modemmanager, openresolv, libndp, newt, libsoup , ethtool, gnused, iputils, kmod, jansson, gtk-doc, libxslt @@ -96,7 +96,7 @@ in stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager"; }; diff --git a/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix b/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix index 25554b27963..f97bac13cf7 100644 --- a/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix +++ b/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix @@ -11,7 +11,7 @@ , ppp , libsecret , withGnome ? true -, gnome3 +, gnome , fetchpatch , libnma }: @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager-fortisslvpn"; versionPolicy = "odd-unstable"; diff --git a/pkgs/tools/networking/networkmanager/iodine/default.nix b/pkgs/tools/networking/networkmanager/iodine/default.nix index 87069d3c3c8..e56d9411b39 100644 --- a/pkgs/tools/networking/networkmanager/iodine/default.nix +++ b/pkgs/tools/networking/networkmanager/iodine/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitLab, substituteAll, autoreconfHook, iodine, intltool, pkg-config, networkmanager, libsecret, gtk3 -, withGnome ? true, gnome3, fetchpatch, libnma, glib }: +, withGnome ? true, gnome, fetchpatch, libnma, glib }: let pname = "NetworkManager-iodine"; @@ -44,7 +44,7 @@ in stdenv.mkDerivation { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager-iodine"; }; diff --git a/pkgs/tools/networking/networkmanager/libnma/default.nix b/pkgs/tools/networking/networkmanager/libnma/default.nix index 35f79a773c3..50fc66a8d68 100644 --- a/pkgs/tools/networking/networkmanager/libnma/default.nix +++ b/pkgs/tools/networking/networkmanager/libnma/default.nix @@ -7,7 +7,7 @@ , pkg-config , vala , networkmanager -, gnome3 +, gnome , isocodes , libxml2 , docbook_xsl @@ -75,7 +75,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; versionPolicy = "odd-unstable"; }; diff --git a/pkgs/tools/networking/networkmanager/openconnect/default.nix b/pkgs/tools/networking/networkmanager/openconnect/default.nix index 6dbb718a6b6..c03a698514a 100644 --- a/pkgs/tools/networking/networkmanager/openconnect/default.nix +++ b/pkgs/tools/networking/networkmanager/openconnect/default.nix @@ -13,7 +13,7 @@ , file , gtk3 , withGnome ? true -, gnome3 +, gnome , kmod , fetchpatch }: @@ -66,7 +66,7 @@ in stdenv.mkDerivation { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager-openconnect"; versionPolicy = "odd-unstable"; diff --git a/pkgs/tools/networking/networkmanager/openvpn/default.nix b/pkgs/tools/networking/networkmanager/openvpn/default.nix index ab87bc8371d..06df79e4705 100644 --- a/pkgs/tools/networking/networkmanager/openvpn/default.nix +++ b/pkgs/tools/networking/networkmanager/openvpn/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkg-config, file, networkmanager, libsecret -, gtk3, withGnome ? true, gnome3, kmod, libnma }: +, gtk3, withGnome ? true, gnome, kmod, libnma }: let pname = "NetworkManager-openvpn"; @@ -31,7 +31,7 @@ in stdenv.mkDerivation { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager-openvpn"; versionPolicy = "odd-unstable"; diff --git a/pkgs/tools/networking/networkmanager/sstp/default.nix b/pkgs/tools/networking/networkmanager/sstp/default.nix index d00c0e3e55f..f4866234438 100644 --- a/pkgs/tools/networking/networkmanager/sstp/default.nix +++ b/pkgs/tools/networking/networkmanager/sstp/default.nix @@ -4,7 +4,7 @@ , fetchpatch , file , glib -, gnome3 +, gnome , gtk3 , intltool , libnma @@ -50,7 +50,7 @@ in stdenv.mkDerivation { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager-sstp"; }; diff --git a/pkgs/tools/networking/networkmanager/strongswan/default.nix b/pkgs/tools/networking/networkmanager/strongswan/default.nix index c4cb79b4c8c..cebcec35a31 100644 --- a/pkgs/tools/networking/networkmanager/strongswan/default.nix +++ b/pkgs/tools/networking/networkmanager/strongswan/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, intltool, pkg-config, networkmanager, strongswanNM -, gtk3, gnome3, libsecret, libnma }: +, gtk3, gnome, libsecret, libnma }: stdenv.mkDerivation rec { pname = "NetworkManager-strongswan"; diff --git a/pkgs/tools/networking/networkmanager/vpnc/default.nix b/pkgs/tools/networking/networkmanager/vpnc/default.nix index 5181e3160e2..70e7104696e 100644 --- a/pkgs/tools/networking/networkmanager/vpnc/default.nix +++ b/pkgs/tools/networking/networkmanager/vpnc/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchurl, substituteAll, vpnc, intltool, pkg-config, networkmanager, libsecret -, gtk3, withGnome ? true, gnome3, glib, kmod, file, fetchpatch, libnma }: +, gtk3, withGnome ? true, gnome, glib, kmod, file, fetchpatch, libnma }: let pname = "NetworkManager-vpnc"; version = "1.2.6"; @@ -35,7 +35,7 @@ in stdenv.mkDerivation { ]; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; attrPath = "networkmanager-vpnc"; versionPolicy = "odd-unstable"; diff --git a/pkgs/tools/security/onioncircuits/default.nix b/pkgs/tools/security/onioncircuits/default.nix index 8c5083ee8af..f5d9185dc98 100644 --- a/pkgs/tools/security/onioncircuits/default.nix +++ b/pkgs/tools/security/onioncircuits/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchgit, python3, intltool, gtk3, gobject-introspection, gnome3 }: +{ lib, fetchgit, python3, intltool, gtk3, gobject-introspection, gnome }: python3.pkgs.buildPythonApplication rec { pname = "onioncircuits"; @@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec { postFixup = '' wrapProgram "$out/bin/onioncircuits" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "$out/share:${gnome3.adwaita-icon-theme}/share" + --prefix XDG_DATA_DIRS : "$out/share:${gnome.adwaita-icon-theme}/share" ''; meta = with lib; { diff --git a/pkgs/tools/text/gtranslator/default.nix b/pkgs/tools/text/gtranslator/default.nix index 8408d42da1b..5bc99724e3f 100644 --- a/pkgs/tools/text/gtranslator/default.nix +++ b/pkgs/tools/text/gtranslator/default.nix @@ -17,7 +17,7 @@ , libdazzle , gtk3 , gtksourceview4 -, gnome3 +, gnome , gsettings-desktop-schemas }: @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome3.updateScript { + updateScript = gnome.updateScript { packageName = pname; }; }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index c7f7d36cbf0..f535021791d 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -300,6 +300,7 @@ mapAliases ({ gtk_doc = gtk-doc; # added 2018-02-25 guileCairo = guile-cairo; # added 2017-09-24 guileGnome = guile-gnome; # added 2017-09-24 + gnome3 = gnome; # added 2021-05-07 guileLint = guile-lint; # added 2017-09-27 guile_lib = guile-lib; # added 2017-09-24 guile_ncurses = guile-ncurses; # added 2017-09-24 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8b0e720e750..8c4d82452e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -794,7 +794,7 @@ in aj-snapshot = callPackage ../applications/audio/aj-snapshot { }; ajour = callPackage ../tools/games/ajour { - inherit (gnome3) zenity; + inherit (gnome) zenity; inherit (plasma5Packages) kdialog; }; @@ -3538,7 +3538,7 @@ in libpinyin = callPackage ../development/libraries/libpinyin { }; libskk = callPackage ../development/libraries/libskk { - inherit (gnome3) gnome-common; + inherit (gnome) gnome-common; }; m17n_db = callPackage ../tools/inputmethods/m17n-db { }; @@ -6380,7 +6380,7 @@ in libite = callPackage ../development/libraries/libite { }; liblangtag = callPackage ../development/libraries/liblangtag { - inherit (gnome3) gnome-common; + inherit (gnome) gnome-common; }; liblouis = callPackage ../development/libraries/liblouis { }; @@ -15678,7 +15678,7 @@ in libgig = callPackage ../development/libraries/libgig { }; libgnome-keyring = callPackage ../development/libraries/libgnome-keyring { }; - libgnome-keyring3 = gnome3.libgnome-keyring; + libgnome-keyring3 = gnome.libgnome-keyring; libgnomekbd = callPackage ../development/libraries/libgnomekbd { }; @@ -16180,7 +16180,7 @@ in libopusenc = callPackage ../development/libraries/libopusenc { }; libosinfo = callPackage ../development/libraries/libosinfo { - inherit (gnome3) libsoup; + inherit (gnome) libsoup; }; libosip = callPackage ../development/libraries/osip {}; @@ -21488,7 +21488,7 @@ in kopia = callPackage ../tools/backup/kopia { }; kora-icon-theme = callPackage ../data/icons/kora-icon-theme { - inherit (gnome3) adwaita-icon-theme; + inherit (gnome) adwaita-icon-theme; inherit (libsForQt5.kdeFrameworks) breeze-icons; }; @@ -22251,7 +22251,7 @@ in awesomebump = libsForQt5.callPackage ../applications/graphics/awesomebump { }; - inherit (gnome3) baobab; + inherit (gnome) baobab; backintime-common = callPackage ../applications/networking/sync/backintime/common.nix { }; @@ -22312,7 +22312,7 @@ in (callPackage ../applications/science/electronics/bitscope/packages.nix { }); bitwig-studio1 = callPackage ../applications/audio/bitwig-studio/bitwig-studio1.nix { - inherit (gnome3) zenity; + inherit (gnome) zenity; libxkbcommon = libxkbcommon_7; }; bitwig-studio2 = callPackage ../applications/audio/bitwig-studio/bitwig-studio2.nix { @@ -22856,7 +22856,7 @@ in pkgs' = pkgs; # default pkgs used for bootstrapping the emacs package set }; - inherit (gnome3) empathy; + inherit (gnome) empathy; enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { }; @@ -22870,7 +22870,7 @@ in epgstation = callPackage ../applications/video/epgstation { }; - inherit (gnome3) epiphany; + inherit (gnome) epiphany; ephemeral = callPackage ../applications/networking/browsers/ephemeral { }; @@ -22925,8 +22925,8 @@ in keeweb = callPackage ../applications/misc/keeweb { }; - inherit (gnome3) evince; - evolution-data-server = gnome3.evolution-data-server; + inherit (gnome) evince; + evolution-data-server = gnome.evolution-data-server; evolution-ews = callPackage ../applications/networking/mailreaders/evolution/evolution-ews { }; evolution = callPackage ../applications/networking/mailreaders/evolution/evolution { }; evolutionWithPlugins = callPackage ../applications/networking/mailreaders/evolution/evolution/wrapper.nix { plugins = [ evolution evolution-ews ]; }; @@ -23204,7 +23204,7 @@ in gtimelog = with python3Packages; toPythonApplication gtimelog; - inherit (gnome3) gucharmap; + inherit (gnome) gucharmap; guitarix = callPackage ../applications/audio/guitarix { fftw = fftwSinglePrec; @@ -23480,7 +23480,7 @@ in inherit (darwin.apple_sdk.frameworks) Security; }; - inherit (gnome3) gitg; + inherit (gnome) gitg; gmrun = callPackage ../applications/misc/gmrun {}; @@ -23613,7 +23613,7 @@ in celluloid = callPackage ../applications/video/celluloid { }; gnome-recipes = callPackage ../applications/misc/gnome-recipes { - inherit (gnome3) gnome-autoar; + inherit (gnome) gnome-autoar; }; gollum = callPackage ../applications/misc/gollum { }; @@ -24518,7 +24518,7 @@ in luppp = callPackage ../applications/audio/luppp { }; lutris-unwrapped = python3.pkgs.callPackage ../applications/misc/lutris { - inherit (gnome3) gnome-desktop; + inherit (gnome) gnome-desktop; wine = wineWowPackages.staging; }; lutris = callPackage ../applications/misc/lutris/fhsenv.nix { @@ -25946,7 +25946,7 @@ in shutter = callPackage ../applications/graphics/shutter { }; - simple-scan = gnome3.simple-scan; + simple-scan = gnome.simple-scan; siproxd = callPackage ../applications/networking/siproxd { }; @@ -26219,7 +26219,7 @@ in surf-display = callPackage ../desktops/surf-display { }; surge = callPackage ../applications/audio/surge { - inherit (gnome3) zenity; + inherit (gnome) zenity; git = gitMinimal; }; @@ -27350,7 +27350,7 @@ in yeetgif = callPackage ../applications/graphics/yeetgif { }; - inherit (gnome3) yelp; + inherit (gnome) yelp; yelp-tools = callPackage ../development/misc/yelp-tools { }; @@ -28364,7 +28364,7 @@ in protontricks = python3Packages.callPackage ../tools/package-management/protontricks { inherit steam-run; inherit winetricks; - inherit (gnome3) zenity; + inherit (gnome) zenity; }; sdlpop = callPackage ../games/sdlpop { }; @@ -28636,46 +28636,46 @@ in gnome2 = recurseIntoAttrs (callPackage ../desktops/gnome-2 { }); - gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 { }); + gnome = recurseIntoAttrs (callPackage ../desktops/gnome { }); gnomeExtensions = recurseIntoAttrs { - appindicator = callPackage ../desktops/gnome-3/extensions/appindicator { }; - arcmenu = callPackage ../desktops/gnome-3/extensions/arcmenu { }; - caffeine = callPackage ../desktops/gnome-3/extensions/caffeine { }; - clipboard-indicator = callPackage ../desktops/gnome-3/extensions/clipboard-indicator { }; - clock-override = callPackage ../desktops/gnome-3/extensions/clock-override { }; - dash-to-dock = callPackage ../desktops/gnome-3/extensions/dash-to-dock { }; - dash-to-panel = callPackage ../desktops/gnome-3/extensions/dash-to-panel { }; - disable-unredirect = callPackage ../desktops/gnome-3/extensions/disable-unredirect { }; - draw-on-your-screen = callPackage ../desktops/gnome-3/extensions/draw-on-your-screen { }; - drop-down-terminal = callPackage ../desktops/gnome-3/extensions/drop-down-terminal { }; - dynamic-panel-transparency = callPackage ../desktops/gnome-3/extensions/dynamic-panel-transparency { }; - easyScreenCast = callPackage ../desktops/gnome-3/extensions/EasyScreenCast { }; - emoji-selector = callPackage ../desktops/gnome-3/extensions/emoji-selector { }; - freon = callPackage ../desktops/gnome-3/extensions/freon { }; - fuzzy-app-search = callPackage ../desktops/gnome-3/extensions/fuzzy-app-search { }; - gsconnect = callPackage ../desktops/gnome-3/extensions/gsconnect { }; - hot-edge = callPackage ../desktops/gnome-3/extensions/hot-edge { }; - icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { }; - impatience = callPackage ../desktops/gnome-3/extensions/impatience { }; - material-shell = callPackage ../desktops/gnome-3/extensions/material-shell { }; - mpris-indicator-button = callPackage ../desktops/gnome-3/extensions/mpris-indicator-button { }; - night-theme-switcher = callPackage ../desktops/gnome-3/extensions/night-theme-switcher { }; - no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { }; - noannoyance = callPackage ../desktops/gnome-3/extensions/noannoyance { }; - paperwm = callPackage ../desktops/gnome-3/extensions/paperwm { }; - pidgin-im-integration = callPackage ../desktops/gnome-3/extensions/pidgin-im-integration { }; - remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { }; - sound-output-device-chooser = callPackage ../desktops/gnome-3/extensions/sound-output-device-chooser { }; - system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor { }; - taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { }; - tilingnome = callPackage ../desktops/gnome-3/extensions/tilingnome { }; - timepp = callPackage ../desktops/gnome-3/extensions/timepp { }; - topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { }; - unite = callPackage ../desktops/gnome-3/extensions/unite { }; - window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { }; - window-is-ready-remover = callPackage ../desktops/gnome-3/extensions/window-is-ready-remover { }; - workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { }; + appindicator = callPackage ../desktops/gnome/extensions/appindicator { }; + arcmenu = callPackage ../desktops/gnome/extensions/arcmenu { }; + caffeine = callPackage ../desktops/gnome/extensions/caffeine { }; + clipboard-indicator = callPackage ../desktops/gnome/extensions/clipboard-indicator { }; + clock-override = callPackage ../desktops/gnome/extensions/clock-override { }; + dash-to-dock = callPackage ../desktops/gnome/extensions/dash-to-dock { }; + dash-to-panel = callPackage ../desktops/gnome/extensions/dash-to-panel { }; + disable-unredirect = callPackage ../desktops/gnome/extensions/disable-unredirect { }; + draw-on-your-screen = callPackage ../desktops/gnome/extensions/draw-on-your-screen { }; + drop-down-terminal = callPackage ../desktops/gnome/extensions/drop-down-terminal { }; + dynamic-panel-transparency = callPackage ../desktops/gnome/extensions/dynamic-panel-transparency { }; + easyScreenCast = callPackage ../desktops/gnome/extensions/EasyScreenCast { }; + emoji-selector = callPackage ../desktops/gnome/extensions/emoji-selector { }; + freon = callPackage ../desktops/gnome/extensions/freon { }; + fuzzy-app-search = callPackage ../desktops/gnome/extensions/fuzzy-app-search { }; + gsconnect = callPackage ../desktops/gnome/extensions/gsconnect { }; + hot-edge = callPackage ../desktops/gnome/extensions/hot-edge { }; + icon-hider = callPackage ../desktops/gnome/extensions/icon-hider { }; + impatience = callPackage ../desktops/gnome/extensions/impatience { }; + material-shell = callPackage ../desktops/gnome/extensions/material-shell { }; + mpris-indicator-button = callPackage ../desktops/gnome/extensions/mpris-indicator-button { }; + night-theme-switcher = callPackage ../desktops/gnome/extensions/night-theme-switcher { }; + no-title-bar = callPackage ../desktops/gnome/extensions/no-title-bar { }; + noannoyance = callPackage ../desktops/gnome/extensions/noannoyance { }; + paperwm = callPackage ../desktops/gnome/extensions/paperwm { }; + pidgin-im-integration = callPackage ../desktops/gnome/extensions/pidgin-im-integration { }; + remove-dropdown-arrows = callPackage ../desktops/gnome/extensions/remove-dropdown-arrows { }; + sound-output-device-chooser = callPackage ../desktops/gnome/extensions/sound-output-device-chooser { }; + system-monitor = callPackage ../desktops/gnome/extensions/system-monitor { }; + taskwhisperer = callPackage ../desktops/gnome/extensions/taskwhisperer { }; + tilingnome = callPackage ../desktops/gnome/extensions/tilingnome { }; + timepp = callPackage ../desktops/gnome/extensions/timepp { }; + topicons-plus = callPackage ../desktops/gnome/extensions/topicons-plus { }; + unite = callPackage ../desktops/gnome/extensions/unite { }; + window-corner-preview = callPackage ../desktops/gnome/extensions/window-corner-preview { }; + window-is-ready-remover = callPackage ../desktops/gnome/extensions/window-is-ready-remover { }; + workspace-matrix = callPackage ../desktops/gnome/extensions/workspace-matrix { }; nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; @@ -28684,9 +28684,9 @@ in arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14 }; - gnome-connections = callPackage ../desktops/gnome-3/apps/gnome-connections { }; + gnome-connections = callPackage ../desktops/gnome/apps/gnome-connections { }; - gnome-tour = callPackage ../desktops/gnome-3/core/gnome-tour { }; + gnome-tour = callPackage ../desktops/gnome/core/gnome-tour { }; hhexen = callPackage ../games/hhexen { }; @@ -28722,7 +28722,7 @@ in latte-dock = libsForQt5.callPackage ../applications/misc/latte-dock { }; - gnome-themes-extra = gnome3.gnome-themes-extra; + gnome-themes-extra = gnome.gnome-themes-extra; rox-filer = callPackage ../desktops/rox/rox-filer { gtk = gtk2; @@ -30831,7 +30831,7 @@ in }); winetricks = callPackage ../misc/emulators/wine/winetricks.nix { - inherit (gnome3) zenity; + inherit (gnome) zenity; }; wishbone-tool = callPackage ../development/tools/misc/wishbone-tool { }; @@ -31096,7 +31096,7 @@ in chrome-export = callPackage ../tools/misc/chrome-export {}; - chrome-gnome-shell = callPackage ../desktops/gnome-3/extensions/chrome-gnome-shell {}; + chrome-gnome-shell = callPackage ../desktops/gnome/extensions/chrome-gnome-shell {}; chrome-token-signing = libsForQt5.callPackage ../tools/security/chrome-token-signing {}; -- cgit 1.4.1 From 6f6b2cdc98f93701caf74e512ac0e3fe68730c23 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 May 2021 13:11:26 +0200 Subject: nix: 2.3.10 -> 2.3.11 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 6b1f54beee2..801e28cec44 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10"; - i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10"; - aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10"; - x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10"; + x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11"; + i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11"; + aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11"; + x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index a16e74819a6..e4a8cf48efb 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -199,7 +199,7 @@ in rec { version = "2.3.10"; src = fetchurl { url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz"; - sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; + sha256 = "89a8d7995305a78b1561e6670bbf1879c791fc4904eb094bc4f180775a61c128"; }; patches = [( -- cgit 1.4.1 From 1872bbdae55ffc82bbbe632e50fcea0e2bb5fcea Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 14 May 2021 11:30:55 +0000 Subject: Revert "nix: 2.3.10 -> 2.3.11" This reverts commit 6f6b2cdc98f93701caf74e512ac0e3fe68730c23. Version wasn't updated, and apparently a patch didn't apply. Let's do this upgrade properly, in a PR, but for now I'm reverting so we don't have a broken nix package in master. --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 801e28cec44..6b1f54beee2 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11"; - i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11"; - aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11"; - x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11"; + x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10"; + i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10"; + aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10"; + x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index e4a8cf48efb..a16e74819a6 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -199,7 +199,7 @@ in rec { version = "2.3.10"; src = fetchurl { url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz"; - sha256 = "89a8d7995305a78b1561e6670bbf1879c791fc4904eb094bc4f180775a61c128"; + sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; }; patches = [( -- cgit 1.4.1 From 66fc303070a8ed731ffcb8733b825a03d5a2babe Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 May 2021 13:33:05 +0200 Subject: Revert "Revert "nix: 2.3.10 -> 2.3.11"" This reverts commit 1872bbdae55ffc82bbbe632e50fcea0e2bb5fcea. --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 6b1f54beee2..801e28cec44 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10"; - i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10"; - aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10"; - x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10"; + x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11"; + i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11"; + aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11"; + x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 4e2345c1ac9..570d1ac7482 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -199,7 +199,7 @@ in rec { version = "2.3.11"; src = fetchurl { url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz"; - sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; + sha256 = "89a8d7995305a78b1561e6670bbf1879c791fc4904eb094bc4f180775a61c128"; }; patches = [( -- cgit 1.4.1 From 195d532a63a9780790c1b4dca73af2cef3dbecb0 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Fri, 14 May 2021 11:34:29 +0000 Subject: Revert "Revert "Revert "nix: 2.3.10 -> 2.3.11""" This reverts commit 66fc303070a8ed731ffcb8733b825a03d5a2babe. There is still a patch that doesn't apply. --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 801e28cec44..6b1f54beee2 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11"; - i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11"; - aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11"; - x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11"; + x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10"; + i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10"; + aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10"; + x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 570d1ac7482..4e2345c1ac9 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -199,7 +199,7 @@ in rec { version = "2.3.11"; src = fetchurl { url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz"; - sha256 = "89a8d7995305a78b1561e6670bbf1879c791fc4904eb094bc4f180775a61c128"; + sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; }; patches = [( -- cgit 1.4.1 From b08e223a048022dcbaaeb82943f7c4e8e870397d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 May 2021 13:11:26 +0200 Subject: nix: 2.3.10 -> 2.3.11 The patch is included in the new release, so can be dropped. Co-authored-by: Alyssa Ross --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 11 ++--------- 2 files changed, 6 insertions(+), 13 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 6b1f54beee2..801e28cec44 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/iwfs2bfcy7lqwhri94p2i6jc87ih55zk-nix-2.3.10"; - i686-linux = "/nix/store/a3ccfvy9i5n418d5v0bir330kbcz3vj8-nix-2.3.10"; - aarch64-linux = "/nix/store/bh5g6cv7bv35iz853d3xv2sphn51ybmb-nix-2.3.10"; - x86_64-darwin = "/nix/store/8c98r6zlwn2d40qm7jnnrr2rdlqviszr-nix-2.3.10"; + x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11"; + i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11"; + aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11"; + x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index a16e74819a6..d808eebcc93 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -196,19 +196,12 @@ in rec { nixStable = callPackage common (rec { pname = "nix"; - version = "2.3.10"; + version = "2.3.11"; src = fetchurl { url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz"; - sha256 = "a8a85e55de43d017abbf13036edfb58674ca136691582f17080c1cd12787b7ab"; + sha256 = "89a8d7995305a78b1561e6670bbf1879c791fc4904eb094bc4f180775a61c128"; }; - patches = [( - fetchpatch { - url = "https://github.com/NixOS/nix/pull/4316.patch"; - sha256 = "0bqlm4n9sac9prgr9xlfng92arisp1hiqvc9pfh4fibsppkgdfc5"; - } - )]; - inherit storeDir stateDir confDir boehmgc; }); -- cgit 1.4.1 From e3cd6444584dc2d018a39ad7f94769caf043e621 Mon Sep 17 00:00:00 2001 From: Ning Shang Date: Fri, 16 Apr 2021 10:15:25 -0700 Subject: iso-image: Use fixed-order mcopy instead of file globbing mcopy file globbing is non-deterministic with respect to the underlying file system. As a result, the current mcopy approach is less likely to reproduce efi.img on different machines. We replace mcopy file globbing with fixed-order mmd and mcopy operations for better determinism. We also use faketime on mmd for the same reason. We use faketime, mmd, and mcopy directly, becase they are already in PATH. Thank misuzu@ for the feedback. --- nixos/modules/installer/cd-dvd/iso-image.nix | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 324b38070e4..5910bfc05ac 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -415,7 +415,24 @@ let echo "Image size: $image_size" truncate --size=$image_size "$out" faketime "2000-01-01 00:00:00" mkfs.vfat -i 12345678 -n EFIBOOT "$out" - mcopy -psvm -i "$out" ./EFI ./boot :: + + # Force a fixed order in mcopy for better determinism, and avoid file globbing + for d in $(find EFI -type d | sort); do + faketime "2000-01-01 00:00:00" mmd -i "$out" "::/$d" + done + + for d in $(find boot -type d | sort); do + faketime "2000-01-01 00:00:00" mmd -i "$out" "::/$d" + done + + for f in $(find EFI -type f | sort); do + mcopy -pvm -i "$out" "$f" "::/$f" + done + + for f in $(find boot -type f | sort); do + mcopy -pvm -i "$out" "$f" "::/$f" + done + # Verify the FAT partition. fsck.vfat -vn "$out" ''; # */ -- cgit 1.4.1 From 4db7eb476f30a819eacd1459d78bf8fe5b3bccb3 Mon Sep 17 00:00:00 2001 From: Ning Shang Date: Thu, 20 May 2021 11:01:17 -0700 Subject: iso-image: Workaround for better determinism in du output The value of du output depends on the underlying file system, and thus is not fully deterministic. This workaround rounds up the disk usage size to the nearest multiple of 1MB, to increase the probability that two du output values on two different file systems fall within the same 1MB window. Note that this workaround won't make du output 100% reproducible, but will increase the probability of getting deterministic builds across different file systems. --- nixos/modules/installer/cd-dvd/iso-image.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 5910bfc05ac..c3d12bda28d 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -405,7 +405,8 @@ let "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/ touch --date=@0 ./EFI ./boot - usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]') + # Round up to the nearest multiple of 1MB, for more deterministic du output + usage_size=$(( $(du -s --block-size=1M --apparent-size . | tr -cd '[:digit:]') * 1024 * 1024 )) # Make the image 110% as big as the files need to make up for FAT overhead image_size=$(( ($usage_size * 110) / 100 )) # Make the image fit blocks of 1M -- cgit 1.4.1 From 657e924ad853e099cbc36be50478e9877aa05a25 Mon Sep 17 00:00:00 2001 From: Ning Shang Date: Thu, 20 May 2021 12:17:04 -0700 Subject: iso-image: More concise code for fixed order mmd and mcopy operations Thanks @misuzu for the suggestions. --- nixos/modules/installer/cd-dvd/iso-image.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index c3d12bda28d..62fc097f9dd 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -418,19 +418,11 @@ let faketime "2000-01-01 00:00:00" mkfs.vfat -i 12345678 -n EFIBOOT "$out" # Force a fixed order in mcopy for better determinism, and avoid file globbing - for d in $(find EFI -type d | sort); do + for d in $(find EFI boot -type d | sort); do faketime "2000-01-01 00:00:00" mmd -i "$out" "::/$d" done - for d in $(find boot -type d | sort); do - faketime "2000-01-01 00:00:00" mmd -i "$out" "::/$d" - done - - for f in $(find EFI -type f | sort); do - mcopy -pvm -i "$out" "$f" "::/$f" - done - - for f in $(find boot -type f | sort); do + for f in $(find EFI boot -type f | sort); do mcopy -pvm -i "$out" "$f" "::/$f" done -- cgit 1.4.1 From f93f0e72e9ef423ed591951030f08cafd209e637 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 22 May 2021 18:16:42 -0400 Subject: iso-image: Force gfxmode https://www.gnu.org/software/grub/manual/grub/html_node/gfxmode.html --- nixos/modules/installer/cd-dvd/iso-image.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 324b38070e4..3f5ac8a5113 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -185,6 +185,19 @@ let insmod gfxterm insmod png set gfxpayload=keep + set gfxmode=${concatStringsSep "," [ + # GRUB will use the first valid mode listed here. + # `auto` will sometimes choose the smallest valid mode it detects. + # So instead we'll list a lot of possibly valid modes :/ + #"3840x2160" + #"2560x1440" + "1920x1080" + "1366x768" + "1280x720" + "1024x768" + "800x600" + "auto" + ]} # Fonts can be loaded? # (This font is assumed to always be provided as a fallback by NixOS) -- cgit 1.4.1 From 15eaed0718515db3f2fa7d4ed71676e6069d3fb5 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 22 May 2021 18:38:31 -0400 Subject: iso-image: change date on all files It may be that in some conditions dates earlier than 1980 on FAT on GRUB 2.06~ish will cause failures https://github.com/NixOS/nixpkgs/issues/123376#issuecomment-845515035 --- nixos/modules/installer/cd-dvd/iso-image.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 3f5ac8a5113..be5db40e537 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -416,7 +416,9 @@ let mkdir ./boot cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \ "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/ - touch --date=@0 ./EFI ./boot + + # Rewrite dates for everything in the FS + find . -exec touch --date=2000-01-01 {} + usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]') # Make the image 110% as big as the files need to make up for FAT overhead -- cgit 1.4.1 From c9bb054dd68964b0eb9a38c51bdf824bfb212fc7 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 22 May 2021 17:07:36 -0400 Subject: iso-image: unqualified root → ($root) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This technically changes nothing. In practice `$root` is always the "CWD", whether searched for automatically or not. But this serves to announce we are relying on `$root`... I guess... --- nixos/modules/installer/cd-dvd/iso-image.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index be5db40e537..321a03a0f0c 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -201,7 +201,7 @@ let # Fonts can be loaded? # (This font is assumed to always be provided as a fallback by NixOS) - if loadfont /EFI/boot/unicode.pf2; then + if loadfont (\$root)/EFI/boot/unicode.pf2; then set with_fonts=true fi if [ "\$textmode" != "true" -a "\$with_fonts" == "true" ]; then @@ -225,11 +225,11 @@ let ${ # When there is a theme configured, use it, otherwise use the background image. if config.isoImage.grubTheme != null then '' # Sets theme. - set theme=/EFI/boot/grub-theme/theme.txt + set theme=(\$root)/EFI/boot/grub-theme/theme.txt # Load theme fonts - $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont /EFI/boot/grub-theme/%P\n") + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (\$root)/EFI/boot/grub-theme/%P\n") '' else '' - if background_image /EFI/boot/efi-background.png; then + if background_image (\$root)/EFI/boot/efi-background.png; then # Black background means transparent background when there # is a background image set... This seems undocumented :( set color_normal=black/black @@ -307,12 +307,12 @@ let ${grubMenuCfg} hiddenentry 'Text mode' --hotkey 't' { - loadfont /EFI/boot/unicode.pf2 + loadfont (\$root)/EFI/boot/unicode.pf2 set textmode=true terminal_output gfxterm console } hiddenentry 'GUI mode' --hotkey 'g' { - $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont /EFI/boot/grub-theme/%P\n") + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (\$root)/EFI/boot/grub-theme/%P\n") set textmode=false terminal_output gfxterm } -- cgit 1.4.1 From 20b023b5ea63a6513a4dce7f162736a00bce5cc8 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sat, 22 May 2021 20:01:07 -0400 Subject: iso-image: Improve disk detection This should help in rare hardware-specific situations where the root is not automatically detected properly. We search using a marker file. This should help some weird UEFI setups where the root is set to `(hd0,msdos2)` by default. Defaulting to `(hd0)` by looking for the ESP **will break themeing**. It is unclear why, but files in `(hd0,msdos2)` are not all present as they should be. This also fixes an issue introduced with cb5c4fcd3c5d4070f040d591b2dd1da580f234d1 where rEFInd stopped booting in many cases. This is because it ended up using (hd0) rather than using the `search` which was happening beforehand, which in turn uses (hd0,msdos2), which is the ESP. Putting back the `search` here fixes that. --- nixos/modules/installer/cd-dvd/iso-image.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 321a03a0f0c..c2836b5a9a1 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -182,6 +182,9 @@ let # Menu configuration # + # Search using a "marker file" + search --set=root --file /EFI/nixos-installer-image + insmod gfxterm insmod png set gfxpayload=keep @@ -252,6 +255,9 @@ let } '' mkdir -p $out/EFI/boot/ + # Add a marker so GRUB can find the filesystem. + touch $out/EFI/nixos-installer-image + # ALWAYS required modules. MODULES="fat iso9660 part_gpt part_msdos \ normal boot linux configfile loopback chain halt \ @@ -383,8 +389,10 @@ let ${lib.optionalString (refindBinary != null) '' # GRUB apparently cannot do "chainloader" operations on "CD". if [ "\$root" != "cd0" ]; then + # Force root to be the FAT partition + # Otherwise it breaks rEFInd's boot + search --set=root --no-floppy --fs-uuid 1234-5678 menuentry 'rEFInd' --class refind { - # \$root defaults to the drive the EFI is found on. chainloader (\$root)/EFI/boot/${refindBinary} } fi -- cgit 1.4.1 From ea34fe21e18f87dc8b333672f23edf2bcee98cd7 Mon Sep 17 00:00:00 2001 From: jakobrs Date: Tue, 8 Jun 2021 18:52:02 +0200 Subject: treewide: Use `fileSystems..depends` option where necessary --- nixos/modules/installer/cd-dvd/iso-image.nix | 6 ++++++ nixos/modules/installer/netboot/netboot.nix | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index c2836b5a9a1..4e5d888c4bb 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -680,6 +680,12 @@ in "upperdir=/nix/.rw-store/store" "workdir=/nix/.rw-store/work" ]; + + depends = [ + "/nix/.ro-store" + "/nix/.rw-store/store" + "/nix/.rw-store/work" + ]; }; boot.initrd.availableKernelModules = [ "squashfs" "iso9660" "uas" "overlay" ]; diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix index fa074fdfcc6..238ab6d0617 100644 --- a/nixos/modules/installer/netboot/netboot.nix +++ b/nixos/modules/installer/netboot/netboot.nix @@ -57,6 +57,12 @@ with lib; "upperdir=/nix/.rw-store/store" "workdir=/nix/.rw-store/work" ]; + + depends = [ + "/nix/.ro-store" + "/nix/.rw-store/store" + "/nix/.rw-store/work" + ]; }; boot.initrd.availableKernelModules = [ "squashfs" "overlay" ]; -- cgit 1.4.1 From 1db54a5522a2d523e406ce8713bfe88bb9e3f657 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Fri, 25 Jun 2021 11:35:25 +0200 Subject: nixos/sdcard: make firmware partition offset configurable Different boards using u-boot SPL require to write to different locations. Sometimes, the 8MiB gap isn't sufficient - rk3399 boards write to 0x16384 for example, which is at 8MiB, thus overriding the fat32 partition with the SPL. --- nixos/modules/installer/sd-card/sd-image.nix | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/sd-card/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix index d0fe79903d3..2a10a77300e 100644 --- a/nixos/modules/installer/sd-card/sd-image.nix +++ b/nixos/modules/installer/sd-card/sd-image.nix @@ -55,6 +55,22 @@ in ''; }; + firmwarePartitionOffset = mkOption { + type = types.int; + default = 8; + description = '' + Gap in front of the /boot/firmware partition, in mebibytes (1024×1024 + bytes). + Can be increased to make more space for boards requiring to dd u-boot + SPL before actual partitions. + + Unless you are building your own images pre-configured with an + installed U-Boot, you can instead opt to delete the existing `FIRMWARE` + partition, which is used **only** for the Raspberry Pi family of + hardware. + ''; + }; + firmwarePartitionID = mkOption { type = types.str; default = "0x2178694e"; @@ -177,7 +193,7 @@ in zstd -d --no-progress "${rootfsImage}" -o ./root-fs.img # Gap in front of the first partition, in MiB - gap=8 + gap=${toString config.sdImage.firmwarePartitionOffset} # Create the image file sized to fit /boot/firmware and /, plus slack for the gap. rootSizeBlocks=$(du -B 512 --apparent-size ./root-fs.img | awk '{ print $1 }') -- cgit 1.4.1 From 7e59c1971572b261fc1a738c2d12ea33bd73bba5 Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Tue, 29 Jun 2021 11:20:29 -0600 Subject: nixos-option: remove if `nix.package` is unstable This was done in a0a61c3e34873d02034cb804975ad2981328b5b4, but users typically install `nixUnstable` via `nix.package`, not by overlaying `pkgs.nix` directly. --- nixos/modules/installer/tools/tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index cb2dbf6c859..1dc0578daca 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -40,7 +40,7 @@ let }; nixos-option = - if lib.versionAtLeast (lib.getVersion pkgs.nix) "2.4pre" + if lib.versionAtLeast (lib.getVersion config.nix.package) "2.4pre" then null else pkgs.callPackage ./nixos-option { }; -- cgit 1.4.1 From 2e4849b84104b20a275c1ac6cba150c679bc3992 Mon Sep 17 00:00:00 2001 From: jakobrs Date: Sat, 26 Dec 2020 10:55:40 +0100 Subject: installation-cd-base.nix: Add 'live.nixos.passwd' boot option For interactive SSH access to a system without a (working) keyboard and monitor, without rebuilding the image itself. --- .../doc/manual/administration/boot-problems.section.md | 6 ++++++ .../from_md/administration/boot-problems.section.xml | 17 +++++++++++++++++ nixos/modules/installer/cd-dvd/installation-cd-base.nix | 11 +++++++++++ 3 files changed, 34 insertions(+) (limited to 'nixos/modules/installer') diff --git a/nixos/doc/manual/administration/boot-problems.section.md b/nixos/doc/manual/administration/boot-problems.section.md index eb9209602a3..dee83e7ec22 100644 --- a/nixos/doc/manual/administration/boot-problems.section.md +++ b/nixos/doc/manual/administration/boot-problems.section.md @@ -30,6 +30,12 @@ If NixOS fails to boot, there are a number of kernel command line parameters tha : Make systemd very verbose and send log messages to the console instead of the journal. For more parameters recognised by systemd, see systemd(1). +In addition, these arguments are recognised by the live image only: + +`live.nixos.passwd=password` + +: Set the password for the `nixos` live user. This can be used for SSH access if there are issues using the terminal. + Notice that for `boot.shell_on_fail`, `boot.debug1`, `boot.debug1devices`, and `boot.debug1mounts`, if you did **not** select "start the new shell as pid 1", and you `exit` from the new shell, boot will proceed normally from the point where it failed, as if you'd chosen "ignore the error and continue". If no login prompts or X11 login screens appear (e.g. due to hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start rescue mode (described above). (Also note that since most units have a 90-second timeout before systemd gives up on them, the `agetty` login prompts should appear eventually unless something is very wrong.) diff --git a/nixos/doc/manual/from_md/administration/boot-problems.section.xml b/nixos/doc/manual/from_md/administration/boot-problems.section.xml index b484d075818..4ea01e78f32 100644 --- a/nixos/doc/manual/from_md/administration/boot-problems.section.xml +++ b/nixos/doc/manual/from_md/administration/boot-problems.section.xml @@ -106,6 +106,23 @@ + + In addition, these arguments are recognised by the live image only: + + + + + live.nixos.passwd=password + + + + Set the password for the nixos live user. + This can be used for SSH access if there are issues using the + terminal. + + + + Notice that for boot.shell_on_fail, boot.debug1, diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 6c7ea293e8a..aecb65b8c57 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -30,5 +30,16 @@ with lib; # Add Memtest86+ to the CD. boot.loader.grub.memtest86.enable = true; + boot.postBootCommands = '' + for o in $( Date: Thu, 8 Jul 2021 23:58:40 +0200 Subject: nixos-option: init at --- .../installer/tools/nixos-option/CMakeLists.txt | 8 - .../installer/tools/nixos-option/default.nix | 11 - .../tools/nixos-option/libnix-copy-paste.cc | 83 --- .../tools/nixos-option/libnix-copy-paste.hh | 9 - .../installer/tools/nixos-option/nixos-option.cc | 643 --------------------- nixos/modules/installer/tools/tools.nix | 2 +- pkgs/tools/nix/nixos-option/CMakeLists.txt | 8 + pkgs/tools/nix/nixos-option/default.nix | 12 + pkgs/tools/nix/nixos-option/libnix-copy-paste.cc | 83 +++ pkgs/tools/nix/nixos-option/libnix-copy-paste.hh | 9 + pkgs/tools/nix/nixos-option/nixos-option.cc | 643 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 12 files changed, 758 insertions(+), 755 deletions(-) delete mode 100644 nixos/modules/installer/tools/nixos-option/CMakeLists.txt delete mode 100644 nixos/modules/installer/tools/nixos-option/default.nix delete mode 100644 nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc delete mode 100644 nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh delete mode 100644 nixos/modules/installer/tools/nixos-option/nixos-option.cc create mode 100644 pkgs/tools/nix/nixos-option/CMakeLists.txt create mode 100644 pkgs/tools/nix/nixos-option/default.nix create mode 100644 pkgs/tools/nix/nixos-option/libnix-copy-paste.cc create mode 100644 pkgs/tools/nix/nixos-option/libnix-copy-paste.hh create mode 100644 pkgs/tools/nix/nixos-option/nixos-option.cc (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-option/CMakeLists.txt b/nixos/modules/installer/tools/nixos-option/CMakeLists.txt deleted file mode 100644 index e5834598c4f..00000000000 --- a/nixos/modules/installer/tools/nixos-option/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required (VERSION 2.6) -project (nixos-option) - -add_executable(nixos-option nixos-option.cc libnix-copy-paste.cc) -target_link_libraries(nixos-option PRIVATE -lnixmain -lnixexpr -lnixstore -lnixutil) -target_compile_features(nixos-option PRIVATE cxx_std_17) - -install (TARGETS nixos-option DESTINATION bin) diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix deleted file mode 100644 index 72eec3a3836..00000000000 --- a/nixos/modules/installer/tools/nixos-option/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{lib, stdenv, boost, cmake, pkg-config, nix, ... }: -stdenv.mkDerivation rec { - name = "nixos-option"; - src = ./.; - nativeBuildInputs = [ cmake pkg-config ]; - buildInputs = [ boost nix ]; - meta = with lib; { - license = licenses.lgpl2Plus; - maintainers = with maintainers; [ chkno ]; - }; -} diff --git a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc deleted file mode 100644 index 875c07da639..00000000000 --- a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.cc +++ /dev/null @@ -1,83 +0,0 @@ -// These are useful methods inside the nix library that ought to be exported. -// Since they are not, copy/paste them here. -// TODO: Delete these and use the ones in the library as they become available. - -#include // for nix/globals.hh's reference to SYSTEM - -#include "libnix-copy-paste.hh" -#include // for basic_altstringbuf... -#include // for basic_altstringbuf... -#include // for basic_format -#include // for format -#include // for basic_format::basi... -#include // for get_pointer -#include // for operator<<, basic_... -#include // for Strings, Error -#include // for string, basic_string - -using boost::format; -using nix::Error; -using nix::Strings; -using std::string; - -// From nix/src/libexpr/attr-path.cc -Strings parseAttrPath(const string & s) -{ - Strings res; - string cur; - string::const_iterator i = s.begin(); - while (i != s.end()) { - if (*i == '.') { - res.push_back(cur); - cur.clear(); - } else if (*i == '"') { - ++i; - while (1) { - if (i == s.end()) - throw Error(format("missing closing quote in selection path '%1%'") % s); - if (*i == '"') - break; - cur.push_back(*i++); - } - } else - cur.push_back(*i); - ++i; - } - if (!cur.empty()) - res.push_back(cur); - return res; -} - -// From nix/src/nix/repl.cc -bool isVarName(const string & s) -{ - if (s.size() == 0) - return false; - char c = s[0]; - if ((c >= '0' && c <= '9') || c == '-' || c == '\'') - return false; - for (auto & i : s) - if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || i == '_' || i == '-' || - i == '\'')) - return false; - return true; -} - -// From nix/src/nix/repl.cc -std::ostream & printStringValue(std::ostream & str, const char * string) -{ - str << "\""; - for (const char * i = string; *i; i++) - if (*i == '\"' || *i == '\\') - str << "\\" << *i; - else if (*i == '\n') - str << "\\n"; - else if (*i == '\r') - str << "\\r"; - else if (*i == '\t') - str << "\\t"; - else - str << *i; - str << "\""; - return str; -} diff --git a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh b/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh deleted file mode 100644 index 2274e9a0f85..00000000000 --- a/nixos/modules/installer/tools/nixos-option/libnix-copy-paste.hh +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include -#include -#include - -nix::Strings parseAttrPath(const std::string & s); -bool isVarName(const std::string & s); -std::ostream & printStringValue(std::ostream & str, const char * string); diff --git a/nixos/modules/installer/tools/nixos-option/nixos-option.cc b/nixos/modules/installer/tools/nixos-option/nixos-option.cc deleted file mode 100644 index f779d82edbd..00000000000 --- a/nixos/modules/installer/tools/nixos-option/nixos-option.cc +++ /dev/null @@ -1,643 +0,0 @@ -#include // for nix/globals.hh's reference to SYSTEM - -#include // for exception_ptr, current_exception -#include // for function -#include // for operator<<, basic_ostream, ostrin... -#include // for next -#include // for _List_iterator -#include // for allocator, unique_ptr, make_unique -#include // for operator new -#include // for argvToStrings, UsageError -#include // for findAlongAttrPath -#include // for Attr, Bindings, Bindings::iterator -#include // for MixEvalArgs -#include // for EvalState::forceValue -#include // for EvalState, initGC, operator<< -#include // for initPlugins, Settings, settings -#include // for Pos -#include // for getArg, LegacyArgs, printVersion -#include // for openStore -#include // for Symbol, SymbolTable -#include // for Error, Path, Strings, PathSet -#include // for absPath, baseNameOf -#include // for Value, Value::(anonymous), Value:... -#include // for string, operator+, operator== -#include // for move -#include // for get, holds_alternative, variant -#include // for vector<>::iterator, vector - -#include "libnix-copy-paste.hh" - -using nix::absPath; -using nix::Bindings; -using nix::Error; -using nix::EvalError; -using nix::EvalState; -using nix::Path; -using nix::PathSet; -using nix::Strings; -using nix::Symbol; -using nix::tAttrs; -using nix::ThrownError; -using nix::tLambda; -using nix::tString; -using nix::UsageError; -using nix::Value; - -// An ostream wrapper to handle nested indentation -class Out -{ - public: - class Separator - {}; - const static Separator sep; - enum LinePolicy - { - ONE_LINE, - MULTI_LINE - }; - explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), writeSinceSep(true) {} - Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy); - Out(Out & o, const std::string & start, const std::string & end, int count) - : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) - {} - Out(const Out &) = delete; - Out(Out &&) = default; - Out & operator=(const Out &) = delete; - Out & operator=(Out &&) = delete; - ~Out() { ostream << end; } - - private: - std::ostream & ostream; - std::string indentation; - std::string end; - LinePolicy policy; - bool writeSinceSep; - template friend Out & operator<<(Out & o, T thing); -}; - -template Out & operator<<(Out & o, T thing) -{ - if (!o.writeSinceSep && o.policy == Out::MULTI_LINE) { - o.ostream << o.indentation; - } - o.writeSinceSep = true; - o.ostream << thing; - return o; -} - -template <> Out & operator<<(Out & o, Out::Separator /* thing */) -{ - o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n"); - o.writeSinceSep = false; - return o; -} - -Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy) - : ostream(o.ostream), indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), - end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), writeSinceSep(true) -{ - o << start; - *this << Out::sep; -} - -// Stuff needed for evaluation -struct Context -{ - Context(EvalState & state, Bindings & autoArgs, Value optionsRoot, Value configRoot) - : state(state), autoArgs(autoArgs), optionsRoot(optionsRoot), configRoot(configRoot), - underscoreType(state.symbols.create("_type")) - {} - EvalState & state; - Bindings & autoArgs; - Value optionsRoot; - Value configRoot; - Symbol underscoreType; -}; - -Value evaluateValue(Context & ctx, Value & v) -{ - ctx.state.forceValue(v); - if (ctx.autoArgs.empty()) { - return v; - } - Value called{}; - ctx.state.autoCallFunction(ctx.autoArgs, v, called); - return called; -} - -bool isOption(Context & ctx, const Value & v) -{ - if (v.type != tAttrs) { - return false; - } - const auto & actualType = v.attrs->find(ctx.underscoreType); - if (actualType == v.attrs->end()) { - return false; - } - try { - Value evaluatedType = evaluateValue(ctx, *actualType->value); - if (evaluatedType.type != tString) { - return false; - } - return static_cast(evaluatedType.string.s) == "option"; - } catch (Error &) { - return false; - } -} - -// Add quotes to a component of a path. -// These are needed for paths like: -// fileSystems."/".fsType -// systemd.units."dbus.service".text -std::string quoteAttribute(const std::string & attribute) -{ - if (isVarName(attribute)) { - return attribute; - } - std::ostringstream buf; - printStringValue(buf, attribute.c_str()); - return buf.str(); -} - -const std::string appendPath(const std::string & prefix, const std::string & suffix) -{ - if (prefix.empty()) { - return quoteAttribute(suffix); - } - return prefix + "." + quoteAttribute(suffix); -} - -bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } - -void recurse(const std::function)> & f, - Context & ctx, Value v, const std::string & path) -{ - std::variant evaluated; - try { - evaluated = evaluateValue(ctx, v); - } catch (Error &) { - evaluated = std::current_exception(); - } - if (!f(path, evaluated)) { - return; - } - if (std::holds_alternative(evaluated)) { - return; - } - const Value & evaluated_value = std::get(evaluated); - if (evaluated_value.type != tAttrs) { - return; - } - for (const auto & child : evaluated_value.attrs->lexicographicOrder()) { - if (forbiddenRecursionName(child->name)) { - continue; - } - recurse(f, ctx, *child->value, appendPath(path, child->name)); - } -} - -bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType) -{ - try { - const auto & typeLookup = v.attrs->find(ctx.state.sType); - if (typeLookup == v.attrs->end()) { - return false; - } - Value type = evaluateValue(ctx, *typeLookup->value); - if (type.type != tAttrs) { - return false; - } - const auto & nameLookup = type.attrs->find(ctx.state.sName); - if (nameLookup == type.attrs->end()) { - return false; - } - Value name = evaluateValue(ctx, *nameLookup->value); - if (name.type != tString) { - return false; - } - return name.string.s == soughtType; - } catch (Error &) { - return false; - } -} - -bool isAggregateOptionType(Context & ctx, Value & v) -{ - return optionTypeIs(ctx, v, "attrsOf") || optionTypeIs(ctx, v, "listOf"); -} - -MakeError(OptionPathError, EvalError); - -Value getSubOptions(Context & ctx, Value & option) -{ - Value getSubOptions = evaluateValue(ctx, *findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option)); - if (getSubOptions.type != tLambda) { - throw OptionPathError("Option's type.getSubOptions isn't a function"); - } - Value emptyString{}; - nix::mkString(emptyString, ""); - Value v; - ctx.state.callFunction(getSubOptions, emptyString, v, nix::Pos{}); - return v; -} - -// Carefully walk an option path, looking for sub-options when a path walks past -// an option value. -struct FindAlongOptionPathRet -{ - Value option; - std::string path; -}; -FindAlongOptionPathRet findAlongOptionPath(Context & ctx, const std::string & path) -{ - Strings tokens = parseAttrPath(path); - Value v = ctx.optionsRoot; - std::string processedPath; - for (auto i = tokens.begin(); i != tokens.end(); i++) { - const auto & attr = *i; - try { - bool lastAttribute = std::next(i) == tokens.end(); - v = evaluateValue(ctx, v); - if (attr.empty()) { - throw OptionPathError("empty attribute name"); - } - if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { - v = getSubOptions(ctx, v); - } - if (isOption(ctx, v) && isAggregateOptionType(ctx, v)) { - auto subOptions = getSubOptions(ctx, v); - if (lastAttribute && subOptions.attrs->empty()) { - break; - } - v = subOptions; - // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked - // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". - } else if (v.type != tAttrs) { - throw OptionPathError("Value is %s while a set was expected", showType(v)); - } else { - const auto & next = v.attrs->find(ctx.state.symbols.create(attr)); - if (next == v.attrs->end()) { - throw OptionPathError("Attribute not found", attr, path); - } - v = *next->value; - } - processedPath = appendPath(processedPath, attr); - } catch (OptionPathError & e) { - throw OptionPathError("At '%s' in path '%s': %s", attr, path, e.msg()); - } - } - return {v, processedPath}; -} - -// Calls f on all the option names at or below the option described by `path`. -// Note that "the option described by `path`" is not trivial -- if path describes a value inside an aggregate -// option (such as users.users.root), the *option* described by that path is one path component shorter -// (eg: users.users), which results in f being called on sibling-paths (eg: users.users.nixbld1). If f -// doesn't want these, it must do its own filtering. -void mapOptions(const std::function & f, Context & ctx, const std::string & path) -{ - auto root = findAlongOptionPath(ctx, path); - recurse( - [f, &ctx](const std::string & path, std::variant v) { - bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); - if (isOpt) { - f(path); - } - return !isOpt; - }, - ctx, root.option, root.path); -} - -// Calls f on all the config values inside one option. -// Simple options have one config value inside, like sound.enable = true. -// Compound options have multiple config values. For example, the option -// "users.users" has about 1000 config values inside it: -// users.users.avahi.createHome = false; -// users.users.avahi.cryptHomeLuks = null; -// users.users.avahi.description = "`avahi-daemon' privilege separation user"; -// ... -// users.users.avahi.openssh.authorizedKeys.keyFiles = [ ]; -// users.users.avahi.openssh.authorizedKeys.keys = [ ]; -// ... -// users.users.avahi.uid = 10; -// users.users.avahi.useDefaultShell = false; -// users.users.cups.createHome = false; -// ... -// users.users.cups.useDefaultShell = false; -// users.users.gdm = ... ... ... -// users.users.messagebus = ... .. ... -// users.users.nixbld1 = ... .. ... -// ... -// users.users.systemd-timesync = ... .. ... -void mapConfigValuesInOption( - const std::function v)> & f, - const std::string & path, Context & ctx) -{ - Value * option; - try { - option = findAlongAttrPath(ctx.state, path, ctx.autoArgs, ctx.configRoot); - } catch (Error &) { - f(path, std::current_exception()); - return; - } - recurse( - [f, ctx](const std::string & path, std::variant v) { - bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || - ctx.state.isDerivation(std::get(v)); - if (!leaf) { - return true; // Keep digging - } - f(path, v); - return false; - }, - ctx, *option, path); -} - -std::string describeError(const Error & e) { return "«error: " + e.msg() + "»"; } - -void describeDerivation(Context & ctx, Out & out, Value v) -{ - // Copy-pasted from nix/src/nix/repl.cc :( - Bindings::iterator i = v.attrs->find(ctx.state.sDrvPath); - PathSet pathset; - try { - Path drvPath = i != v.attrs->end() ? ctx.state.coerceToPath(*i->pos, *i->value, pathset) : "???"; - out << "«derivation " << drvPath << "»"; - } catch (Error & e) { - out << describeError(e); - } -} - -Value parseAndEval(EvalState & state, const std::string & expression, const std::string & path) -{ - Value v{}; - state.eval(state.parseExprFromString(expression, absPath(path)), v); - return v; -} - -void printValue(Context & ctx, Out & out, std::variant maybeValue, const std::string & path); - -void printList(Context & ctx, Out & out, Value & v) -{ - Out listOut(out, "[", "]", v.listSize()); - for (unsigned int n = 0; n < v.listSize(); ++n) { - printValue(ctx, listOut, *v.listElems()[n], ""); - listOut << Out::sep; - } -} - -void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path) -{ - Out attrsOut(out, "{", "}", v.attrs->size()); - for (const auto & a : v.attrs->lexicographicOrder()) { - std::string name = a->name; - if (!forbiddenRecursionName(name)) { - attrsOut << name << " = "; - printValue(ctx, attrsOut, *a->value, appendPath(path, name)); - attrsOut << ";" << Out::sep; - } - } -} - -void multiLineStringEscape(Out & out, const std::string & s) -{ - int i; - for (i = 1; i < s.size(); i++) { - if (s[i - 1] == '$' && s[i] == '{') { - out << "''${"; - i++; - } else if (s[i - 1] == '\'' && s[i] == '\'') { - out << "'''"; - i++; - } else { - out << s[i - 1]; - } - } - if (i == s.size()) { - out << s[i - 1]; - } -} - -void printMultiLineString(Out & out, const Value & v) -{ - std::string s = v.string.s; - Out strOut(out, "''", "''", Out::MULTI_LINE); - std::string::size_type begin = 0; - while (begin < s.size()) { - std::string::size_type end = s.find('\n', begin); - if (end == std::string::npos) { - multiLineStringEscape(strOut, s.substr(begin, s.size() - begin)); - break; - } - multiLineStringEscape(strOut, s.substr(begin, end - begin)); - strOut << Out::sep; - begin = end + 1; - } -} - -void printValue(Context & ctx, Out & out, std::variant maybeValue, const std::string & path) -{ - try { - if (auto ex = std::get_if(&maybeValue)) { - std::rethrow_exception(*ex); - } - Value v = evaluateValue(ctx, std::get(maybeValue)); - if (ctx.state.isDerivation(v)) { - describeDerivation(ctx, out, v); - } else if (v.isList()) { - printList(ctx, out, v); - } else if (v.type == tAttrs) { - printAttrs(ctx, out, v, path); - } else if (v.type == tString && std::string(v.string.s).find('\n') != std::string::npos) { - printMultiLineString(out, v); - } else { - ctx.state.forceValueDeep(v); - out << v; - } - } catch (ThrownError & e) { - if (e.msg() == "The option `" + path + "' is used but not defined.") { - // 93% of errors are this, and just letting this message through would be - // misleading. These values may or may not actually be "used" in the - // config. The thing throwing the error message assumes that if anything - // ever looks at this value, it is a "use" of this value. But here in - // nixos-option, we are looking at this value only to print it. - // In order to avoid implying that this undefined value is actually - // referenced, eat the underlying error message and emit "«not defined»". - out << "«not defined»"; - } else { - out << describeError(e); - } - } catch (Error & e) { - out << describeError(e); - } -} - -void printConfigValue(Context & ctx, Out & out, const std::string & path, std::variant v) -{ - out << path << " = "; - printValue(ctx, out, std::move(v), path); - out << ";\n"; -} - -// Replace with std::starts_with when C++20 is available -bool starts_with(const std::string & s, const std::string & prefix) -{ - return s.size() >= prefix.size() && - std::equal(s.begin(), std::next(s.begin(), prefix.size()), prefix.begin(), prefix.end()); -} - -void printRecursive(Context & ctx, Out & out, const std::string & path) -{ - mapOptions( - [&ctx, &out, &path](const std::string & optionPath) { - mapConfigValuesInOption( - [&ctx, &out, &path](const std::string & configPath, std::variant v) { - if (starts_with(configPath, path)) { - printConfigValue(ctx, out, configPath, v); - } - }, - optionPath, ctx); - }, - ctx, path); -} - -void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) -{ - try { - printValue(ctx, out, *findAlongAttrPath(ctx.state, path, ctx.autoArgs, root), path); - } catch (Error & e) { - out << describeError(e); - } -} - -bool hasExample(Context & ctx, Value & option) -{ - try { - findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option); - return true; - } catch (Error &) { - return false; - } -} - -void printOption(Context & ctx, Out & out, const std::string & path, Value & option) -{ - out << "Value:\n"; - printAttr(ctx, out, path, ctx.configRoot); - - out << "\n\nDefault:\n"; - printAttr(ctx, out, "default", option); - - out << "\n\nType:\n"; - printAttr(ctx, out, "type.description", option); - - if (hasExample(ctx, option)) { - out << "\n\nExample:\n"; - printAttr(ctx, out, "example", option); - } - - out << "\n\nDescription:\n"; - printAttr(ctx, out, "description", option); - - out << "\n\nDeclared by:\n"; - printAttr(ctx, out, "declarations", option); - - out << "\n\nDefined by:\n"; - printAttr(ctx, out, "files", option); - out << "\n"; -} - -void printListing(Out & out, Value & v) -{ - out << "This attribute set contains:\n"; - for (const auto & a : v.attrs->lexicographicOrder()) { - std::string name = a->name; - if (!name.empty() && name[0] != '_') { - out << name << "\n"; - } - } -} - -void printOne(Context & ctx, Out & out, const std::string & path) -{ - try { - auto result = findAlongOptionPath(ctx, path); - Value & option = result.option; - option = evaluateValue(ctx, option); - if (path != result.path) { - out << "Note: showing " << result.path << " instead of " << path << "\n"; - } - if (isOption(ctx, option)) { - printOption(ctx, out, result.path, option); - } else { - printListing(out, option); - } - } catch (Error & e) { - std::cerr << "error: " << e.msg() - << "\nAn error occurred while looking for attribute names. Are " - "you sure that '" - << path << "' exists?\n"; - } -} - -int main(int argc, char ** argv) -{ - bool recursive = false; - std::string path = "."; - std::string optionsExpr = "(import {}).options"; - std::string configExpr = "(import {}).config"; - std::vector args; - - struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs - { - using nix::LegacyArgs::LegacyArgs; - }; - - MyArgs myArgs(nix::baseNameOf(argv[0]), [&](Strings::iterator & arg, const Strings::iterator & end) { - if (*arg == "--help") { - nix::showManPage("nixos-option"); - } else if (*arg == "--version") { - nix::printVersion("nixos-option"); - } else if (*arg == "-r" || *arg == "--recursive") { - recursive = true; - } else if (*arg == "--path") { - path = nix::getArg(*arg, arg, end); - } else if (*arg == "--options_expr") { - optionsExpr = nix::getArg(*arg, arg, end); - } else if (*arg == "--config_expr") { - configExpr = nix::getArg(*arg, arg, end); - } else if (!arg->empty() && arg->at(0) == '-') { - return false; - } else { - args.push_back(*arg); - } - return true; - }); - - myArgs.parseCmdline(nix::argvToStrings(argc, argv)); - - nix::initPlugins(); - nix::initGC(); - nix::settings.readOnlyMode = true; - auto store = nix::openStore(); - auto state = std::make_unique(myArgs.searchPath, store); - - Value optionsRoot = parseAndEval(*state, optionsExpr, path); - Value configRoot = parseAndEval(*state, configExpr, path); - - Context ctx{*state, *myArgs.getAutoArgs(*state), optionsRoot, configRoot}; - Out out(std::cout); - - auto print = recursive ? printRecursive : printOne; - if (args.empty()) { - print(ctx, out, ""); - } - for (const auto & arg : args) { - print(ctx, out, arg); - } - - ctx.state.printStats(); - - return 0; -} diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 1dc0578daca..f79ed3493df 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -42,7 +42,7 @@ let nixos-option = if lib.versionAtLeast (lib.getVersion config.nix.package) "2.4pre" then null - else pkgs.callPackage ./nixos-option { }; + else pkgs.nixos-option; nixos-version = makeProg { name = "nixos-version"; diff --git a/pkgs/tools/nix/nixos-option/CMakeLists.txt b/pkgs/tools/nix/nixos-option/CMakeLists.txt new file mode 100644 index 00000000000..e5834598c4f --- /dev/null +++ b/pkgs/tools/nix/nixos-option/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required (VERSION 2.6) +project (nixos-option) + +add_executable(nixos-option nixos-option.cc libnix-copy-paste.cc) +target_link_libraries(nixos-option PRIVATE -lnixmain -lnixexpr -lnixstore -lnixutil) +target_compile_features(nixos-option PRIVATE cxx_std_17) + +install (TARGETS nixos-option DESTINATION bin) diff --git a/pkgs/tools/nix/nixos-option/default.nix b/pkgs/tools/nix/nixos-option/default.nix new file mode 100644 index 00000000000..216e2678e2e --- /dev/null +++ b/pkgs/tools/nix/nixos-option/default.nix @@ -0,0 +1,12 @@ +{lib, stdenv, boost, cmake, pkg-config, nix, ... }: + +stdenv.mkDerivation rec { + name = "nixos-option"; + src = ./.; + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ boost nix ]; + meta = with lib; { + license = licenses.lgpl2Plus; + maintainers = with maintainers; [ chkno ]; + }; +} diff --git a/pkgs/tools/nix/nixos-option/libnix-copy-paste.cc b/pkgs/tools/nix/nixos-option/libnix-copy-paste.cc new file mode 100644 index 00000000000..875c07da639 --- /dev/null +++ b/pkgs/tools/nix/nixos-option/libnix-copy-paste.cc @@ -0,0 +1,83 @@ +// These are useful methods inside the nix library that ought to be exported. +// Since they are not, copy/paste them here. +// TODO: Delete these and use the ones in the library as they become available. + +#include // for nix/globals.hh's reference to SYSTEM + +#include "libnix-copy-paste.hh" +#include // for basic_altstringbuf... +#include // for basic_altstringbuf... +#include // for basic_format +#include // for format +#include // for basic_format::basi... +#include // for get_pointer +#include // for operator<<, basic_... +#include // for Strings, Error +#include // for string, basic_string + +using boost::format; +using nix::Error; +using nix::Strings; +using std::string; + +// From nix/src/libexpr/attr-path.cc +Strings parseAttrPath(const string & s) +{ + Strings res; + string cur; + string::const_iterator i = s.begin(); + while (i != s.end()) { + if (*i == '.') { + res.push_back(cur); + cur.clear(); + } else if (*i == '"') { + ++i; + while (1) { + if (i == s.end()) + throw Error(format("missing closing quote in selection path '%1%'") % s); + if (*i == '"') + break; + cur.push_back(*i++); + } + } else + cur.push_back(*i); + ++i; + } + if (!cur.empty()) + res.push_back(cur); + return res; +} + +// From nix/src/nix/repl.cc +bool isVarName(const string & s) +{ + if (s.size() == 0) + return false; + char c = s[0]; + if ((c >= '0' && c <= '9') || c == '-' || c == '\'') + return false; + for (auto & i : s) + if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || i == '_' || i == '-' || + i == '\'')) + return false; + return true; +} + +// From nix/src/nix/repl.cc +std::ostream & printStringValue(std::ostream & str, const char * string) +{ + str << "\""; + for (const char * i = string; *i; i++) + if (*i == '\"' || *i == '\\') + str << "\\" << *i; + else if (*i == '\n') + str << "\\n"; + else if (*i == '\r') + str << "\\r"; + else if (*i == '\t') + str << "\\t"; + else + str << *i; + str << "\""; + return str; +} diff --git a/pkgs/tools/nix/nixos-option/libnix-copy-paste.hh b/pkgs/tools/nix/nixos-option/libnix-copy-paste.hh new file mode 100644 index 00000000000..2274e9a0f85 --- /dev/null +++ b/pkgs/tools/nix/nixos-option/libnix-copy-paste.hh @@ -0,0 +1,9 @@ +#pragma once + +#include +#include +#include + +nix::Strings parseAttrPath(const std::string & s); +bool isVarName(const std::string & s); +std::ostream & printStringValue(std::ostream & str, const char * string); diff --git a/pkgs/tools/nix/nixos-option/nixos-option.cc b/pkgs/tools/nix/nixos-option/nixos-option.cc new file mode 100644 index 00000000000..f779d82edbd --- /dev/null +++ b/pkgs/tools/nix/nixos-option/nixos-option.cc @@ -0,0 +1,643 @@ +#include // for nix/globals.hh's reference to SYSTEM + +#include // for exception_ptr, current_exception +#include // for function +#include // for operator<<, basic_ostream, ostrin... +#include // for next +#include // for _List_iterator +#include // for allocator, unique_ptr, make_unique +#include // for operator new +#include // for argvToStrings, UsageError +#include // for findAlongAttrPath +#include // for Attr, Bindings, Bindings::iterator +#include // for MixEvalArgs +#include // for EvalState::forceValue +#include // for EvalState, initGC, operator<< +#include // for initPlugins, Settings, settings +#include // for Pos +#include // for getArg, LegacyArgs, printVersion +#include // for openStore +#include // for Symbol, SymbolTable +#include // for Error, Path, Strings, PathSet +#include // for absPath, baseNameOf +#include // for Value, Value::(anonymous), Value:... +#include // for string, operator+, operator== +#include // for move +#include // for get, holds_alternative, variant +#include // for vector<>::iterator, vector + +#include "libnix-copy-paste.hh" + +using nix::absPath; +using nix::Bindings; +using nix::Error; +using nix::EvalError; +using nix::EvalState; +using nix::Path; +using nix::PathSet; +using nix::Strings; +using nix::Symbol; +using nix::tAttrs; +using nix::ThrownError; +using nix::tLambda; +using nix::tString; +using nix::UsageError; +using nix::Value; + +// An ostream wrapper to handle nested indentation +class Out +{ + public: + class Separator + {}; + const static Separator sep; + enum LinePolicy + { + ONE_LINE, + MULTI_LINE + }; + explicit Out(std::ostream & ostream) : ostream(ostream), policy(ONE_LINE), writeSinceSep(true) {} + Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy); + Out(Out & o, const std::string & start, const std::string & end, int count) + : Out(o, start, end, count < 2 ? ONE_LINE : MULTI_LINE) + {} + Out(const Out &) = delete; + Out(Out &&) = default; + Out & operator=(const Out &) = delete; + Out & operator=(Out &&) = delete; + ~Out() { ostream << end; } + + private: + std::ostream & ostream; + std::string indentation; + std::string end; + LinePolicy policy; + bool writeSinceSep; + template friend Out & operator<<(Out & o, T thing); +}; + +template Out & operator<<(Out & o, T thing) +{ + if (!o.writeSinceSep && o.policy == Out::MULTI_LINE) { + o.ostream << o.indentation; + } + o.writeSinceSep = true; + o.ostream << thing; + return o; +} + +template <> Out & operator<<(Out & o, Out::Separator /* thing */) +{ + o.ostream << (o.policy == Out::ONE_LINE ? " " : "\n"); + o.writeSinceSep = false; + return o; +} + +Out::Out(Out & o, const std::string & start, const std::string & end, LinePolicy policy) + : ostream(o.ostream), indentation(policy == ONE_LINE ? o.indentation : o.indentation + " "), + end(policy == ONE_LINE ? end : o.indentation + end), policy(policy), writeSinceSep(true) +{ + o << start; + *this << Out::sep; +} + +// Stuff needed for evaluation +struct Context +{ + Context(EvalState & state, Bindings & autoArgs, Value optionsRoot, Value configRoot) + : state(state), autoArgs(autoArgs), optionsRoot(optionsRoot), configRoot(configRoot), + underscoreType(state.symbols.create("_type")) + {} + EvalState & state; + Bindings & autoArgs; + Value optionsRoot; + Value configRoot; + Symbol underscoreType; +}; + +Value evaluateValue(Context & ctx, Value & v) +{ + ctx.state.forceValue(v); + if (ctx.autoArgs.empty()) { + return v; + } + Value called{}; + ctx.state.autoCallFunction(ctx.autoArgs, v, called); + return called; +} + +bool isOption(Context & ctx, const Value & v) +{ + if (v.type != tAttrs) { + return false; + } + const auto & actualType = v.attrs->find(ctx.underscoreType); + if (actualType == v.attrs->end()) { + return false; + } + try { + Value evaluatedType = evaluateValue(ctx, *actualType->value); + if (evaluatedType.type != tString) { + return false; + } + return static_cast(evaluatedType.string.s) == "option"; + } catch (Error &) { + return false; + } +} + +// Add quotes to a component of a path. +// These are needed for paths like: +// fileSystems."/".fsType +// systemd.units."dbus.service".text +std::string quoteAttribute(const std::string & attribute) +{ + if (isVarName(attribute)) { + return attribute; + } + std::ostringstream buf; + printStringValue(buf, attribute.c_str()); + return buf.str(); +} + +const std::string appendPath(const std::string & prefix, const std::string & suffix) +{ + if (prefix.empty()) { + return quoteAttribute(suffix); + } + return prefix + "." + quoteAttribute(suffix); +} + +bool forbiddenRecursionName(std::string name) { return (!name.empty() && name[0] == '_') || name == "haskellPackages"; } + +void recurse(const std::function)> & f, + Context & ctx, Value v, const std::string & path) +{ + std::variant evaluated; + try { + evaluated = evaluateValue(ctx, v); + } catch (Error &) { + evaluated = std::current_exception(); + } + if (!f(path, evaluated)) { + return; + } + if (std::holds_alternative(evaluated)) { + return; + } + const Value & evaluated_value = std::get(evaluated); + if (evaluated_value.type != tAttrs) { + return; + } + for (const auto & child : evaluated_value.attrs->lexicographicOrder()) { + if (forbiddenRecursionName(child->name)) { + continue; + } + recurse(f, ctx, *child->value, appendPath(path, child->name)); + } +} + +bool optionTypeIs(Context & ctx, Value & v, const std::string & soughtType) +{ + try { + const auto & typeLookup = v.attrs->find(ctx.state.sType); + if (typeLookup == v.attrs->end()) { + return false; + } + Value type = evaluateValue(ctx, *typeLookup->value); + if (type.type != tAttrs) { + return false; + } + const auto & nameLookup = type.attrs->find(ctx.state.sName); + if (nameLookup == type.attrs->end()) { + return false; + } + Value name = evaluateValue(ctx, *nameLookup->value); + if (name.type != tString) { + return false; + } + return name.string.s == soughtType; + } catch (Error &) { + return false; + } +} + +bool isAggregateOptionType(Context & ctx, Value & v) +{ + return optionTypeIs(ctx, v, "attrsOf") || optionTypeIs(ctx, v, "listOf"); +} + +MakeError(OptionPathError, EvalError); + +Value getSubOptions(Context & ctx, Value & option) +{ + Value getSubOptions = evaluateValue(ctx, *findAlongAttrPath(ctx.state, "type.getSubOptions", ctx.autoArgs, option)); + if (getSubOptions.type != tLambda) { + throw OptionPathError("Option's type.getSubOptions isn't a function"); + } + Value emptyString{}; + nix::mkString(emptyString, ""); + Value v; + ctx.state.callFunction(getSubOptions, emptyString, v, nix::Pos{}); + return v; +} + +// Carefully walk an option path, looking for sub-options when a path walks past +// an option value. +struct FindAlongOptionPathRet +{ + Value option; + std::string path; +}; +FindAlongOptionPathRet findAlongOptionPath(Context & ctx, const std::string & path) +{ + Strings tokens = parseAttrPath(path); + Value v = ctx.optionsRoot; + std::string processedPath; + for (auto i = tokens.begin(); i != tokens.end(); i++) { + const auto & attr = *i; + try { + bool lastAttribute = std::next(i) == tokens.end(); + v = evaluateValue(ctx, v); + if (attr.empty()) { + throw OptionPathError("empty attribute name"); + } + if (isOption(ctx, v) && optionTypeIs(ctx, v, "submodule")) { + v = getSubOptions(ctx, v); + } + if (isOption(ctx, v) && isAggregateOptionType(ctx, v)) { + auto subOptions = getSubOptions(ctx, v); + if (lastAttribute && subOptions.attrs->empty()) { + break; + } + v = subOptions; + // Note that we've consumed attr, but didn't actually use it. This is the path component that's looked + // up in the list or attribute set that doesn't name an option -- the "root" in "users.users.root.name". + } else if (v.type != tAttrs) { + throw OptionPathError("Value is %s while a set was expected", showType(v)); + } else { + const auto & next = v.attrs->find(ctx.state.symbols.create(attr)); + if (next == v.attrs->end()) { + throw OptionPathError("Attribute not found", attr, path); + } + v = *next->value; + } + processedPath = appendPath(processedPath, attr); + } catch (OptionPathError & e) { + throw OptionPathError("At '%s' in path '%s': %s", attr, path, e.msg()); + } + } + return {v, processedPath}; +} + +// Calls f on all the option names at or below the option described by `path`. +// Note that "the option described by `path`" is not trivial -- if path describes a value inside an aggregate +// option (such as users.users.root), the *option* described by that path is one path component shorter +// (eg: users.users), which results in f being called on sibling-paths (eg: users.users.nixbld1). If f +// doesn't want these, it must do its own filtering. +void mapOptions(const std::function & f, Context & ctx, const std::string & path) +{ + auto root = findAlongOptionPath(ctx, path); + recurse( + [f, &ctx](const std::string & path, std::variant v) { + bool isOpt = std::holds_alternative(v) || isOption(ctx, std::get(v)); + if (isOpt) { + f(path); + } + return !isOpt; + }, + ctx, root.option, root.path); +} + +// Calls f on all the config values inside one option. +// Simple options have one config value inside, like sound.enable = true. +// Compound options have multiple config values. For example, the option +// "users.users" has about 1000 config values inside it: +// users.users.avahi.createHome = false; +// users.users.avahi.cryptHomeLuks = null; +// users.users.avahi.description = "`avahi-daemon' privilege separation user"; +// ... +// users.users.avahi.openssh.authorizedKeys.keyFiles = [ ]; +// users.users.avahi.openssh.authorizedKeys.keys = [ ]; +// ... +// users.users.avahi.uid = 10; +// users.users.avahi.useDefaultShell = false; +// users.users.cups.createHome = false; +// ... +// users.users.cups.useDefaultShell = false; +// users.users.gdm = ... ... ... +// users.users.messagebus = ... .. ... +// users.users.nixbld1 = ... .. ... +// ... +// users.users.systemd-timesync = ... .. ... +void mapConfigValuesInOption( + const std::function v)> & f, + const std::string & path, Context & ctx) +{ + Value * option; + try { + option = findAlongAttrPath(ctx.state, path, ctx.autoArgs, ctx.configRoot); + } catch (Error &) { + f(path, std::current_exception()); + return; + } + recurse( + [f, ctx](const std::string & path, std::variant v) { + bool leaf = std::holds_alternative(v) || std::get(v).type != tAttrs || + ctx.state.isDerivation(std::get(v)); + if (!leaf) { + return true; // Keep digging + } + f(path, v); + return false; + }, + ctx, *option, path); +} + +std::string describeError(const Error & e) { return "«error: " + e.msg() + "»"; } + +void describeDerivation(Context & ctx, Out & out, Value v) +{ + // Copy-pasted from nix/src/nix/repl.cc :( + Bindings::iterator i = v.attrs->find(ctx.state.sDrvPath); + PathSet pathset; + try { + Path drvPath = i != v.attrs->end() ? ctx.state.coerceToPath(*i->pos, *i->value, pathset) : "???"; + out << "«derivation " << drvPath << "»"; + } catch (Error & e) { + out << describeError(e); + } +} + +Value parseAndEval(EvalState & state, const std::string & expression, const std::string & path) +{ + Value v{}; + state.eval(state.parseExprFromString(expression, absPath(path)), v); + return v; +} + +void printValue(Context & ctx, Out & out, std::variant maybeValue, const std::string & path); + +void printList(Context & ctx, Out & out, Value & v) +{ + Out listOut(out, "[", "]", v.listSize()); + for (unsigned int n = 0; n < v.listSize(); ++n) { + printValue(ctx, listOut, *v.listElems()[n], ""); + listOut << Out::sep; + } +} + +void printAttrs(Context & ctx, Out & out, Value & v, const std::string & path) +{ + Out attrsOut(out, "{", "}", v.attrs->size()); + for (const auto & a : v.attrs->lexicographicOrder()) { + std::string name = a->name; + if (!forbiddenRecursionName(name)) { + attrsOut << name << " = "; + printValue(ctx, attrsOut, *a->value, appendPath(path, name)); + attrsOut << ";" << Out::sep; + } + } +} + +void multiLineStringEscape(Out & out, const std::string & s) +{ + int i; + for (i = 1; i < s.size(); i++) { + if (s[i - 1] == '$' && s[i] == '{') { + out << "''${"; + i++; + } else if (s[i - 1] == '\'' && s[i] == '\'') { + out << "'''"; + i++; + } else { + out << s[i - 1]; + } + } + if (i == s.size()) { + out << s[i - 1]; + } +} + +void printMultiLineString(Out & out, const Value & v) +{ + std::string s = v.string.s; + Out strOut(out, "''", "''", Out::MULTI_LINE); + std::string::size_type begin = 0; + while (begin < s.size()) { + std::string::size_type end = s.find('\n', begin); + if (end == std::string::npos) { + multiLineStringEscape(strOut, s.substr(begin, s.size() - begin)); + break; + } + multiLineStringEscape(strOut, s.substr(begin, end - begin)); + strOut << Out::sep; + begin = end + 1; + } +} + +void printValue(Context & ctx, Out & out, std::variant maybeValue, const std::string & path) +{ + try { + if (auto ex = std::get_if(&maybeValue)) { + std::rethrow_exception(*ex); + } + Value v = evaluateValue(ctx, std::get(maybeValue)); + if (ctx.state.isDerivation(v)) { + describeDerivation(ctx, out, v); + } else if (v.isList()) { + printList(ctx, out, v); + } else if (v.type == tAttrs) { + printAttrs(ctx, out, v, path); + } else if (v.type == tString && std::string(v.string.s).find('\n') != std::string::npos) { + printMultiLineString(out, v); + } else { + ctx.state.forceValueDeep(v); + out << v; + } + } catch (ThrownError & e) { + if (e.msg() == "The option `" + path + "' is used but not defined.") { + // 93% of errors are this, and just letting this message through would be + // misleading. These values may or may not actually be "used" in the + // config. The thing throwing the error message assumes that if anything + // ever looks at this value, it is a "use" of this value. But here in + // nixos-option, we are looking at this value only to print it. + // In order to avoid implying that this undefined value is actually + // referenced, eat the underlying error message and emit "«not defined»". + out << "«not defined»"; + } else { + out << describeError(e); + } + } catch (Error & e) { + out << describeError(e); + } +} + +void printConfigValue(Context & ctx, Out & out, const std::string & path, std::variant v) +{ + out << path << " = "; + printValue(ctx, out, std::move(v), path); + out << ";\n"; +} + +// Replace with std::starts_with when C++20 is available +bool starts_with(const std::string & s, const std::string & prefix) +{ + return s.size() >= prefix.size() && + std::equal(s.begin(), std::next(s.begin(), prefix.size()), prefix.begin(), prefix.end()); +} + +void printRecursive(Context & ctx, Out & out, const std::string & path) +{ + mapOptions( + [&ctx, &out, &path](const std::string & optionPath) { + mapConfigValuesInOption( + [&ctx, &out, &path](const std::string & configPath, std::variant v) { + if (starts_with(configPath, path)) { + printConfigValue(ctx, out, configPath, v); + } + }, + optionPath, ctx); + }, + ctx, path); +} + +void printAttr(Context & ctx, Out & out, const std::string & path, Value & root) +{ + try { + printValue(ctx, out, *findAlongAttrPath(ctx.state, path, ctx.autoArgs, root), path); + } catch (Error & e) { + out << describeError(e); + } +} + +bool hasExample(Context & ctx, Value & option) +{ + try { + findAlongAttrPath(ctx.state, "example", ctx.autoArgs, option); + return true; + } catch (Error &) { + return false; + } +} + +void printOption(Context & ctx, Out & out, const std::string & path, Value & option) +{ + out << "Value:\n"; + printAttr(ctx, out, path, ctx.configRoot); + + out << "\n\nDefault:\n"; + printAttr(ctx, out, "default", option); + + out << "\n\nType:\n"; + printAttr(ctx, out, "type.description", option); + + if (hasExample(ctx, option)) { + out << "\n\nExample:\n"; + printAttr(ctx, out, "example", option); + } + + out << "\n\nDescription:\n"; + printAttr(ctx, out, "description", option); + + out << "\n\nDeclared by:\n"; + printAttr(ctx, out, "declarations", option); + + out << "\n\nDefined by:\n"; + printAttr(ctx, out, "files", option); + out << "\n"; +} + +void printListing(Out & out, Value & v) +{ + out << "This attribute set contains:\n"; + for (const auto & a : v.attrs->lexicographicOrder()) { + std::string name = a->name; + if (!name.empty() && name[0] != '_') { + out << name << "\n"; + } + } +} + +void printOne(Context & ctx, Out & out, const std::string & path) +{ + try { + auto result = findAlongOptionPath(ctx, path); + Value & option = result.option; + option = evaluateValue(ctx, option); + if (path != result.path) { + out << "Note: showing " << result.path << " instead of " << path << "\n"; + } + if (isOption(ctx, option)) { + printOption(ctx, out, result.path, option); + } else { + printListing(out, option); + } + } catch (Error & e) { + std::cerr << "error: " << e.msg() + << "\nAn error occurred while looking for attribute names. Are " + "you sure that '" + << path << "' exists?\n"; + } +} + +int main(int argc, char ** argv) +{ + bool recursive = false; + std::string path = "."; + std::string optionsExpr = "(import {}).options"; + std::string configExpr = "(import {}).config"; + std::vector args; + + struct MyArgs : nix::LegacyArgs, nix::MixEvalArgs + { + using nix::LegacyArgs::LegacyArgs; + }; + + MyArgs myArgs(nix::baseNameOf(argv[0]), [&](Strings::iterator & arg, const Strings::iterator & end) { + if (*arg == "--help") { + nix::showManPage("nixos-option"); + } else if (*arg == "--version") { + nix::printVersion("nixos-option"); + } else if (*arg == "-r" || *arg == "--recursive") { + recursive = true; + } else if (*arg == "--path") { + path = nix::getArg(*arg, arg, end); + } else if (*arg == "--options_expr") { + optionsExpr = nix::getArg(*arg, arg, end); + } else if (*arg == "--config_expr") { + configExpr = nix::getArg(*arg, arg, end); + } else if (!arg->empty() && arg->at(0) == '-') { + return false; + } else { + args.push_back(*arg); + } + return true; + }); + + myArgs.parseCmdline(nix::argvToStrings(argc, argv)); + + nix::initPlugins(); + nix::initGC(); + nix::settings.readOnlyMode = true; + auto store = nix::openStore(); + auto state = std::make_unique(myArgs.searchPath, store); + + Value optionsRoot = parseAndEval(*state, optionsExpr, path); + Value configRoot = parseAndEval(*state, configExpr, path); + + Context ctx{*state, *myArgs.getAutoArgs(*state), optionsRoot, configRoot}; + Out out(std::cout); + + auto print = recursive ? printRecursive : printOne; + if (args.empty()) { + print(ctx, out, ""); + } + for (const auto & arg : args) { + print(ctx, out, arg); + } + + ctx.state.printStats(); + + return 0; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 786dd4e0dc2..909bdaa1638 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31185,6 +31185,8 @@ in nix-linter = haskell.lib.justStaticExecutables (haskellPackages.nix-linter); + nixos-option = callPackage ../tools/nix/nixos-option { }; + nix-pin = callPackage ../tools/package-management/nix-pin { }; nix-prefetch = callPackage ../tools/package-management/nix-prefetch { }; -- cgit 1.4.1 From 231a31be87f8718885331fdf13a9ef235c402bb2 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 10 Jul 2021 12:26:05 +0200 Subject: nixos-option: add backwards compatibility layer This adds a basic `nixos-option/default.nix` file to provide some measure of backwards compatibility with Nixpkgs prior to ce6f17f9530ea013d267e07d2dd958bb4e3019dd. --- nixos/modules/installer/tools/nixos-option/default.nix | 1 + 1 file changed, 1 insertion(+) create mode 100644 nixos/modules/installer/tools/nixos-option/default.nix (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nixos-option/default.nix b/nixos/modules/installer/tools/nixos-option/default.nix new file mode 100644 index 00000000000..061460f38a3 --- /dev/null +++ b/nixos/modules/installer/tools/nixos-option/default.nix @@ -0,0 +1 @@ +{ pkgs, ... }: pkgs.nixos-option -- cgit 1.4.1 From e66237af154f63998eaf45233763b2e535b78b95 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 18 Jul 2021 12:19:31 +0200 Subject: nixStable: 2.3.12 -> 2.3.14 Changes: https://github.com/NixOS/nix/compare/2.3.12...2.3.14 Since this is a bugfix release that wasn't pushed to `nixpkgs`, I decided to take care of it. As it's usually done in `upload-release.pl`[1], I updated the fallback-paths accordingly and used eval `1687468`[2] for this with Nix 2.3.14. Also added a fallback-path for `aarch64-darwin` as Nix 2.3.14 seems to support this now[3]. [1] https://github.com/NixOS/nix/blob/2.3-maintenance/maintainers/upload-release.pl [2] https://hydra.nixos.org/eval/1687468 [3] https://github.com/NixOS/nix/commit/14262b86cc5825deae095c14553d623af498124c --- nixos/modules/installer/tools/nix-fallback-paths.nix | 9 +++++---- pkgs/tools/package-management/nix/default.nix | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'nixos/modules/installer') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index 801e28cec44..e3576074a5b 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,7 @@ { - x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11"; - i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11"; - aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11"; - x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11"; + x86_64-linux = "/nix/store/qsgz2hhn6mzlzp53a7pwf9z2pq3l5z6h-nix-2.3.14"; + i686-linux = "/nix/store/1yw40bj04lykisw2jilq06lir3k9ga4a-nix-2.3.14"; + aarch64-linux = "/nix/store/32yzwmynmjxfrkb6y6l55liaqdrgkj4a-nix-2.3.14"; + x86_64-darwin = "/nix/store/06j0vi2d13w4l0p3jsigq7lk4x6gkycj-nix-2.3.14"; + aarch64-darwin = "/nix/store/77wi7vpbrghw5rgws25w30bwb8yggnk9-nix-2.3.14"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 6ba5135fdd6..108f24ce514 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -203,10 +203,10 @@ in rec { nixStable = callPackage common (rec { pname = "nix"; - version = "2.3.12"; + version = "2.3.14"; src = fetchurl { url = "https://nixos.org/releases/nix/${pname}-${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-ITp9ScRhB5syNh5NAI0kjX9o400syTR/Oo/5Ap+a+10="; + sha256 = "sha256-cToMnZU3+UpjeiiXnG3clz9zn8Xk+TbB7UbqmLMrlFk="; }; inherit storeDir stateDir confDir boehmgc; -- cgit 1.4.1