zlacker

[return to "Coding Agent VMs on NixOS with Microvm.nix"]
1. helium+rcb[view] [source] 2026-02-04 16:01:45
>>secure+(OP)
Couldn't you replicate all of your setup with qemu microvm?

Without nix I mean

◧◩
2. rictic+Dib[view] [source] 2026-02-04 16:27:27
>>helium+rcb
Yep. What nix adds is a declarative and reproducible way to build customized OS images to boot into.
◧◩◪
3. Curiou+xub[view] [source] 2026-02-04 17:20:16
>>rictic+Dib
Nix is the best answer to "works on my machine," which is a problem I've seen at pretty much every place I've ever worked.
◧◩◪◨
4. 0x457+OPb[view] [source] 2026-02-04 18:47:14
>>Curiou+xub
It's also an answer to caching with /nix/store. I wish more cloud services supported "give me your nixosConfiguration or something similar" instead of providing api to build containers/vms imperatively. Dockerfile and everything that mimics it is my least favorite way to do this.
◧◩◪◨⬒
5. Cyph0n+Rjc[view] [source] 2026-02-04 21:06:41
>>0x457+OPb
It’s fairly trivial to map your NixOS config into a VM image: https://nixos.org/manual/nixos/stable/#sec-image-nixos-rebui...

An alternative is to “infect” a VM running in whatever cloud and convert it into a NixOS VM in-place: https://github.com/nix-community/nixos-anywhere

In fact, it is a common practice to use the latter to install NixOS on new machines. You start off by booting into a live USB with SSH enabled, then use nixos-anywhere to install NixOS and partition disks via disko. Here is an example I used recently to provision a new gaming desktop:

    nix run github:nix-community/nixos-anywhere -- \
      --flake .#myhost \
      --target-host user@192.168.0.100 \
      --generate-hardware-config nixos-generate-config ./hosts/myhost/hardware-configuration.nix
At the end of this invocation, you end up with a NixOS machine running your config partitioned based on your disk config. My disko config in this case (ZFS pool with 1 disk vdev): https://gist.github.com/aksiksi/7fed39f17037e9ae82c043457ed2...
[go to top]