nixpkgs/pkgs/desktops/gnome/extensions
Jan Tojnar 50c6895e77 gnome-browser-connector: 10.1 → 42.0
https://discourse.gnome.org/t/split-and-rename-of-chrome-gnome-shell/11075
815ec9e1af...v42.0

- Renamed and split into a separate repo from the extensions.
- CMake build replaced with Meson (jq also not needed)
- requests Python module not needed since updates are now solely handled by GNOME Shell itself

Also

- Corrected license
- Cleaned up the module
- Replaced PYTHONPATH in a wrapper by Python environment

Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>
2022-10-11 18:52:12 +02:00
..
arcmenu gnomeExtensions.arcmenu: 35 -> 37 2022-09-01 16:52:10 +00:00
clock-override
dash-to-dock treewide: no need to pass pname, version and attrPath to update scripts based on generic-updater 2022-09-27 23:41:53 -03:00
drop-down-terminal
EasyScreenCast
emoji-selector gnomeExtensions.emoji-selector: 20 -> 22 2022-08-28 15:03:36 +02:00
extensionOverridesPatches
gnome-browser-connector gnome-browser-connector: 10.1 → 42.0 2022-10-11 18:52:12 +02:00
gsconnect
icon-hider
impatience
no-title-bar
paperwm gnomeExtensions.paperwm: 38.1 -> 38.2 2022-09-18 01:38:10 -03:00
pidgin-im-integration
pop-shell
sound-output-device-chooser
system-monitor
taskwhisperer
tilingnome
topicons-plus
window-corner-preview
buildGnomeExtension.nix
collisions.json gnomeExtensions: Update for GNOME 43 2022-09-27 13:39:06 +02:00
default.nix gnomeExtensions: Update for GNOME 43 2022-09-27 13:39:06 +02:00
extensionOverrides.nix
extensionRenames.nix gnomeExtensions: Update for GNOME 43 2022-09-27 13:39:06 +02:00
extensions.json gnomeExtensions: auto-update 2022-10-09 18:45:03 +02:00
manuallyPackaged.nix
README.md
update-extensions.py gnomeExtensions: Update for GNOME 43 2022-09-27 13:39:06 +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 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.