Repository navigation
Architecture
dotnix is a flake-driven Home Manager configuration. The flake selects a supported system, imports stable and unstable package sets, applies external overlays, and builds a Home Manager configuration from the shared home.nix module.
The dependency and configuration flow is:
mermaid flowchart LR Inputs["flake inputs"] --> Packages["system package sets"] Packages --> Home["Home Manager modules"] Home --> Outputs["homeConfigurations and apps"] Inputs --> Outputs
flake.nix pins nixpkgs 26.05, nixpkgs-unstable, Home Manager release 26.05, pi.nix, llm-agents, and nur-packages. Home Manager receives the selected package set plus the target username, home directory, and platform-filtered AI-agent packages.
dotnix exposes three systems:
| System | Home directory | Notable behavior |
|---|---|---|
x86_64-linux |
/home/<username> |
Default Linux configuration and CLI package set |
aarch64-darwin |
/Users/<username> |
Apple Silicon macOS configuration |
x86_64-darwin |
/Users/<username> |
Intel macOS configuration; unsupported external packages are filtered or built through the configured overlay |
The same module graph is used on each target. Individual app modules gate packages and launch agents by platform, while the flake filters AI-agent attributes that are absent for the selected system. macOS-specific application placement and activation behavior is implemented by home.nix.
Made with love ❤️