cfg/README.md
2026-03-31 19:47:02 +02:00

1.3 KiB

Nix Configurations

Repository structure:

  • host/
    One subdirectory per NixOS host, each containing its host-specific configuration.

  • mod/
    NixOS modules.

    • mod/common/: Modules enabled by default on all hosts.
    • mod/desktop/: Modules enabled on desktop hosts (i.e. hosts with hd.desktop.enable = true).
  • home/
    Home Manager modules. Home Manager is integrated into the system configuration via the home option defined in mod/desktop/default.nix.

  • bin/
    Helper scripts for generating parts of the configuration.

  • dotfiles/
    Raw configuration files deployed using Home Manager.

  • devshells/
    Nix development shells.

  • pki/
    Certificates used by the configuration.

  • secrets/
    Age-encrypted secrets managed and deployed via agenix.

  • var/ Shared constants and values used across the configuration.

TODO

  • WireGuard key: Manage /var/secrets/wg.key via agenix.
  • Forgejo: Provision the hd user (with email, admin flag) and SSH keys via a systemd service.
  • Firefox sync server (host/roam/firefox-sync.nix): Containerize.
  • systemd-resolved (mod/desktop/network.nix): Enable DoH.
  • Remote builder (mod/build-machines.nix): declarative SSH jump server.