Commit graph

7 commits

Author SHA1 Message Date
xyny
e749fe71d3 chore: remove raw github URLs from module.ymls (unneeded after recent refactor) 2024-07-26 16:02:32 +03:00
xyny
be6e4ba5bd
feat: add typespec schemas for modules (#233)
* feat: add typespec for bling and akmods for testing

* chore: temporarily change module source to dev branch

* feat: add missing module typespecs from blue-build/schema

* feat: add schemas for default-flatpaks module

* chore: annotate some parameters as optional

* fix: typo in default-flatpaks schema

* feat: add schema for files module

* feat: add script module schema

* feat: add signing module schema

* docs: add module.yml docs etc.

* fix(default-flatpaks): don't capitalize string in typespec

* feat: add schemas for gnome-extensions

* fix(files): properly declare string: string record type

* chore: add tsp for gschema-overrides

* chore: tsp for systemd module

* chore: add link to systemd tsp to module.yml

* chore: add tsp for yafti module

* feat: add docstrings for files module

* feat: add tsp for chezmoi module

* feat: docstrings for akmods tsp

* feat: docstrings for bling tsp

* feat: docstrings for default flatpaks tsp

* fix: link to files module docs page in files module tsp

* feat: docstrings for fonts module tsp

* feat: add docstrings for gnome extensions tsp

* feat: docstrings for gschema overrides tsp

* feat: docstrings for rpm ostree tsp

* feat: docstrings for script tsp

* feat: docstrings for signing module

* feat: docstrings for systemd tsp

* feat: docstrings for yafti module

* fix: typo in files tsp

* feat: typespec for brew module

* chore: update rpm ostree tsp for keys: prop

* fix: use typespec to declare default values

* fix: errors from previous commit

* docs: add typespec instructions

* docs: chore: add typespec docs link for docs syntax

* chore: switch to semicolon for ending property definitions

* docs: fix: typo inlude -> include

* feat: tsp for justfiles module

* chore: change links to reference main branch

---------

Co-authored-by: fiftydinar <65243233+fiftydinar@users.noreply.github.com>
2024-07-09 16:25:31 +00:00
fiftydinar
a7024ba475
feat(gnome-extensions): Add PK ID recipe input support (#249)
* 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
2024-06-05 13:29:20 +00:00
fiftydinar
629ab53d52 refactor(gnome-extensions): Support for automatic install of latest Gnome extensions
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.
2024-05-27 10:04:08 +02:00
fiftydinar
47c99acfe6 docs: Get rid of unnecessary comments in module.yml 2024-04-10 19:12:06 +02:00
fiftydinar
1ed844fd85 fix: Get rid of gettext-domain key, install key is already sufficient 2024-04-09 09:09:43 +02:00
fiftydinar
04d94eacb2 feat: gnome-extensions module
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.
2024-04-08 19:21:36 +02:00