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

validation:
  omitted_files: warn
  absolute_links: ignore
  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:
  - Getting Started:
      - Overview: index.md
      - Creating Your First Clan: guides/getting-started/index.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 to Physical Machine:
          - Create USB Installer: guides/getting-started/create-installer.md
          - Deploy Physical Machine: guides/getting-started/hardware-report-physical.md
      - Deploy to Virtual Machine: guides/getting-started/hardware-report-virtual.md
      - Configure Disk Config: guides/getting-started/choose-disk.md
      - Update Machine: guides/getting-started/update.md
      - Continuous Integration: guides/getting-started/flake-check.md
      - Convert Existing NixOS Config: guides/getting-started/convert-flake.md
  - Guides:
      - Inventory:
          - Introduction to Inventory: guides/inventory/inventory.md
          - File Autoincludes: guides/inventory/autoincludes.md

      - Clan Services:
          - Inventory Guide: guides/inventory/clanServices.md
          - Author Your Own Service: guides/services/community.md
      - Vars:
          - Introduction to Vars: guides/vars/vars-overview.md
          - Minimal Example: guides/vars/vars-backend.md
          - Diving deeper: guides/vars/vars-concepts.md
          - Advanced Examples: guides/vars/vars-advanced-examples.md
          - Troubleshooting: guides/vars/vars-troubleshooting.md
          - Sops Backend:
              - Yubikeys & Age Plugins: guides/vars/sops/age-plugins.md
          - Managing Users (OLD): guides/secrets.md
      - Networking:
          - Introduction to Networking: guides/networking/networking.md
          - Zerotier VPN: guides/networking/mesh-vpn.md
      - Disko Templates:
          - Community Disko Templates: guides/disko-templates/community.md
      - Backups:
          - Introduction to Backups: guides/backups.md
      - Flake-parts: guides/flake-parts.md
      - NixOS Rebuild: guides/nixos-rebuild.md
      - macOS:
          - Managing macOS Machines: guides/macos.md
      # Should be part of the respective sections above
      # machines, disko, clan
      - Templates: concepts/templates.md
      - Migrations:
          - clan modules --> clan services: guides/migrations/migrate-inventory-services.md
          - Facts --> Vars: guides/migrations/migration-facts-vars.md
          - Disk id: guides/migrations/disk-id.md
      - Disk Encryption: guides/disk-encryption.md
      - Disable Secure Boot: guides/secure-boot.md
      - Contributing:
          - Hacking: guides/contributing/CONTRIBUTING.md
          - Advanced Debugging: guides/contributing/debugging.md
          - Testing: guides/contributing/testing.md

  - Reference:
      - Overview: reference/index.md
      - Clan Options: reference/options/clan.md
      - Clan Inventory Options: reference/options/clan_inventory.md

      - Clan Service API: reference/clanServices/clan-service-author-interface.md

      - clan.core (Machine Options):
          - 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/postgresql.md
          - reference/clan.core/settings.md
          - reference/clan.core/sops.md
          - reference/clan.core/state.md
          - reference/clan.core/vars.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/templates.md
          - reference/cli/vars.md
          - reference/cli/vms.md

      - HTTP API: api.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
      - Glossary: reference/glossary.md
  - Services:
      - Introduction to ClanServices: reference/clanServices/index.md
      - Official:
          - reference/clanServices/admin.md
          - reference/clanServices/borgbackup.md
          - reference/clanServices/certificates.md
          - reference/clanServices/coredns.md
          - reference/clanServices/data-mesher.md
          - reference/clanServices/dyndns.md
          - reference/clanServices/emergency-access.md
          - reference/clanServices/garage.md
          - reference/clanServices/hello-world.md
          - reference/clanServices/importer.md
          - reference/clanServices/localbackup.md
          - reference/clanServices/matrix-synapse.md
          - reference/clanServices/mycelium.md
          - reference/clanServices/monitoring.md
          - reference/clanServices/packages.md
          - reference/clanServices/sshd.md
          - reference/clanServices/syncthing.md
          - reference/clanServices/trusted-nix-caches.md
          - reference/clanServices/users.md
          - reference/clanServices/wifi.md
          - reference/clanServices/wireguard.md
          - reference/clanServices/yggdrasil.md
          - reference/clanServices/zerotier.md
      - Community: community/services/index.md

  - Search Clan Options: "/options"

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.footer
    - navigation.instant
    - navigation.tabs
    - navigation.tabs.sticky
    - content.code.annotate
    - content.code.copy
    - content.tabs.link
    - content.action.edit
  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
  - redoc-tag
  - redirects:
      redirect_maps:
        guides/getting-started/secrets.md: guides/vars/vars-overview.md
