From 4a82bca53019050767e95fb18ade8f775de0a5d4 Mon Sep 17 00:00:00 2001 From: piegames Date: Mon, 22 Nov 2021 01:37:31 +0100 Subject: [PATCH 1/3] gnomeExtensions: expose gnome41Extensions in top-level --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4ec0d104b9bc..713031452df7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30882,7 +30882,9 @@ with pkgs; inherit (callPackage ../desktops/gnome/extensions { }) gnomeExtensions gnome38Extensions - gnome40Extensions; + gnome40Extensions + gnome41Extensions + ; gnome-connections = callPackage ../desktops/gnome/apps/gnome-connections { }; From bc1f025afb28de72e9a8363d7553bafcffc086c8 Mon Sep 17 00:00:00 2001 From: piegames Date: Mon, 22 Nov 2021 01:51:52 +0100 Subject: [PATCH 2/3] gnomeExtensions: improve override mechanism The reduced reduncancy should help us avoid making some copy-paste errors, as happened previously. Also, increased ergonomics. --- .../gnome/extensions/extensionOverrides.nix | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix index e8f9fb9cfb33..f20c63d08016 100644 --- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix +++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix @@ -3,31 +3,36 @@ , gjs , xprop }: +let + # Helper method to reduce redundancy + patchExtension = name: override: super: (super // { + ${name} = super.${name}.overrideAttrs override; + }); +in # A set of overrides for automatically packaged extensions that require some small fixes. # The input must be an attribute set with the extensions' UUIDs as keys and the extension # derivations as values. Output is the same, but with patches applied. # # Note that all source patches refer to the built extension as published on extensions.gnome.org, and not # the upstream repository's sources. -super: super // { - - "caffeine@patapon.info" = super."caffeine@patapon.info".overrideAttrs (old: { +super: lib.trivial.pipe super [ + (patchExtension "caffeine@patapon.info" (old: { meta.maintainers = with lib.maintainers; [ eperuffo ]; - }); + })) - "dash-to-dock@micxgx.gmail.com" = super."dash-to-dock@micxgx.gmail.com".overrideAttrs (old: { + (patchExtension "dash-to-dock@micxgx.gmail.com" (old: { meta.maintainers = with lib.maintainers; [ eperuffo jtojnar rhoriguchi ]; - }); + })) - "display-brightness-ddcutil@themightydeity.github.com" = super."display-brightness-ddcutil@themightydeity.github.com".overrideAttrs (old: { + (patchExtension "display-brightness-ddcutil@themightydeity.github.com" (old: { # Has a hard-coded path to a run-time dependency # https://github.com/NixOS/nixpkgs/issues/136111 postPatch = '' substituteInPlace "extension.js" --replace "/usr/bin/ddcutil" "${ddcutil}/bin/ddcutil" ''; - }); + })) - "gnome-shell-screenshot@ttll.de" = super."gnome-shell-screenshot@ttll.de".overrideAttrs (old: { + (patchExtension "gnome-shell-screenshot@ttll.de" (old: { # Requires gjs # https://github.com/NixOS/nixpkgs/issues/136112 postPatch = '' @@ -35,12 +40,11 @@ super: super // { substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs" done ''; - }); + })) - "unite@hardpixel.eu" = super."unite@hardpixel.eu".overrideAttrs (old: { + (patchExtension "unite@hardpixel.eu" (old: { buildInputs = [ xprop ]; meta.maintainers = with lib.maintainers; [ rhoriguchi ]; - }); - -} + })) +] From e41a7715a29b193f14abd366f3c26b32017801da Mon Sep 17 00:00:00 2001 From: piegames Date: Mon, 22 Nov 2021 23:23:55 +0100 Subject: [PATCH 3/3] gnomeExtensions: improve README Document that the all-packages.nix needs to be updated too (this was forgotten in the GNOME 41 update). Also fixed typos. --- pkgs/desktops/gnome/extensions/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome/extensions/README.md b/pkgs/desktops/gnome/extensions/README.md index 14a1d08ad04d..5586aae403dd 100644 --- a/pkgs/desktops/gnome/extensions/README.md +++ b/pkgs/desktops/gnome/extensions/README.md @@ -4,7 +4,7 @@ All extensions are packaged automatically. They can be found in the `pkgs.gnomeX ## Automatically packaged extensions -The actual packages are created by `buildGnomeExtensions.nix`, provided the correct arguments are fed into it. The important extension data is stored in `extensions.json`, one line/item per extension. That file is generated by running `update-extensions.py`. Furthermore, the automatic generated names are dumped in `collisions.json` for manual inspection. `extensionRenames.nix` contains provides new names for all extensions that collide. +The actual packages are created by `buildGnomeExtension.nix`, provided the correct arguments are fed into it. The important extension data is stored in `extensions.json`, one line/item per extension. That file is generated by running `update-extensions.py`. Furthermore, the automatic generated names are dumped in `collisions.json` for manual inspection. `extensionRenames.nix` contains new names for all extensions that collide. ### Extensions updates @@ -20,6 +20,7 @@ For GNOME updates, 3. Update `supported_versions` in `./update-extensions.py` and re-run it 4. Change `gnomeExtensions` to the new version 5. Update `./extensionsRenames.nix` accordingly +6. Update `all-packages.nix` accordingly (grep for `gnomeExtensions`) ## Manually packaged extensions