Source linked

NixOS Declarative Configuration Fixes Proxmox's State Drift Problem

A forgotten network driver fix that required rediscovery on Proxmox becomes a permanent, documented line in NixOS config. That's the difference between imperative GUIs and declarative text.

nixosproxmoxincusdeclarative configurationhomelabai agents

Migrating a system to a new disk by just applying a Nix configuration and getting a byte-for-byte identical system was the moment NixOS clicked for Bas Nijholt. He had fought NVIDIA driver GRUB boot loops on Pop!_OS, rediscovered bug fixes on Proxmox, and finally hit the limit of imperative configuration. Now his entire homelab runs on NixOS with Incus, and he's never looking back.

The Byte-for-Byte Promise and the Network Card That Proved It

Proxmox taught Nijholt virtualization, LXC, and ZFS. But it's built around clicking buttons. Change a setting in the UI to debug something, and six months later your infrastructure-as-code is out of sync. State drift is real. On his HP EliteDesk, the Intel I219-LM network card has a known bug: it hangs with hardware offloading enabled. On Proxmox, he vaguely remembered fixing it years ago, but the specific commands were lost in root shell history. On NixOS, the fix is a documented systemd service with a comment explaining exactly why tso off gso off is needed and linking the forum threads. Reinstall the machine, the fix applies automatically. No rediscovery. No forgotten workarounds.

Breaking the Virtualization Tax with NixOS

Nijholt's Intel NUC lives behind his TV. On Proxmox, running a Home Theater PC (HTPC) meant passing the GPU to a VM, which robbed the host of a console. It was a strict trade-off: either a media player or a debuggable hypervisor. He tried it, reverted quickly. With NixOS, the host runs Kodi directly with native hardware acceleration, while Incus hosts containers in the background. No virtualization tax, no headless-host limitation. The host is fully his: he can install Kodi, tweak network drivers, run local LLMs. Break the config during an experiment, and recovery to a working state takes seconds because the entire system is declarative.

AI Agents Demand Declarative Infrastructure

Nijholt sees a deeper shift. As AI agents execute tasks, they cannot reliably click buttons in a web interface to configure a VLAN tag or resize a disk. They need text. They need determinism. Proxmox's opaque database and UI-driven workflow is a black box to agents. NixOS is an open book: every route, firewall rule, container definition lives in text files. He can tell his agent, "deploy a Faster Whisper API server on port 9000 and expose it to the LAN" and the agent reads, understands, and safely modifies the config. No hunting through menus. As AI agents start managing infrastructure themselves, the ability to read and modify text files becomes the only reliable interface. Nijholt's setup is a working blueprint for that future.


Source: Migrating from Proxmox to NixOS and Incus
Domain: nijho.lt

Read original source ->

External source stays available while the OJO article and comment thread stay local.

Comments load interactively on the live page.