Run a NixOS closure as a microVM with desktop integration
Only use vDRM on supported drivers, introduce Venus for others, and fall back to software on kernels older than 6.13 due to missing PFNMAP support. |
||
|---|---|---|
| libkrun@bd97a39bfa | ||
| muvm@53d416fb3f | ||
| .envrc | ||
| .gitignore | ||
| .gitmodules | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE.md | ||
| munix | ||
| munix-init-root | ||
| munix-init-user | ||
| radvmmio.patch | ||
| README.md | ||
munix
WIP: A microVM runner for NixOS systems with desktop integration, powered by muvm/libkrun.
Development
Building an example closure:
nix build '.#nixosConfigurations.x86_64-linux.testvm.config.system.build.toplevel'
Running the nix build:
nix run '.#packages.x86_64-linux.munix' $(readlink result)
Working on muvm & munix locally (not built into the nix store):
cd muvm && cargo build --locked --release
PATH=$PWD/muvm/target/release:$PATH ./munix $(readlink result)