* chore(gnome-extensions): Make extension URL quering more robust
If there are multiple Gnome extensions with the same name, & they are compatible with Gnome version in the base image, then build will fail.
Previously, build would always fail if there are extensions with duplicate names.
* docs(gnome-extensions): Fix typo
* docs(gnome-extensions): Mention github repo
* fix(gnome-extensions): Version checking
* chore(gnome-extensions): Make operation order better for reading
* feat(gnome-extensions): Use new PK ID installation method
* fix(gnome-extensions): Unbound variable error
* fix(gnome-extensions): Legacy config order logic
* docs(gnome-extensions): Fix spacing
* docs(gnome-extension): Delete false-claim about better config readability
* chore(gnome-extensions): Add safe check for "null" in if `jq` parsing
* chore(gnome-extensions): Update uninstall step to use PK
This will break config for uninstalling extensions in literal names, but I bet that no one uses this feature yet since this extension is still new & fresh, so I'll just break it.
* Revert to the current module state
* docs(gnome-extensions): Add README details about missing gschema.compiled file
* chore(gnome-extensions): Introduce hybrid literal-name/PK config
If 2 or more same-named extensions are recommended, then user is recommended to use PK ID instead.
* chore(gnome-extensions): Ignore ShellCheck 2128 error, since it's harmless & intended
* chore(gnome-extensions): Also ignore harmless SC2178 notice
* chore(gnome-extensions): Use UUID for matching compiled.gschema workaround rather than extension name
* docs(gnome-extensions): Add note in module.yml that PK can be used
Also adds support for uninstalling extensions.
Legacy config is still compatible, but it is advised to migrate to latest config. Users are warned about this in logs.
I find this pretty much ready, except I think about something down below.
Latest Gnome extension version, that is compatible with Gnome version of the image, is installed by default.
Legacy config format can be used to have this support, but I want to depreciate legacy config format in the future.
So Idk If I should add this feature as an option in new config format.
It can be useful in case of some extension regressions.
If you wished to install some Gnome extension, but couldn't find it in RPM, this extension will help you in that.
Basically all extensions are supported, with some rare extensions like Pano just additionally needing some system dependencies.
See README for more details.