Declarative configuration for a three-host Linux fleet spanning a workstation, a Raspberry Pi home server, and an aarch64 VPS. The repository combines system configuration, service deployment, monitoring, encrypted backups, and operational documentation.
- Infrastructure as code: NixOS flakes, Home Manager, reusable modules, and deploy-rs for reproducible host configuration and deployment.
- Service operations: systemd services, systemd-nspawn containers, HTTPS ingress, and Authelia authentication.
- Observability and recovery: fleet monitoring in Grafana Cloud, documented alerting and troubleshooting, and encrypted offsite backups with Restic.
- Security and maintenance: secrets managed with
sops-nix, distinct public and LAN ingress paths, and runbooks for updates, rollback, and recovery.
This is a personal, actively maintained environment rather than a commercial hosting platform. The repository is public; operational secrets are not.
| Host | Role |
|---|---|
alpha |
Desktop workstation with backend services, game streaming, and backups |
pi |
Raspberry Pi 5 home server running Home Assistant, LAN HTTPS ingress, fleet monitoring, deployment control, and the free-games claimer |
epsilon |
aarch64 VPS providing public HTTPS ingress, Authelia, and services including Miniflux, Glance, Hermes, ArchiSteamFarm, and Paperless in nspawn containers |
beta is parked: modules/entities.nix currently has no host entry for the laptop.
The configuration itself is the reference for current behavior:
- Fleet topology: entities.nix
- Shared host composition: defaults.nix
- Service definitions: services
- Deployment controller: deploy.nix and fleet-update.sh
Procedures that cannot be recovered by reading the configuration:
- Fleet operations and deployment recovery
- Offsite host recovery
- Changing persistent storage
- Manual update rollback
The configuration started from the upstream vic/den template and has since
been adapted for this fleet.
nix flake show
nix flake check
nh os switchUse the agent guidance for source-of-truth rules and validation boundaries.