It keeps fascinating me how #NixOS makes stuff like this possible. Defining the entire OS you want, with precise versioning and arbitrary software patches, with all the services, all links and interactions between them perfectly established because you can cross-reference all the settings. One command launches a VM for testing. One command builds an OS image you can flash to an SD card and plug into your Pi. One command builds on your machine, then deploys to the live system.