Three deployment targets share one inventory:
src/inventory/ ──→ src/infra/workstation: NixOS + Home Manager
├─→ src/infra/adelie: NixOS application host
└─→ src/infra/pi: Ansible appliance
hot data → SSDs cold data → IronWolf Pro
backup destination → OneTouch (policy: src/inventory/backup.nix)
Workstation owns the desktop, GPU workloads, and attached data disks. Adelie
owns the SSD-local application tier. Pi is a Debian appliance. Ansible
provisions its Podman services under src/infra/pi/. It owns the HTTP entry plane,
DNS, monitoring, and network appliance services. Ansible is the only live Pi
deployment owner. The verified NixOS image is an offline rollback artifact.
Aurora and Pavilion are retired. They do not provide backup, deployment, or
topology roles.
| Task | Reference |
|---|---|
| Navigate the repository | Documentation map |
| Understand placement | Topology |
| Add or change configuration | Module authoring |
| Build and deploy | Deployment |
| Understand backups | Storage |
| Verify or reconnect OneTouch backups | Cutover runbook |
| Review the repository reorganization | Migration spec |
Use devenv shell for the repository's pinned tools (.envrc selects it
automatically).
devenv shell -- just --list
devenv shell -- just check
devenv shell -- nix fmt
devenv shell -- just plan-deploy main # replace with the intended upstream/deployed comparison ref
devenv shell -- just pi::check
devenv shell -- just pi::test
devenv shell -- just pi::planActivation is a separate operator step: just rebuild for workstation,
just push adelie for Adelie, and confirmed just pi::deploy for Pi. The
deployment reference defines the Pi target
confirmation and activation order.
Shared facts live in src/inventory/; generated catalogs live in
docs/generated. Nix implementation lives under the paths in
module authoring; Pi implementation lives
in src/infra/pi. Keep catalogs derived from inventory rather than copied here.