nixpkgs/pkgs/desktops/gnome/extensions
2021-07-14 03:35:12 +02:00
..
appindicator gnomeExtensions: rename uuid field to extensionUuid 2021-07-14 03:23:36 +02:00
arcmenu gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
caffeine gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
chrome-gnome-shell
clock-override gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
dash-to-dock gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
dash-to-panel gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
drop-down-terminal gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
dynamic-panel-transparency gnomeExtensions: rename uuid field to extensionUuid 2021-07-14 03:23:36 +02:00
EasyScreenCast gnomeExtensions: rename uuid field to extensionUuid 2021-07-14 03:23:36 +02:00
emoji-selector gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
freon gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
fuzzy-app-search gnomeExtensions: rename uuid field to extensionUuid 2021-07-14 03:23:36 +02:00
gsconnect gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
icon-hider gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
impatience gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
night-theme-switcher gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
no-title-bar gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
paperwm gnomeExtensions: rename uuid field to extensionUuid 2021-07-14 03:23:36 +02:00
pidgin-im-integration gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
sound-output-device-chooser gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
system-monitor gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
taskwhisperer gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
tilingnome gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
topicons-plus gnomeExtensions: rename uuid field to extensionUuid 2021-07-14 03:23:36 +02:00
unite gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
window-corner-preview gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
buildGnomeExtension.nix gnomeExtensions: Fix the package names 2021-05-25 02:35:04 +02:00
collisions.json gnome: Package all the GNOME extensions 2021-05-21 23:10:12 +02:00
default.nix gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
extensionRenames.nix gnomeExtensions: integrate manually packaged extensions better with the others 2021-07-14 03:35:11 +02:00
extensions.json gnome: Package all the GNOME extensions 2021-05-21 23:10:12 +02:00
manuallyPackaged.nix gnomeExtensions.clipboard-indicator: Remove manual packaging 2021-07-14 03:35:12 +02:00
README.md gnome: Package all the GNOME extensions 2021-05-21 23:10:12 +02:00
update-extensions.py gnome: Package all the GNOME extensions 2021-05-21 23:10:12 +02:00

GNOME Shell extensions

All extensions are packaged automatically. They can be found in the pkgs.gnomeXYExtensions for XY being a GNOME version. The package names are the extensions UUID, which can be a bit unwieldy to use. pkgs.gnomeExtensions is a set of manually curated extensions that match the current gnome.gnome-shell versions. Their name is human-friendly, compared to the other extensions sets. Some of its extensions are manually packaged.

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.

Extensions updates

For everyday updates,

  1. Run update-extensions.py.
  2. Update extensionRenames.nix according to the comment at the top.

For GNOME updates,

  1. Add a new gnomeXYExtensions set
  2. Remove old ones for GNOME versions we dont want to support any more
  3. Update supported_versions in ./update-extensions.py and re-run it
  4. Change gnomeExtensions to the new version
  5. Update ./extensionsRenames.nix accordingly

Manually packaged extensions

Manually packaged extensions overwrite some of the automatically packaged ones in pkgs.gnomeExtensions. They are listed in manuallyPackaged.nix, every extension has its own sub-folder.