microvm.nix is a declarative virtual machine manager and orchestrator for defining, building, and managing isolated guest environments using Nix. It functions as a virtual machine image builder that transforms system specifications into bootable disk images and runner scripts.
The project provides a hypervisor abstraction layer, enabling the deployment of guest images across multiple virtualization backends through a unified configuration. It includes specialized tools for PCI hardware passthrough, granting virtual machines direct access to physical host USB and PCI devices.
The framework covers a broad range of virtualization capabilities, including virtual network orchestration with support for bridging and port forwarding, and guest storage management using writable store overlays and shared host directories. It also supports cross-architecture emulation and binary translation for executing foreign binaries on different CPU architectures.
Lifecycle management is integrated with systemd to automate virtual machine startup and updates, with support for remote configuration activation via SSH.