···45## Automatically packaged extensions
67-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.
89### Extensions updates
10···203. Update `supported_versions` in `./update-extensions.py` and re-run it
214. Change `gnomeExtensions` to the new version
225. Update `./extensionsRenames.nix` accordingly
02324## Manually packaged extensions
25
···45## Automatically packaged extensions
67+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.
89### Extensions updates
10···203. Update `supported_versions` in `./update-extensions.py` and re-run it
214. Change `gnomeExtensions` to the new version
225. Update `./extensionsRenames.nix` accordingly
23+6. Update `all-packages.nix` accordingly (grep for `gnomeExtensions`)
2425## Manually packaged extensions
26
···3, gjs
4, xprop
5}:
0000006# A set of overrides for automatically packaged extensions that require some small fixes.
7# The input must be an attribute set with the extensions' UUIDs as keys and the extension
8# derivations as values. Output is the same, but with patches applied.
9#
10# Note that all source patches refer to the built extension as published on extensions.gnome.org, and not
11# the upstream repository's sources.
12-super: super // {
13-14- "caffeine@patapon.info" = super."caffeine@patapon.info".overrideAttrs (old: {
15 meta.maintainers = with lib.maintainers; [ eperuffo ];
16- });
1718- "dash-to-dock@micxgx.gmail.com" = super."dash-to-dock@micxgx.gmail.com".overrideAttrs (old: {
19 meta.maintainers = with lib.maintainers; [ eperuffo jtojnar rhoriguchi ];
20- });
2122- "display-brightness-ddcutil@themightydeity.github.com" = super."display-brightness-ddcutil@themightydeity.github.com".overrideAttrs (old: {
23 # Has a hard-coded path to a run-time dependency
24 # https://github.com/NixOS/nixpkgs/issues/136111
25 postPatch = ''
26 substituteInPlace "extension.js" --replace "/usr/bin/ddcutil" "${ddcutil}/bin/ddcutil"
27 '';
28- });
2930- "gnome-shell-screenshot@ttll.de" = super."gnome-shell-screenshot@ttll.de".overrideAttrs (old: {
31 # Requires gjs
32 # https://github.com/NixOS/nixpkgs/issues/136112
33 postPatch = ''
···35 substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
36 done
37 '';
38- });
3940- "unite@hardpixel.eu" = super."unite@hardpixel.eu".overrideAttrs (old: {
41 buildInputs = [ xprop ];
4243 meta.maintainers = with lib.maintainers; [ rhoriguchi ];
44- });
45-46-}
···3, gjs
4, xprop
5}:
6+let
7+ # Helper method to reduce redundancy
8+ patchExtension = name: override: super: (super // {
9+ ${name} = super.${name}.overrideAttrs override;
10+ });
11+in
12# A set of overrides for automatically packaged extensions that require some small fixes.
13# The input must be an attribute set with the extensions' UUIDs as keys and the extension
14# derivations as values. Output is the same, but with patches applied.
15#
16# Note that all source patches refer to the built extension as published on extensions.gnome.org, and not
17# the upstream repository's sources.
18+super: lib.trivial.pipe super [
19+ (patchExtension "caffeine@patapon.info" (old: {
020 meta.maintainers = with lib.maintainers; [ eperuffo ];
21+ }))
2223+ (patchExtension "dash-to-dock@micxgx.gmail.com" (old: {
24 meta.maintainers = with lib.maintainers; [ eperuffo jtojnar rhoriguchi ];
25+ }))
2627+ (patchExtension "display-brightness-ddcutil@themightydeity.github.com" (old: {
28 # Has a hard-coded path to a run-time dependency
29 # https://github.com/NixOS/nixpkgs/issues/136111
30 postPatch = ''
31 substituteInPlace "extension.js" --replace "/usr/bin/ddcutil" "${ddcutil}/bin/ddcutil"
32 '';
33+ }))
3435+ (patchExtension "gnome-shell-screenshot@ttll.de" (old: {
36 # Requires gjs
37 # https://github.com/NixOS/nixpkgs/issues/136112
38 postPatch = ''
···40 substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
41 done
42 '';
43+ }))
4445+ (patchExtension "unite@hardpixel.eu" (old: {
46 buildInputs = [ xprop ];
4748 meta.maintainers = with lib.maintainers; [ rhoriguchi ];
49+ }))
50+]
0