site_name: Clan Documentation
site_url: https://docs.clan.lol
repo_url: https://git.clan.lol/clan/clan-core/
repo_name: "_>"
edit_uri: _edit/main/docs/docs/

validation:
  omitted_files: warn
  absolute_links: warn
  unrecognized_links: warn

markdown_extensions:
  - admonition
  - attr_list
  - footnotes
  - md_in_html
  - def_list
  - meta
  - plantuml_markdown
  - pymdownx.emoji:
      emoji_index: !!python/name:material.extensions.emoji.twemoji
      emoji_generator: !!python/name:material.extensions.emoji.to_svg
  - pymdownx.tasklist:
      custom_checkbox: true
  - pymdownx.superfences:
      custom_fences:
        - name: mermaid
          class: mermaid
          format: !!python/name:pymdownx.superfences.fence_code_format
  - pymdownx.tabbed:
      alternate_style: true
  - pymdownx.details
  - pymdownx.highlight:
      use_pygments: true
      anchor_linenums: true
  - pymdownx.keys
  - pymdownx.snippets:
      base_path: ../.
  - toc:
      title: On this page

exclude_docs: |
  .*
  !templates/
  /drafts/

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 Services: guides/getting-started/add-services.md
          - Secrets & Facts: guides/getting-started/secrets.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
      - Backup & Restore: guides/backups.md
      - Vars Backend: guides/vars-backend.md
      - Facts Backend: guides/secrets.md
      - Adding more machines: guides/more-machines.md
      - Inventory:
          - Inventory: guides/inventory.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
          - Facts Vars Migration: guides/migrations/migration-facts-vars.md
      - macOS: guides/macos.md
  - Reference:
      - Overview: reference/index.md
      - Services:
          - Overview: reference/clanServices/index.md
          - reference/clanServices/admin.md
          - reference/clanServices/borgbackup.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/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
      - 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/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
      - CLI:
          - Overview: reference/cli/index.md

          - reference/cli/backups.md
          - reference/cli/facts.md
          - reference/cli/flakes.md
          - reference/cli/flash.md
          - reference/cli/machines.md
          - reference/cli/select.md
          - reference/cli/secrets.md
          - reference/cli/show.md
          - reference/cli/ssh.md
          - reference/cli/state.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
          - 01-clanModules: decisions/01-ClanModules.md
          - 02-clan-api: decisions/02-clan-api.md
          - 03-adr-numbering-process: decisions/03-adr-numbering-process.md
          - 04-fetching-nix-from-python: decisions/04-fetching-nix-from-python.md
          - 05-deployment-parameters: decisions/05-deployment-parameters.md
          - Template: decisions/_template.md
  - Options: options.md

docs_dir: site
site_dir: out

theme:
  font: false
  logo: static/icons/clan-logo.svg
  favicon: https://clan.lol/favicon.svg
  name: material
  features:
    - navigation.instant
    - navigation.tabs
    - navigation.tabs.sticky
    - navigation.footer
    - content.code.annotate
    - content.code.copy
    - content.tabs.link
  icon:
    repo: fontawesome/brands/git
  custom_dir: overrides

  palette:
    # Palette toggle for light mode
    - media: "(prefers-color-scheme: light)"
      scheme: default
      primary: teal
      accent: deep purple
      toggle:
        icon: material/weather-night
        name: Switch to dark mode

    # Palette toggle for dark mode
    - media: "(prefers-color-scheme: dark)"
      primary: teal
      accent: deep purple
      scheme: slate
      toggle:
        icon: material/weather-sunny
        name: Switch to light mode

extra_css:
  - static/extra.css

extra:
  social:
    - icon: fontawesome/regular/comment
      link: https://matrix.to/#/#clan:clan.lol
    - icon: fontawesome/brands/git
      link: https://git.clan.lol/clan/clan-core
    - icon: fontawesome/brands/github
      link: https://github.com/clan-lol/clan-core
    - icon: fontawesome/solid/rss
      link: /feed_rss_created.xml

plugins:
  - search
  - macros
