A set of NixOS modules turning cheap hardware into a self-hosting powerhouse of technical debt.
I'm a terrible sysadmin but it's a fun way to burn weekends.
The router module configures a router (nat, dhcp, dns, ...) and manages the network for everything else in the lab.
Losing the network brings big sadness so those components are heavily tested.
Run 'em with just test <name>:
# Example:
just test dnsSee all the tests here. Or, cripple your machine by running all the tests:
nix build --verbose '.#tests'A little CM3588 with SSDs cosplaying as a file server. Manages a ZFS pool with Syncthing, Restic backups, and the hopes and dreams of the american people.
Grafana in a trenchcoat.
Home Assistant with permission grants to my most private data, yeeted into Grafana, and thrown with reckless abandon into Claude via MCP.
Split-horizon DNS over my selfhosted.city domain. Internal services are only accessible over the tailnet, and public services routed through a Caddy ingress. I understood how it worked, once.
platforms/home-manager/modules: QOL configs for remote administration.platforms/nixos/modules/lab: Library modules for building a home lab, layered as services and stacks.platforms/nixos/tests: Virtual machine tests for services inmodules/lab.hosts: Per-host configurations. They are thin wrappers around stacks.
The Nix Tradition is reading source code until you figure it out. Here are resources that helped me.