diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index a2a326e28..dbf4f90f4 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -48,34 +48,25 @@ nav: - Home: index.md - Guides: - Getting Started: - - πŸš€ Creating Your First Clan: guides/getting-started/index.md - - πŸ“€ Create USB Installer (optional): guides/getting-started/installer.md - - βš™οΈ Add Machines: guides/getting-started/add-machines.md - - βš™οΈ Add User: guides/getting-started/add-user.md - - βš™οΈ Add Services: guides/getting-started/add-services.md - - 🚒 Deploy Machine: guides/getting-started/deploy.md - - πŸ§ͺ Continuous Integration: guides/getting-started/check.md - - clanServices: guides/clanServices.md - - Disk Encryption: guides/disk-encryption.md - - Mesh VPN: guides/mesh-vpn.md + - Creating Your First Clan: guides/getting-started/index.md + - Create USB Installer: guides/getting-started/installer.md + - Add Machines: guides/getting-started/add-machines.md + - Add User: guides/getting-started/add-user.md + - Add Services: guides/getting-started/add-services.md + - Deploy Machine: guides/getting-started/deploy.md + - Continuous Integration: guides/getting-started/check.md + - Inventory: guides/inventory.md + - Using Services: guides/clanServices.md - Backup & Restore: guides/backups.md + - Disk Encryption: guides/disk-encryption.md - Vars: guides/vars-backend.md - Age Plugins: guides/age-plugins.md - - Secrets (Advanced Usage): guides/secrets.md - - Adding more machines: guides/more-machines.md + - Advanced Secrets: guides/secrets.md + - Machine Autoincludes: guides/more-machines.md - Target Host: guides/target-host.md - - Inventory: - - Inventory: guides/inventory.md + - Zerotier VPN: guides/mesh-vpn.md - Secure Boot: guides/secure-boot.md - Flake-parts: guides/flake-parts.md - - Authoring: - - clanService: guides/authoring/clanServices/index.md - - Disk Template: guides/authoring/templates/disk/disko-templates.md - - clanModule: guides/authoring/clanModules/index.md - - Contributing: - - Contribute: guides/contributing/CONTRIBUTING.md - - Debugging: guides/contributing/debugging.md - - Testing: guides/contributing/testing.md - Migrations: - Migrate existing Flakes: guides/migrations/migration-guide.md - Migrate inventory Services: guides/migrations/migrate-inventory-services.md @@ -85,66 +76,84 @@ nav: - Reference: - Overview: reference/index.md - Services: - - Overview: reference/clanServices/index.md - - reference/clanServices/admin.md - - reference/clanServices/borgbackup.md - - reference/clanServices/data-mesher.md - - reference/clanServices/emergency-access.md - - reference/clanServices/garage.md - - reference/clanServices/hello-world.md - - reference/clanServices/importer.md - - reference/clanServices/mycelium.md - - reference/clanServices/packages.md - - reference/clanServices/sshd.md - - reference/clanServices/state-version.md - - reference/clanServices/trusted-nix-caches.md - - reference/clanServices/users.md - - reference/clanServices/wifi.md - - reference/clanServices/zerotier.md - - Interface for making Services: reference/clanServices/clan-service-author-interface.md + - List: + - Overview: reference/clanServices/index.md + - reference/clanServices/admin.md + - reference/clanServices/borgbackup.md + - reference/clanServices/data-mesher.md + - reference/clanServices/emergency-access.md + - reference/clanServices/garage.md + - reference/clanServices/hello-world.md + - reference/clanServices/importer.md + - reference/clanServices/mycelium.md + - reference/clanServices/packages.md + - reference/clanServices/sshd.md + - reference/clanServices/state-version.md + - reference/clanServices/trusted-nix-caches.md + - reference/clanServices/users.md + - reference/clanServices/wifi.md + - reference/clanServices/zerotier.md + - API: reference/clanServices/clan-service-author-interface.md + - Writing a Service Module: developer/extensions/clanServices/index.md - Modules: - - Overview: reference/clanModules/index.md - - reference/clanModules/frontmatter/index.md - # TODO: display the docs of the clan.service modules - - reference/clanModules/admin.md - # This is the module overview and should stay at the top - - reference/clanModules/borgbackup-static.md - - reference/clanModules/data-mesher.md - - reference/clanModules/borgbackup.md - - reference/clanModules/deltachat.md - - reference/clanModules/disk-id.md - - reference/clanModules/dyndns.md - - reference/clanModules/ergochat.md - - reference/clanModules/garage.md - - reference/clanModules/heisenbridge.md - - reference/clanModules/importer.md - - reference/clanModules/iwd.md - - reference/clanModules/localbackup.md - - reference/clanModules/localsend.md - - reference/clanModules/matrix-synapse.md - - reference/clanModules/moonlight.md - - reference/clanModules/mumble.md - - reference/clanModules/mycelium.md - - reference/clanModules/nginx.md - - reference/clanModules/packages.md - - reference/clanModules/postgresql.md - - reference/clanModules/root-password.md - - reference/clanModules/single-disk.md - - reference/clanModules/sshd.md - - reference/clanModules/state-version.md - - reference/clanModules/static-hosts.md - - reference/clanModules/sunshine.md - - reference/clanModules/syncthing-static-peers.md - - reference/clanModules/syncthing.md - - reference/clanModules/thelounge.md - - reference/clanModules/trusted-nix-caches.md - - reference/clanModules/user-password.md - - reference/clanModules/auto-upgrade.md - - reference/clanModules/vaultwarden.md - - reference/clanModules/xfce.md - - reference/clanModules/zerotier-static-peers.md - - reference/clanModules/zerotier.md - - reference/clanModules/zt-tcp-relay.md + - List: + - Overview: reference/clanModules/index.md + - reference/clanModules/frontmatter/index.md + # TODO: display the docs of the clan.service modules + - reference/clanModules/admin.md + # This is the module overview and should stay at the top + - reference/clanModules/borgbackup-static.md + - reference/clanModules/data-mesher.md + - reference/clanModules/borgbackup.md + - reference/clanModules/deltachat.md + - reference/clanModules/disk-id.md + - reference/clanModules/dyndns.md + - reference/clanModules/ergochat.md + - reference/clanModules/garage.md + - reference/clanModules/heisenbridge.md + - reference/clanModules/importer.md + - reference/clanModules/iwd.md + - reference/clanModules/localbackup.md + - reference/clanModules/localsend.md + - reference/clanModules/matrix-synapse.md + - reference/clanModules/moonlight.md + - reference/clanModules/mumble.md + - reference/clanModules/mycelium.md + - reference/clanModules/nginx.md + - reference/clanModules/packages.md + - reference/clanModules/postgresql.md + - reference/clanModules/root-password.md + - reference/clanModules/single-disk.md + - reference/clanModules/sshd.md + - reference/clanModules/state-version.md + - reference/clanModules/static-hosts.md + - reference/clanModules/sunshine.md + - reference/clanModules/syncthing-static-peers.md + - reference/clanModules/syncthing.md + - reference/clanModules/thelounge.md + - reference/clanModules/trusted-nix-caches.md + - reference/clanModules/user-password.md + - reference/clanModules/auto-upgrade.md + - reference/clanModules/vaultwarden.md + - reference/clanModules/xfce.md + - reference/clanModules/zerotier-static-peers.md + - reference/clanModules/zerotier.md + - reference/clanModules/zt-tcp-relay.md + - Writing a Clan Module: developer/extensions/clanModules/index.md + + - Nix API: + - inputs.clan-core.lib.clan: reference/nix-api/clan.md + - config.clan.core: + - Overview: reference/clan.core/index.md + - reference/clan.core/backups.md + - reference/clan.core/deployment.md + - reference/clan.core/facts.md + - reference/clan.core/networking.md + - reference/clan.core/settings.md + - reference/clan.core/sops.md + - reference/clan.core/state.md + - reference/clan.core/vars.md + - Inventory: reference/nix-api/inventory.md - CLI: - Overview: reference/cli/index.md @@ -161,21 +170,7 @@ nav: - reference/cli/templates.md - reference/cli/vars.md - reference/cli/vms.md - - NixOS Modules: - - clan.core: - - Overview: reference/clan.core/index.md - - reference/clan.core/backups.md - - reference/clan.core/deployment.md - - reference/clan.core/facts.md - - reference/clan.core/networking.md - - reference/clan.core/settings.md - - reference/clan.core/sops.md - - reference/clan.core/state.md - - reference/clan.core/vars.md - - Nix API: - - clan: reference/nix-api/clan.md - - Inventory: reference/nix-api/inventory.md - Glossary: reference/glossary.md - Decisions: - Architecture Decisions: decisions/README.md @@ -187,8 +182,14 @@ nav: - Template: decisions/_template.md - Options: options.md - Developer: - - Introduction: intern/index.md - - API: intern/api.md + - Introduction: developer/index.md + - Dev Setup: developer/contributing/CONTRIBUTING.md + - Writing a Service Module: developer/extensions/clanServices/index.md + - Writing a Clan Module: developer/extensions/clanModules/index.md + - Writing a Disko Template: developer/extensions/templates/disk/disko-templates.md + - Debugging: developer/contributing/debugging.md + - Testing: developer/contributing/testing.md + - Python API: developer/api.md docs_dir: site site_dir: out diff --git a/docs/nix/render_options/__init__.py b/docs/nix/render_options/__init__.py index 84de7a675..b057da5c0 100644 --- a/docs/nix/render_options/__init__.py +++ b/docs/nix/render_options/__init__.py @@ -805,7 +805,7 @@ Typically needed by module authors to define roles, behavior and metadata for di !!! Note This is not a user-facing documentation, but rather meant as a reference for *module authors* - See: [clanService Authoring Guide](../../guides/authoring/clanServices/index.md) + See: [clanService Authoring Guide](../../developer/extensions/clanServices/index.md) """ # Inventory options are already included under the clan attribute # We just omitted them in the clan docs, because we want a separate output for the inventory model diff --git a/docs/site/intern/api.md b/docs/site/developer/api.md similarity index 100% rename from docs/site/intern/api.md rename to docs/site/developer/api.md diff --git a/docs/site/guides/contributing/CONTRIBUTING.md b/docs/site/developer/contributing/CONTRIBUTING.md similarity index 100% rename from docs/site/guides/contributing/CONTRIBUTING.md rename to docs/site/developer/contributing/CONTRIBUTING.md diff --git a/docs/site/guides/contributing/debugging.md b/docs/site/developer/contributing/debugging.md similarity index 100% rename from docs/site/guides/contributing/debugging.md rename to docs/site/developer/contributing/debugging.md diff --git a/docs/site/guides/contributing/testing.md b/docs/site/developer/contributing/testing.md similarity index 100% rename from docs/site/guides/contributing/testing.md rename to docs/site/developer/contributing/testing.md diff --git a/docs/site/guides/authoring/clanModules/index.md b/docs/site/developer/extensions/clanModules/index.md similarity index 100% rename from docs/site/guides/authoring/clanModules/index.md rename to docs/site/developer/extensions/clanModules/index.md diff --git a/docs/site/guides/authoring/clanServices/index.md b/docs/site/developer/extensions/clanServices/index.md similarity index 98% rename from docs/site/guides/authoring/clanServices/index.md rename to docs/site/developer/extensions/clanServices/index.md index f3e86bb70..3f0ab86b3 100644 --- a/docs/site/guides/authoring/clanServices/index.md +++ b/docs/site/developer/extensions/clanServices/index.md @@ -267,5 +267,5 @@ The benefit of this approach is that downstream users can override the value of ## Further - [Reference Documentation for Service Authors](../../../reference/clanServices/clan-service-author-interface.md) -- [Migration Guide from ClanModules to ClanServices](../../migrations/migrate-inventory-services.md) +- [Migration Guide from ClanModules to ClanServices](../../../guides/migrations/migrate-inventory-services.md) - [Decision that lead to ClanServices](../../../decisions/01-ClanModules.md) diff --git a/docs/site/guides/authoring/templates/disk/disko-templates.md b/docs/site/developer/extensions/templates/disk/disko-templates.md similarity index 100% rename from docs/site/guides/authoring/templates/disk/disko-templates.md rename to docs/site/developer/extensions/templates/disk/disko-templates.md diff --git a/docs/site/intern/index.md b/docs/site/developer/index.md similarity index 100% rename from docs/site/intern/index.md rename to docs/site/developer/index.md diff --git a/docs/site/guides/clanServices.md b/docs/site/guides/clanServices.md index c2272ad76..94df37f01 100644 --- a/docs/site/guides/clanServices.md +++ b/docs/site/guides/clanServices.md @@ -138,7 +138,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](../guides/authoring/clanServices/index.md) +πŸ”— Learn how to write your own service: [Authoring a clanService](../developer/extensions/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. @@ -154,6 +154,6 @@ You might expose your service module from your flake β€” this makes it easy for ## What’s Next? -* [Author your own clanService β†’](../guides/authoring/clanServices/index.md) +* [Author your own clanService β†’](../developer/extensions/clanServices/index.md) * [Migrate from clanModules β†’](../guides/migrations/migrate-inventory-services.md) diff --git a/docs/site/guides/getting-started/add-services.md b/docs/site/guides/getting-started/add-services.md index 3c54a5a9f..5052f3dbd 100644 --- a/docs/site/guides/getting-started/add-services.md +++ b/docs/site/guides/getting-started/add-services.md @@ -41,7 +41,7 @@ To learn more: [Guide about clanService](../clanServices.md) ``` 1. See [reference/clanServices](../../reference/clanServices/index.md) for all available services and how to configure them. - Or read [authoring/clanServices](../authoring/clanServices/index.md) if you want to bring your own + Or read [authoring/clanServices](../../developer/extensions/clanServices/index.md) if you want to bring your own 2. Replace `__YOUR_CONTROLLER_` with the *name* of your machine. diff --git a/docs/site/guides/getting-started/index.md b/docs/site/guides/getting-started/index.md index 2d500df8d..a61a51749 100644 --- a/docs/site/guides/getting-started/index.md +++ b/docs/site/guides/getting-started/index.md @@ -125,7 +125,7 @@ To change the name of your clan edit `meta.name` in the `clan.nix` or `flake.nix You can continue with **any** of the following steps at your own pace: - [x] [Install Nix & Clan CLI](./index.md) -- [x] [Initialize Clan](./index.md#initialize-your-project) +- [x] [Initialize Clan](./index.md#add-clan-cli-to-your-shell) - [ ] [Create USB Installer (optional)](./installer.md) - [ ] [Add Machines](./add-machines.md) - [ ] [Add a User](./add-user.md) diff --git a/docs/site/guides/migrations/migrate-inventory-services.md b/docs/site/guides/migrations/migrate-inventory-services.md index 495bd5690..ebeaa35d8 100644 --- a/docs/site/guides/migrations/migrate-inventory-services.md +++ b/docs/site/guides/migrations/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](../../developer/extensions/clanServices/index.md) ## What's Changing? @@ -329,6 +329,6 @@ instances = { ## Further reference -* [Authoring a 'clan.service' module](../authoring/clanServices/index.md) +* [Authoring a 'clan.service' module](../../developer/extensions/clanServices/index.md) * [ClanServices](../clanServices.md) * [Inventory Reference](../../reference/nix-api/inventory.md) diff --git a/docs/site/index.md b/docs/site/index.md index fab477a13..76383ec2d 100644 --- a/docs/site/index.md +++ b/docs/site/index.md @@ -38,7 +38,7 @@ hide: Use Clan with [https://flake.parts/]() -- [Contribute](./guides/contributing/CONTRIBUTING.md) +- [Contribute](./developer/contributing/CONTRIBUTING.md) --- diff --git a/lib/modules/inventoryClass/interface.nix b/lib/modules/inventoryClass/interface.nix index 06c33a4a5..9dd43d467 100644 --- a/lib/modules/inventoryClass/interface.nix +++ b/lib/modules/inventoryClass/interface.nix @@ -142,7 +142,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](../../guides/authoring/clanServices/index.md). + For further information see: [Module Authoring Guide](../../developer/extensions/clanServices/index.md). ???+ example ```nix @@ -179,8 +179,8 @@ in map (m: "'${m}'") (lib.attrNames (lib.filterAttrs (n: _v: !builtins.elem n allowedNames) moduleSet)) )} - See: https://docs.clan.lol/guides/clanServices/ - And: https://docs.clan.lol/guides/authoring/clanServices/ + See: https://docs.clan.lol/developer/extensions/clanServices/ + And: https://docs.clan.lol/developer/extensions/clanServices/ '' moduleSet; };