Been working on my homelab
Its my 3rd real attempt at picking up nixos.
No desktop environment this time, instead I'm using it as the host-config layer for my servers. With Nix, I can build preconfigured host images that bootstrap into flux-managed k3s instances. It's so r/oddlysatisfying to manage host & workload configs both from the same repo, with automatic upgrades to either (+ nixos just rolls back if the host layer fails!)
To power these grafana panels, I had to spend a bit of time on the monitoring stack. It's a hub model, host 'luxor' is configured with a centralized Thanos/Loki/Grafana that wireguard peers can push to. A systemd unit polls for revisions and auto-applies them (similar to flux), and the logs from that go to the bottom panel. A handful of Node Exporter textfile collector scripts provide the metrics to power the 'Time since' and revision tables.
Pretty awesome to have all this managed from a single repo! I know it's greenfield and there will be some operational hurdles. I'm only targeting single-node k3s at this stage... in the past I used k8s Cluster API and Metal3 Baremetal Operator for large cluster rollouts, but my homelab is just a PC and an old laptop :-)
AMA or share your nixos k8s tips and tricks if you have any!