Instruction file imported from gapuchi/nix (
.cursor/rules/architecture.mdc). Copyright stays with the author.
Architecture
AGENTS.md is the source of truth for this repo — read it before substantive changes.
Quick guardrails (details in AGENTS.md):
- Two tiers: module library (
modules/{nixos,darwin,home-manager}/— features at top level, role presets inbundles/, registerflake.modules.<class>.<camelName>) → host wiring (modules/hosts/<host>/default.nixselects modules + setsmy.*). import-treeauto-loadsmodules/**/*.nix(skips/_paths); never add a manual import list toflake.nix.- Hosts select modules via
my.*+homeImports. Features may be reusable or single-host; don't branch on host identity inside a feature. - Secrets:
secrets.nixrule +secrets/<name>.age+ anage.secretsreference. Never commit plaintext.