Best Practices for Virtualizing NixOSes on NixOS?

I have a small virtualization server with a number of NixOS VM guests. I’m replacing the system disk of the host soon, and would like to migrate it to NixOS at that.
What would be the best virtualization technology to choose? What is the most convenient way for operating the VMs?

VMs are mostly NixOS, but I would like to have NT and Arch guests occasionally too.
Guests must be real VMs with their own kernels, no sharing of Nix store or kernel space with the host and between them, for maximum isolation. (I also have less isolated nodes running in NixOS Containers within some of those guests when applicable, so I’m aware of that way too)
It must be possible to passthru disk drives and network interfaces right into select guests without having them operable on the host, at full speed.
The set of guests is limited and does not change much over time, so I don’t think I’m looking at k8s or something alike here really.

What would be your advice on the virtualization tech in this case?

1 Like