Commit graph

62 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
fiftydinar
0a12b0984a
fix(gnome-extensions): Forgot to end-quote echo
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-07-25 16:41:36 +02:00
fiftydinar
dbc886527f
chore(gnome-extensions): Add check test for connection to the website before performing other steps
Makes it clearer to the user when error is website related
2024-07-25 16:37:57 +02:00
fiftydinar
6008d10c14 docs(gnome-extensions): Use 3 ticks instead of 1 for showcasing error in Fly-Pie extension example 2024-07-22 17:33:53 +02:00
fiftydinar
591d581cbf docs(gnome-extensions): Slight style fixes for "Known Issues" section 2024-07-22 17:25:45 +02:00
fiftydinar
189e21af2c docs(gnome-extensions): Clarify known issue about extension-only gschemas.compiled file better 2024-07-22 17:21:37 +02:00
fiftydinar
2d63e610ce
docs(gnome-extensions): Some small additions 2024-07-22 17:06:41 +02:00
fiftydinar
cac6fde96d
docs(gnome-extensions): Add system location explanation 2024-07-22 17:03:22 +02:00
fiftydinar
d8e48d98e9 docs(gnome-extensions): Add known issue about GSConnect not working type of scenario 2024-07-22 16:54:55 +02: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
61b3c35d57 chore(gnome-extensions): Add "null" if condition for QUIERIED_EXT in uninstall 2024-06-11 11:18:50 +02:00
fiftydinar
02922a7e04 fix(gnome-extensions): Usage of INSTALL_EXT instead of UNINSTALL_EXT in uninstall 2024-06-11 11:13:10 +02: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
Andrey Brusnik
cea8f62efa
fix(gnome-extensions): Fix x2 workaround for Fly-Pie
EXT_UUID is undefined too in legacy config logic
2024-06-02 04:09:39 +04:00
Andrey Brusnik
0dc909a911
fix(gnome-extensions): Fix workaround for Fly-Pie
INSTALL_EXT is undefined in legacy config logic, but EXTENSION_NAME is defined here
2024-06-02 03:58:29 +04:00
fiftydinar
4c028bb1d8 fix(gnome-extensions): Fly-Pie extension not working pt.2
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.
2024-06-02 00:58:46 +02:00
fiftydinar
f50b02db2b fix(gnome-extensions): Fly-Pie extension not working
It requires hard-coded compiled schema to be in extension UUID folder, else it fails.

Rest of the explanation can be seen in code comments.
2024-06-02 00:27:33 +02:00
fiftydinar
5df21fac2b docs(gnome-extensions): Fix README title formatting 2024-05-28 00:51:52 +02:00
fiftydinar
fd5e46fbe4 fix(gnome-extensions): Fix all jq commands 2024-05-27 22:04:59 +02:00
fiftydinar
b9e10da0f8 chore(gnome-extensions): Remove -I=0 flag, since it might be incompatible with jq 2024-05-27 21:11:47 +02:00
fiftydinar
7332928506
docs(gnome-extensions): Make caution about legacy configuration clearer
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-05-27 21:08:08 +02:00
fiftydinar
a0dab808f6
chore(gnome-extensions): Remove unneded ending log print
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-05-27 21:07:21 +02:00
fiftydinar
8f4857c8a6
chore(gnome-extensions): Remove unneded to-do comment
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-05-27 21:05:50 +02:00
fiftydinar
8fa97b5892 chore(gnome-extensions): Use jq instead of yq for parsing JSON 2024-05-27 21:03:25 +02:00
fiftydinar
64570aed40 fix(gnome-extensions): There is no need to use echo when bash substitution exists
Thanks to ShellCheck
2024-05-27 10:41:42 +02:00
fiftydinar
5ca57235bf fix(gnome-extensions): Use echo only, ditch sed for whitespace replace
Why use `sed` when `echo` can be utilized.

Thanks to ShellCheck.
2024-05-27 10:33:59 +02:00
fiftydinar
6c7ca18921 fix(gnome-extensions): Syntax errors reported by ShellCheck 2024-05-27 10:23:16 +02:00
fiftydinar
22f18acd65 chore(gnome-extensions): Add safe-check for main extension directory on uninstallation 2024-05-27 10:19:38 +02: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
774c9a8d55 chore(gnome-extensions): Add check if Gnome DE is used 2024-05-05 22:39:20 +02:00
fiftydinar
a7a78bda0e docs(gnome-extensions): Add missing step where gschema is compiled 2024-04-11 21:59:14 +02:00
fiftydinar
47b371c3b7 fix(gnome-extensions): Stupid missing quote 2024-04-11 21:31:26 +02:00
fiftydinar
00204a1114 fix(gnome-extensions): Extensions can't see gschema.xml, even when it's present
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.
2024-04-11 21:22:37 +02:00
fiftydinar
a1297a2ebd fix(gnome-extensions): Fix wget directory prefix 2024-04-11 19:39:48 +02:00
fiftydinar
305342eb3d fix(gnome-extensions): Make folder if it doesn't exist for archive 2024-04-11 19:30:58 +02:00
fiftydinar
d964693898 fix(gnome-extensions): Use wget instead of curl
`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.
2024-04-11 19:22:07 +02:00
fiftydinar
b4af81b28e fix(gnome-extensions): Don't require extensions gschema file
Some extensions simply don't have preferences.
2024-04-10 21:27:20 +02:00
fiftydinar
16a96c22fc
docs: Make extensions with additional dependencies section even better
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 19:15:03 +02:00
fiftydinar
5cc81a489b docs: Fix grammar in logs for non-specified module input 2024-04-10 19:13:19 +02:00
fiftydinar
47c99acfe6 docs: Get rid of unnecessary comments in module.yml 2024-04-10 19:12:06 +02:00
fiftydinar
eac23050ad docs: Add explanation on how to install additional system dependencies if needed for extension 2024-04-10 19:06:55 +02:00
fiftydinar
2f14404e06 docs: Get rid of redundant Usage instructions 2024-04-10 18:54:13 +02:00
fiftydinar
bb56fb94a8 style: Make "DONE" in logs symmetric & get rid of gettext-domain term 2024-04-10 18:50:27 +02:00
fiftydinar
2f711abb2a
docs: Change title to be clearer & to avoid gettext-domain & module-input terms
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 18:29:21 +02:00
fiftydinar
4578c2f024
docs: Add clearer Usage instructions
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 18:27:25 +02:00
fiftydinar
2004690aa6
docs: Use "releases" term instead of "end-releases"
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2024-04-10 18:11:31 +02:00
fiftydinar
5e393fee44 docs: Update "Usage" with more accurate steps on how to get the recipe input 2024-04-09 19:44:30 +02:00
fiftydinar
10f53b27e6 fix: Revert icons installation
It's more reliable to have them in main extension folder instead

They appear to work.
2024-04-09 14:21:06 +02:00
fiftydinar
5b4b47e6e0 style: Make icons log more readable 2024-04-09 14:07:49 +02:00
fiftydinar
6f8cef496c feat: Copy icons if they exist & add better checks for gschema 2024-04-09 13:58:53 +02:00