Run a NixOS closure as a microVM with desktop integration
Find a file
Val Packett de0c868428 Probe the GPUs/kernel and select an appropriate accel method, fix #3
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.
2025-09-25 22:40:57 -03:00
libkrun@bd97a39bfa Initial commit 2025-09-25 22:29:24 -03:00
muvm@53d416fb3f Probe the GPUs/kernel and select an appropriate accel method, fix #3 2025-09-25 22:40:57 -03:00
.envrc Initial commit 2025-09-25 22:29:24 -03:00
.gitignore Initial commit 2025-09-25 22:29:24 -03:00
.gitmodules Initial commit 2025-09-25 22:29:24 -03:00
flake.lock Initial commit 2025-09-25 22:29:24 -03:00
flake.nix munix: allow specifying any user ID / do not use host /etc/passwd, fixes #2 2025-09-25 22:29:24 -03:00
LICENSE.md Initial commit 2025-09-25 22:29:24 -03:00
munix Probe the GPUs/kernel and select an appropriate accel method, fix #3 2025-09-25 22:40:57 -03:00
munix-init-root munix: allow specifying any user ID / do not use host /etc/passwd, fixes #2 2025-09-25 22:29:24 -03:00
munix-init-user Initial commit 2025-09-25 22:29:24 -03:00
radvmmio.patch Initial commit 2025-09-25 22:29:24 -03:00
README.md Initial commit 2025-09-25 22:29:24 -03:00

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)