I’ve just published nixos-autodeploy, a small flake that continuously polls a target system flake, compares derivations, and — only when everything lines up — switches your NixOS deployment to the new configuration automatically. It’s designed for unattended servers or hosts where you still want full control using push-style deployment tools like colmena:
https://github.com/hlsb-fulda/nixos-autodeploy/
- Seamless push-and-pull synergy: works in cooperation with Colmena (and other push-based deployment orchestrators), so you can continue to push manual or batched updates while letting autodeploy handle automated rollouts
- Derivation-based gating: only applies updates when your current system matches a known good state, preventing unintended drift
- Upstream preview under
/run/upstream-system
so you can inspect exactly what’s queued for deployment - Prometheus metrics via a
.prom
file for easy scraping:- Dirty state when system has diverged from tracked upstream
- Required reboot after switching to system with newer kernel
This all works well with automated flake updates using e.g. renovate-bot.