My homelab as a NixOS flake
66b1c361 — Antonio Gurgel 3 days ago
Excise lib.mdDoc completely
b00cbc22 — Antonio Gurgel 3 days ago
Update secrets
19cdc710 — Antonio Gurgel 3 days ago
Rename enableSSHAgentAuth


browse  log 



You can also use your local clone with git send-email.


#Prior art

  • My first homelab flake was based on digga, which diminished the learning curve of building a NixOS system from "sheer cliff" to "moderately challenging hike". By the time the module became deprecated, I had gotten good enough at Nix to start from scratch.
  • PyroConf showed me how to build NixOS configurations without relying on magic modules.
  • Without ryan4yin's separate-secrets-flake principle, I would never have felt comfortable open-sourcing my NixOS flake, be its secrets encrypted or not.

#Patches welcome

I mean it. If you see a hint of unidiomatic coding in this repo, in any language, I won't be offended if you let me know. Send a patch or message to either of:


#Desktop: sanfrancisco

Stuck on Windows 10, pending further research into Proton.

  • Corsair 380T
  • Ryzen 5 2600
  • MSI B450I Gaming Plus AC
  • ASRock 7800 XT
  • 16 GB RAM
  • 500 GB NVMe
  • Valve Index

#NAS: losangeles

In fact, a do-everything box. I SSH to it from my desktop and do all my programming on it.

  • Silverstone CS380B case
  • Ryzen 5 3600
  • MSI B550-A Pro
  • Zotac RTX 3070
  • 32 GB RAM
  • 500 GB NVMe
  • 16.5 TB SATA, detailed in ./hosts/nas


A stack of NUCs—three Datto, one Intel—bridged to the LAN with a five-port unmanaged switch.

  • i3-7100U
  • 8 GB RAM
  • 120 GB SATA

#Laptop: halfmoonbay

It's light—1.09 kg. It's reasonably fast—eighth-gen mobile i7. It was cheap—a friend had a glut of hardware.

  • Lenovo ThinkPad X1 Carbon 7
  • i7-8665U
  • 16 GB RAM
  • 500 GB NVMe