I did not realize the attribute names are derived from the Nix package names
so I accidentally, renamed them in https://github.com/NixOS/nixpkgs/pull/124295.
(cherry picked from commit 571d540abf447f97b9b4db4a1e0665ec0a4dc06f)
They should have gnome-shell-extension prefix like most other extension packages.
This is what other distros listed on Repology use so Repology will be able to unify them.
Exception is chrome-gnome-shell, which is estabilished under that name.
(cherry picked from commit 5ba789eeca29a85144d1b611e52d09b132bedd91)
Make this use of config.allowAliases consistent with every other use
in the tree.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
(cherry picked from commit 4f0cf23ea3067493b93cc422d52f9bc10abc1e04)
An automatic way to do this that scales up and requires little manual intervention is really needed. It works by scraping extensions.gnome.org with a python script, that writes all relevant information into the `extensions.json`. Every attribute of besaid file can be built into a package using `buildShellExtension`.
Extensions are grouped by GNOME Shell version for practical reasons. Only extensions for GNOME 40 and 3.38 were added, as we don't support legacy GNOME versions.
The extensions are exposed as an attrset, `pkgs.gnome40Extensions` and `pkgs.gnome38Extensions` respectively. The package name of each extensions is generated automatically from its UUID.
The attribute `pkgs.gnomeExtensions` contains the officially packaged and supported extensions set. It contains all the automatically packaged extensions for the current GNOME Shell version, which are overwritten by manually packaged ones where needed. Unlike gnomeXYExtensions, the names are not UUIDs, but automatically generated human-friendly names. Naming collisions – which are tracked in collisions.json – need to be manually resolved in the `extensionRenames` attrset.