* 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>
31 lines
No EOL
1.2 KiB
Text
31 lines
No EOL
1.2 KiB
Text
import "@typespec/json-schema";
|
|
using TypeSpec.JsonSchema;
|
|
|
|
@jsonSchema("/modules/chezmoi.json")
|
|
model ChezmoiModule {
|
|
/** The chezmoi module installs the latest chezmoi release at build time, along with services to clone a dotfile repository and keep it up-to-date.
|
|
* https://blue-build.org/reference/modules/chezmoi/
|
|
*/
|
|
type: "chezmoi";
|
|
|
|
/** Git repository to initialize. */
|
|
repository: string;
|
|
|
|
/** Whether to enable the modules services globally for all users, if false users need to enable services manually. */
|
|
"all-users"?: boolean = true;
|
|
|
|
/** Dotfiles will be updated with this interval. */
|
|
"run-every"?: string = "1d";
|
|
|
|
/** Dotfile updates will wait this long after a boot before running. */
|
|
"wait-after-boot"?: string = "5m";
|
|
|
|
/** Disable the service that initializes `repository` on users that are logged in or have linger enabled UI. */
|
|
"disable-init"?: boolean = false;
|
|
|
|
/** Disable the timer that updates chezmoi with the set interval. */
|
|
"disable-update"?: boolean = false;
|
|
|
|
/** What to do when file different that exists on your repo is has been changed or exists locally. Accepts "skip" or "replace". */
|
|
"file-conflict-policy"?: "skip" | "replace" = "skip";
|
|
} |