No description
- Nix 100%
| docs | ||
| modules | ||
| sops | ||
| vars | ||
| .envrc | ||
| .gitignore | ||
| AGENTS.md | ||
| flake.lock | ||
| flake.nix | ||
| flake.systems.nix | ||
| hosts.nix | ||
| README.md | ||
Nix systems
Personal NixOS and nix-darwin configurations managed with flake-parts and Clan.
Structure
This repository follows the dendritic module pattern: flake.nix imports every
Nix module below modules/ with import-tree, and the module system composes
them.
hosts.nixcontains deployment addresses and shared SSH public keys.modules/profiles/composes reusable system and Home Manager profiles.modules/configurations/<machine>/contains only machine-specific hardware, storage, networking, and service settings.modules/kubernetes/contains the Kubernetes cluster modules.- Other files under
modules/define focused reusable NixOS, Darwin, or Home Manager modules.
A machine is registered by defining either
configurations.nixos.<name>.module or
configurations.darwin.<name>.module. Its Clan machine class is derived from
that declaration; hosts.nix only supplies deployment metadata.
Validation
nix flake check --no-build
For untracked module files, use path:. so Nix includes the whole working tree:
nix flake check --no-build path:.
Deployment
nix develop
clan machines update <machine-name>
See AGENTS.md for repository conventions and deployment safety rules.