Ryan Horiguchi
b9418937ec
|
2 years ago | |
---|---|---|
.. | ||
EasyScreenCast | 3 years ago | |
arcmenu | 2 years ago | |
chrome-gnome-shell | ||
clock-override | 3 years ago | |
dash-to-dock | 2 years ago | |
drop-down-terminal | 3 years ago | |
emoji-selector | 3 years ago | |
extensionOverridesPatches | 2 years ago | |
gsconnect | 2 years ago | |
icon-hider | 3 years ago | |
impatience | 2 years ago | |
no-title-bar | 3 years ago | |
paperwm | 3 years ago | |
pidgin-im-integration | 3 years ago | |
pop-shell | 2 years ago | |
sound-output-device-chooser | 2 years ago | |
system-monitor | 2 years ago | |
taskwhisperer | 2 years ago | |
tilingnome | 3 years ago | |
topicons-plus | 3 years ago | |
window-corner-preview | 3 years ago | |
README.md | 3 years ago | |
buildGnomeExtension.nix | 3 years ago | |
collisions.json | 2 years ago | |
default.nix | 2 years ago | |
extensionOverrides.nix | 2 years ago | |
extensionRenames.nix | 2 years ago | |
extensions.json | 2 years ago | |
manuallyPackaged.nix | 2 years ago | |
update-extensions.py | 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,
- Run
update-extensions.py
. - Update
extensionRenames.nix
according to the comment at the top.
For GNOME updates,
- Add a new
gnomeXYExtensions
set - Remove old ones for GNOME versions we don’t want to support any more
- Update
supported_versions
in./update-extensions.py
and re-run it - Change
gnomeExtensions
to the new version - Update
./extensionsRenames.nix
accordingly - Update
all-packages.nix
accordingly (grep forgnomeExtensions
)
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.