Nixos-autodeploy: Robust and safe auto-deployment for push-deploy setups

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.

4 Likes