{ mkShell, lib, systemd, cargo, rust-analyzer, rustfmt, passt, bubblewrap, libkrun, muvm, sidebus-broker, pkgs, }: let projects = [ libkrun muvm ]; in mkShell { MUVM_UDEVD_PATH = "${systemd}/lib/systemd/systemd-udevd"; nativeBuildInputs = lib.concatMap (pkg: pkg.nativeBuildInputs) projects; buildInputs = (lib.concatMap (pkg: pkg.buildInputs) projects) ++ [ # virglrenderer cargo rust-analyzer rustfmt passt bubblewrap sidebus-broker ] ++ (with pkgs; [ meson wayland wayland-protocols wayland-scanner cairo libgbm ]); # Enough things to compile wl-cross-domain-proxy, muvm, etc. in development }