Commit graph

33 commits

Author SHA1 Message Date
Val Packett
a93ab32aea Pass MESA_LOADER_DRIVER_OVERRIDE to muvm-remote
The Zink override for Venus in muvm was being eaten by systemd.. until now
2025-11-28 03:55:50 -03:00
Val Packett
f831c9d958 Update nixpkgs / dependencies (mesa-25.3.0)
Almost no need to touch mesa anymore.. except for the radeon virtio flag
2025-11-28 02:13:20 -03:00
Val Packett
9b23ae8094 gitignore testvm 2025-11-28 02:13:20 -03:00
Val Packett
93ba3d8fc4 Switch from sysusers to new "baked" userborn usage
Avoid spending ~100ms of userspace boot time on unnecessary regeneration
of entirely static /etc/{passwd,group,shadow}. This will be proposed to nixpkgs.
2025-11-28 02:13:20 -03:00
Val Packett
bd6307ded5 Symlink resolv.conf and machine-id instead of mounting
Works fine after all. Let's avoid mount calls to boot faster.
2025-11-28 02:13:20 -03:00
Val Packett
83db4d6074 Remove leftover debug env invocation 2025-11-28 02:13:20 -03:00
Val Packett
87691a5747 Do not wait for udev to settle
Relying on udev to assign permissions to the virtgpu was very "proper"
but really excessive. We have a simple static configuration, built into
the kernel, so there are no dynamic shenanigans, we can always reliably
just chmod/chown the permissions. Let's go back to faster booting.
2025-11-28 02:13:20 -03:00
Val Packett
73fdfca030 Update muvm fork (proper pwbridge fix) 2025-11-28 02:13:20 -03:00
Val Packett
23b91f1d6d Update libkrun and libkrunfw to latest upstream (merged MS_SHARED and EROFS) 2025-11-28 02:13:20 -03:00
Val Packett
59137223a9 Add fallback to our mesa package for non-NixOS hosts 2025-11-28 02:13:20 -03:00
Val Packett
c164db06c1 Fix msm driver name to msm_dpu 2025-11-27 21:58:53 -03:00
Val Packett
77028b04da Add error messages for missing muvm/passt 2025-11-27 20:33:30 -03:00
Val Packett
9f0f835fce Add sidebus integration 2025-11-14 06:20:44 -03:00
Val Packett
030503f23b Unhardcode x86_64 in virtwl package 2025-11-14 06:17:34 -03:00
Val Packett
8d2596d7cc testvm: add a couple more test tools 2025-11-14 02:11:11 -03:00
Val Packett
8d178b21ef Temporarily fork libkrun to add systemd mount propagation fix 2025-11-14 02:10:19 -03:00
Val Packett
d8d531aa00 Fix tmpfiles entry for runtime dir 2025-11-14 02:09:04 -03:00
Val Packett
7c0825b46c Update muvm with PipeWire fix
See https://github.com/AsahiLinux/muvm/pull/204
2025-11-07 06:11:10 -03:00
Jörg Thalheim
f295e7b32a README: document pipewire not working 2025-11-03 18:05:16 +01:00
Jörg Thalheim
181e675f02 munix: run realpath on nixos closure before running
this is more convinent when using `nix build`.
2025-11-03 17:57:14 +01:00
Jörg Thalheim
c32be2f8c8 README: add usage information 2025-11-03 17:56:25 +01:00
Jörg Thalheim
b70a166e8b add binary cache 2025-11-03 17:36:02 +01:00
Jörg Thalheim
505e85b9c5 flake.nix: extract packages/devshells/modules into smaller files 2025-11-03 17:22:41 +01:00
Jörg Thalheim
6f7f3f2461 Restrict flake to Linux systems and enable allowUnfree for nixosConfigurations
This project is Linux-specific (microVMs, libkrun, systemd, etc.), so
the flake now only exports packages and checks for x86_64-linux and
aarch64-linux systems. This prevents Darwin build failures.

Additionally, nixosConfigurations now set allowUnfree = true to allow
packages like zerotierone that have unfree licenses.
2025-11-03 16:24:04 +01:00
Jörg Thalheim
46edb4b7e9 Add flake checks for CI/CD validation
This adds a checks attribute to enable automated validation of all
build outputs. Checks are included for all packages, devShells, and
nixosConfigurations, with appropriate prefixes (package-, devShell-,
nixos-) for clarity and organization.
2025-11-03 15:45:54 +01:00
Jörg Thalheim
348cedab1a Refactor testvm into reusable nixosModule for multiple architectures
This extracts the testvm configuration into a shared nixosModules.testvm
module that can be reused across different architectures. The module is
now used by both testvm-x86_64 and testvm-aarch64 nixosConfigurations,
eliminating code duplication.

Additionally, nixosConfigurations have been moved to the top-level flake
outputs to follow Nix conventions, rather than being nested inside
eachDefaultSystem. The virtwl proxy reference now uses ${pkgs.system}
instead of hardcoded x86_64-linux to support both architectures.
2025-11-03 15:45:47 +01:00
Val Packett
790dd0d1f4 Integrate systemd
Not fully optimized yet, but shouldn't have any regressions
2025-10-31 04:53:19 -03:00
Val Packett
c4d462ea20 Update muvm 2025-10-03 01:37:22 -03:00
Val Packett
146430d8cd Add '--' arg separator 2025-09-26 06:09:41 -03:00
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
Val Packett
9256257abe munix: allow specifying any user ID / do not use host /etc/passwd, fixes #2 2025-09-25 22:29:24 -03:00
Val Packett
7c3c52df7e munix: add command line flag parsing
And unhardcode the Quake data file path I used for testing :)
2025-09-25 22:29:24 -03:00
Val Packett
4602228be9 Initial commit 2025-09-25 22:29:24 -03:00