diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index aee5d675c..c49f77a5d 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -67,9 +67,9 @@ nav: - Secure Boot: manual/secure-boot.md - Flake-parts: manual/flake-parts.md - Authoring: - - clan.service: authoring/clanServices/index.md - - Disk Templates: authoring/templates/disk/disko-templates.md - - clanModules: authoring/legacyModules/index.md + - clanService: guides/authoring/clanServices/index.md + - Disk Template: guides/authoring/templates/disk/disko-templates.md + - clanModule: guides/authoring/clanModules/index.md - Contributing: - Contribute: contributing/contribute.md - Debugging: contributing/debugging.md diff --git a/docs/site/authoring/legacyModules/index.md b/docs/site/guides/authoring/clanModules/index.md similarity index 94% rename from docs/site/authoring/legacyModules/index.md rename to docs/site/guides/authoring/clanModules/index.md index 21de20b26..a2a273693 100644 --- a/docs/site/authoring/legacyModules/index.md +++ b/docs/site/guides/authoring/clanModules/index.md @@ -9,11 +9,11 @@ This site will guide you through authoring your first module. Explaining which c !!! Tip - External ClanModules can be ad-hoc loaded via [`clan.inventory.modules`](../../reference/nix-api/inventory.md#inventory.modules) + External ClanModules can be ad-hoc loaded via [`clan.inventory.modules`](../../../reference/nix-api/inventory.md#inventory.modules) ## Bootstrapping the `clanModule` -A ClanModule is a specific subset of a [NixOS Module](https://nix.dev/tutorials/module-system/index.html), but it has some constraints and might be used via the [Inventory](../../manual/inventory.md) interface. +A ClanModule is a specific subset of a [NixOS Module](https://nix.dev/tutorials/module-system/index.html), but it has some constraints and might be used via the [Inventory](../../../manual/inventory.md) interface. In fact a `ClanModule` can be thought of as a layer of abstraction on-top of NixOS and/or other ClanModules. It may configure sane defaults and provide an ergonomic interface that is easy to use and can also be used via a UI that is under development currently. Because ClanModules should be configurable via `json`/`API` all of its interface (`options`) must be serializable. @@ -48,7 +48,7 @@ clanModules/borgbackup === "User module" If the module should be ad-hoc loaded. - It can be made available in any project via the [`clan.inventory.modules`](../../reference/nix-api/inventory.md#inventory.modules) attribute. + It can be made available in any project via the [`clan.inventory.modules`](../../../reference/nix-api/inventory.md#inventory.modules) attribute. ```nix title="flake.nix" # ... @@ -89,7 +89,7 @@ description = "Module A" This is the example module that does xyz. ``` -See the [Full Frontmatter reference](../../reference/clanModules/frontmatter/index.md) further details and all supported attributes. +See the [Full Frontmatter reference](../../../reference/clanModules/frontmatter/index.md) further details and all supported attributes. ## Roles diff --git a/docs/site/authoring/clanServices/index.md b/docs/site/guides/authoring/clanServices/index.md similarity index 99% rename from docs/site/authoring/clanServices/index.md rename to docs/site/guides/authoring/clanServices/index.md index e056972c8..5c2fa17fc 100644 --- a/docs/site/authoring/clanServices/index.md +++ b/docs/site/guides/authoring/clanServices/index.md @@ -1,7 +1,7 @@ # Authoring a 'clan.service' module !!! Tip - This is the successor format to the older [clanModules](../legacyModules/index.md) + This is the successor format to the older [clanModules](../clanModules/index.md) While some features might still be missing we recommend to adapt this format early and give feedback. diff --git a/docs/site/authoring/templates/disk/disko-templates.md b/docs/site/guides/authoring/templates/disk/disko-templates.md similarity index 100% rename from docs/site/authoring/templates/disk/disko-templates.md rename to docs/site/guides/authoring/templates/disk/disko-templates.md diff --git a/docs/site/guides/clanServices.md b/docs/site/guides/clanServices.md index 21526d084..b7ebf187b 100644 --- a/docs/site/guides/clanServices.md +++ b/docs/site/guides/clanServices.md @@ -108,7 +108,7 @@ You can use services exposed by Clan’s core module library, `clan-core`. You can also author your own `clanService` modules. -πŸ”— Learn how to write your own service: [Authoring a clanService](../authoring/clanServices/index.md) +πŸ”— Learn how to write your own service: [Authoring a clanService](../guides/authoring/clanServices/index.md) You might expose your service module from your flake β€” this makes it easy for other people to also use your module in their clan. @@ -124,6 +124,6 @@ You might expose your service module from your flake β€” this makes it easy for ## What’s Next? -* [Author your own clanService β†’](../authoring/clanServices/index.md) +* [Author your own clanService β†’](../guides/authoring/clanServices/index.md) * [Migrate from clanModules β†’](../guides/migrate-inventory-services.md) diff --git a/docs/site/guides/migrate-inventory-services.md b/docs/site/guides/migrate-inventory-services.md index 5a8b315dc..89e6e12f6 100644 --- a/docs/site/guides/migrate-inventory-services.md +++ b/docs/site/guides/migrate-inventory-services.md @@ -1,7 +1,7 @@ # Migrating from using `clanModules` to `clanServices` **Audience**: This is a guide for **people using `clanModules`**. -If you are a **module author** and need to migrate your modules please consult our **new** [clanServices authoring guide](../authoring/clanServices/index.md) +If you are a **module author** and need to migrate your modules please consult our **new** [clanServices authoring guide](../guides/authoring/clanServices/index.md) ## What's Changing? @@ -142,6 +142,6 @@ roles.default.machines."test-inventory-machine".settings = { ## Further reference -* [Authoring a 'clan.service' module](../authoring/clanServices/index.md) +* [Authoring a 'clan.service' module](../guides/authoring/clanServices/index.md) * [ClanServices](../guides/clanServices.md) * [Inventory Reference](../reference/nix-api/inventory.md) \ No newline at end of file diff --git a/docs/site/index.md b/docs/site/index.md index c22a10caa..881335867 100644 --- a/docs/site/index.md +++ b/docs/site/index.md @@ -29,7 +29,7 @@ hide: Create ressources that can be reused by the community. - [:octicons-arrow-right-24: Authoring guides](./authoring/legacyModules/index.md) + [:octicons-arrow-right-24: Authoring guides](./guides/authoring/clanModules/index.md) @@ -99,8 +99,8 @@ hide: --- - The clan core nix module. - This is imported when using clan and is the basis of the extra functionality + The clan core nix module. + This is imported when using clan and is the basis of the extra functionality that can be provided. diff --git a/lib/inventory/build-inventory/interface.nix b/lib/inventory/build-inventory/interface.nix index 8e18c6088..63bebb21c 100644 --- a/lib/inventory/build-inventory/interface.nix +++ b/lib/inventory/build-inventory/interface.nix @@ -126,7 +126,7 @@ in - The module MUST have at least `features = [ "inventory" ]` in the frontmatter section. - The module MUST have a subfolder `roles` with at least one `{roleName}.nix` file. - For further information see: [Module Authoring Guide](../../authoring/clanServices/index.md). + For further information see: [Module Authoring Guide](../../guides/authoring/clanServices/index.md). ???+ example ```nix