* 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> |
||
|---|---|---|
| .. | ||
| justfiles.sh | ||
| justfiles.tsp | ||
| module.yml | ||
| README.md | ||
justfiles
:::note The module is only compatible with Universal Blue images. :::
The justfiles module makes it easy to include just recipes from multiple files in Universal Blue -based images. It can be useful for example when utilizing DE-specific justfiles when building multiple images. On the other hand, you likely wont need the module if you're building just one image or need just one justfile for all your images.
What is just ?
Just is a command runner (kind of like make) that can be used to supply arbitrary scripts under a single shell command. Images based on Universal Blue bundle a set of these scripts, called recipes, which can be accessed with the ujust command.
For more information, refer to these links:
What the module does
-
The module checks if the
config/justfiles/folder is present.- If it's not there, it fails.
-
The module finds all
.justfiles inside of theconfig/justfiles/folder or starting from the relative path specified underinclude.-
If no
.justfiles are found, it fails. -
The structure of the
config/justfiles/folder does not matter, folders/files can be placed in there however desired, the module will find all.justfiles. -
Optionally, the
.justfiles can be validated.
-
-
The module copies over the files/folders containing
.justfiles to/usr/share/bluebuild/justfiles/.- The folder structure of the copy destination remains the same as in the config folder.
-
The module generates import lines and appends them to the
/usr/share/ublue-os/just/60-custom.justfile.-
The module does not overwrite the destination file. New lines are added to an existing file.
-
If the generated import lines are already present, the module skips them to avoid duplications.
-
How to use the module
Place all your .just files or folders with .just files inside the config/justfiles/ folder. If that folder doesn't exist, create it.
By default, the module will import all files with names ending in .just from config/justfiles/. You can also specify files or subfolders under include, and they will be the only ones imported.
If you also want to validate your justfiles, set validate: true. The validation can be very unforgiving and is turned off by default.
- The validation command usually prints huge number of lines. To avoid cluttering up the logs, the module will only tell you which files did not pass the validation. You can then use the command
just --fmt --check --unstable --justfile <DESTINATION FILE>to troubleshoot them.