Handbook: HTML Markdown • Matrix chat • Changelog • Support the project
A Nix Flake to build NixOS and run it on one of several Type-2
Hypervisors on NixOS/Linux. The project is intended to provide a more
isolated alternative to nixos-container
. You can either build and
run MicroVMs like Nix packages, or alternatively install them as
systemd services declaratively in your host's Nix Flake or
imperatively with the provided microvm
command.
microvm-balloon
/nix/store
or by mounting the host's along with an optional
writable overlay. This filesystem can be built as either squashfs
(smaller) or erofs (faster).nixosConfigurations
section, reusing the nixosModules
that are exported by this Flake.qemu
and kvmtool
also support user
networking which requires no additional setup on the host.Hypervisor | Language | Restrictions |
---|---|---|
qemu | C | |
cloud-hypervisor | Rust | no 9p shares |
firecracker | Rust | no 9p/virtiofs shares |
crosvm | Rust | 9p shares broken |
kvmtool | C | no virtiofs shares, no control socket |
stratovirt | Rust | no 9p/virtiofs shares, no control socket |
alioth | Rust | no virtiofs shares, no control socket |
nix registry add microvm github:astro/microvm.nix
(If you do not want to inflict this change on your system, just
replace microvm
with github:astro/microvm.nix
in the following
examples.)
nix flake init -t microvm
$EDITOR flake.nix
nix run .#my-microvm
nix run microvm#qemu-example
nix run microvm#firecracker-example
nix run microvm#cloud-hypervisor-example
nix run microvm#crosvm-example
nix run microvm#kvmtool-example
nix run microvm#stratovirt-example
nix run microvm#vm
Check networkctl status virbr0
for the DHCP leases of the nested
MicroVMs. They listen for ssh with an empty root password.
nix run microvm#graphics neverball
Accelerate your operations and secure your infrastructure with support from the maker of microvm.nix and a team of virtualization experts. Contact Cyberus Technology: https://www.cyberus-technology.de/contact
Looking for help or customization?
Get in touch with Numtide to get a quote. We make it easy for companies to work with Open Source projects: https://numtide.com/contact