My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/desktops/gnome/extensions
Ryan Horiguchi b9418937ec
gnomeExtensions: auto-update
2 years ago
..
EasyScreenCast
arcmenu gnomeExtensions.arcmenu: 27 -> 30 2 years ago
chrome-gnome-shell
clock-override
dash-to-dock
drop-down-terminal
emoji-selector
extensionOverridesPatches gnomeExtensions.freon: package automatically 2 years ago
gsconnect gnomeExtensions.gsconnect: 53 → 50 2 years ago
icon-hider
impatience gnome-shell-extension-impatience: unstable-2019-09-23 -> unstable-2022-03-26 2 years ago
no-title-bar
paperwm
pidgin-im-integration
pop-shell Merge #166485: gnomeExtensions.pop-shell: 2022-01-14 -> 2022-03-25 2 years ago
sound-output-device-chooser gnomeExtensions.sound-output-device-chooser: 39 -> unstable-2022-03-29 2 years ago
system-monitor gnomeExtensions.system-monitor: Use upstream Makefile to fix version 2 years ago
taskwhisperer
tilingnome
topicons-plus
window-corner-preview
README.md
buildGnomeExtension.nix
collisions.json gnomeExtensions: auto-update 2 years ago
default.nix config.allowAliases: Define as option 2 years ago
extensionOverrides.nix gnomeExtensions.freon: package automatically 2 years ago
extensionRenames.nix gnomeExtensions: auto-update 2 years ago
extensions.json gnomeExtensions: auto-update 2 years ago
manuallyPackaged.nix gnomeExtensions.night-theme-switcher: remove manual packaging 2 years ago
update-extensions.py gnomeExtensions: update-extensions.py fix wrong variable name 2 years ago

README.md

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 extension’s 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 don’t 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.