No description
| bin | ||
| devshells | ||
| dotfiles/emacs | ||
| home | ||
| host | ||
| mod | ||
| packages | ||
| pgp | ||
| pki | ||
| secrets | ||
| var | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| lib.nix | ||
| LICENSE | ||
| README.md | ||
| secrets.nix | ||
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 thehomeoption defined inmod/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.keyvia agenix. - Forgejo: Provision the
hduser (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.