This extension has not gotten a new release in while, and the latest one
in the GNOME extension repository is not compatible with GNOME 49. This
commit replaces that one with a new one manually packaged directly from
GitHub, and which includes fixes to make it work with GNOME 49 again.
The stable version has several usability bugs (e.g. https://github.com/micheleg/dash-to-dock/issues/1629)
but patches do not apply cleanly to the zips from the extension portal.
Let’s switch back to building from source to make it easier to update the extension.
This reverts commit 2bb795bab2,
adds an update script and updates to latest git revision.
Their keys are now not used directly. Instead, we go the standard route of mapping to the
UUID in order to apply the rename procedure. This makes sure the manual override always does
the correct thing, and also gives us more consistency overall.
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.