* chore: Remove usage of `yq` in favor of `jq`
* fix: Missed bracket in `default-flatpaks`
* fix: `get_json_array` complaining about unpopulated arrays
* fix(files): Forgot to input `-r` flag for some `jq` calls
* fix(gschema-overrides): Use `try` in `get_json_array`
* chore(default-flatpaks): Replace `yq` with `jq` in run-time setup binaries
* chore: Switch to simplified `jq` syntax without brackets
* chore(default-flatpaks): Switch `repo-info` file from `yml` to `json`
* fix(default-flatpaks): Some `yq` calls
* chore: Revert back to bracket syntax for more reliable `jq` parsing
* chore(files): Missed bracket syntax
* chore: Approve bot suggestion about quoting
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update modules/files/files.sh
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix(yafti): Populating custom flatpaks
It's populated in reverse order compared to the format in recipe, but it works
* fix(fonts): Variable substitution is needed
* fix: Typo
* fix(fonts): Forgot to assign FONTS variable
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* 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
Forgot that this one also doesn't include `gschemas.compiled` in ZIP, unlike some extensions, so just compile the schema always to the UUID extension directory.
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.
Gschema needs to be compiled also.
It worked for me initially, because I use `gschema-overrides` module after `gnome-extensions`, which does the same thing.
So I missed this crucial step.
`wget` might be more reliable for downloading things, which is performed in this module.
Some user faced the error with extension that didn't download fully, causing the `unzip` command to fail.
I tested the same extension & it installed successfully for me.
This was maybe a server error, maybe `curl`'s, but I will still do this change, as I have more trust in `wget` for strictly downloading things.