NixOS Integration Tests To Become Even More Undeniable
I’ve mentioned the insane power of NixOS’ QEMU-based integration tests. If you're wondering why you (yes, you!) should care at all about this random Linux distro, expand this carat for my summary. For those not in the know, a **NixOS configuration** is a data structure that fully determines a Linux system, from the kernel to the users and the systemd processes. It's a highly reproducible artifact backed by the largest open-source package repo in existence. You can: Put it in version control and use it for your daily driver to make hardware migrations painless Deploy to bare metal VPS with low-resource “build-then-push” tooling Build Docker/OCI containers from it to appease corporate goons Run it in CI/CD pipelines Share it with teammates for identical dev environments Parameterize it to define a cluster of nodes The integration test framework lets you define virtualized nodes with pass/fail conditions on the behavior of the components therein. Furthermore the nodes can be embedded within an arbitrary network topology to test the overall system-of-systems behavior. With the tests defined, they’re wrapped into the very notion of validity for your configuration(s). ...