depot/pkgs/desktops/gnome/extensions
Luke Granger-Brown 57725ef3ec Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce
git-subtree-dir: third_party/nixpkgs
git-subtree-split: 76612b17c0ce71689921ca12d9ffdc9c23ce40b2
2024-11-10 23:59:47 +00:00
..
arcmenu Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
argos Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
clock-override Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
drop-down-terminal Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
EasyScreenCast Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
extensionOverridesPatches Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
gnome-browser-connector Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
gsconnect Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
guillotine Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
icon-hider Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
impatience Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
no-title-bar Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
pidgin-im-integration Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
pop-shell Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
sound-output-device-chooser Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
systemd-manager Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
taskwhisperer Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
tilingnome Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
topicons-plus Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
unite Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
valent Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
window-corner-preview Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
buildGnomeExtension.nix Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
collisions.json Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
default.nix Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
extensionOverrides.nix Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
extensionRenames.nix Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
extensions.json Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
manuallyPackaged.nix Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
README.md Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00:00
update-extensions.py Squashed 'third_party/nixpkgs/' content from commit 76612b17c0ce 2024-11-10 23:59:47 +00: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 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

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
  6. Update all-packages.nix accordingly (grep for gnomeExtensions)

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.