This repository contains the declarative NixOS + Home Manager setup for the
tracked hosts predator and aurelius.
This is the source of truth for:
- System configuration (
hardware/,modules/,flake.nix) - User environment (
modules/users/,private/users/,config/) - Configuration payload files consumed by modules (
config/) - Custom packages (
pkgs/) - Operational scripts (
scripts/)
The goal is reproducible, explicit, and maintainable configuration with clear ownership boundaries.
This repo now uses a repo-local dendritic runtime on top of flake-parts.
It no longer depends on den for host composition, user routing, or feature
publication.
The repo stopped using den because the upstream is still at v0, surface API
changes are still expected, there is not yet a strong deprecation or
compatibility guarantee, and recent routing changes caused regressions and
migration churn in this repo.
hardware/: machine-specific files onlymodules/features/: reusable feature ownersmodules/desktops/: concrete desktop compositionsmodules/hosts/: concrete host owner filesmodules/nixos.nix,modules/flake-parts.nix,modules/users/: structural runtime surfacesconfig/,pkgs/,lib/,scripts/,tests/,docs/: payloads, helpers, tooling, and docs
- Desktop hosts select their desktop by importing a concrete composition module (e.g.
config.flake.modules.nixos.desktop-dms-on-niri) in the host's explicit configuration module alongside the individual feature modules. aureliusis the tracked server host.
- Main docs index:
docs/README.md - Human start point:
docs/for-humans/00-start-here.md - Agent start point:
docs/for-agents/000-operating-rules.md
- Fast feedback:
./scripts/check-changed-files-quality.sh [origin/main]./scripts/run-validation-gates.sh structure
- Full required validation before a major push or branch update:
./scripts/run-validation-gates.sh all
- Desktop runtime smoke (when relevant):
./scripts/check-runtime-smoke.sh --allow-non-graphical
- CI workflow:
.github/workflows/validate.yml - Default push/PR lane:
lint-structure - Docs-only lane:
docs-drift-only - Heavy eval/build lanes are manual-dispatch + schedule controlled.