{ stdenv, writeScriptBin, symlinkJoin, makeWrapper, muvm, passt, bubblewrap, sidebus-broker, mesa, rustc }: let munixScript = (writeScriptBin "munix" (builtins.readFile ../../munix)).overrideAttrs(old: { buildCommand = "${old.buildCommand}\n patchShebangs $out"; }); microActivate = stdenv.mkDerivation { name = "micro-activate"; src = ../../micro-activate.rs; dontUnpack = true; nativeBuildInputs = [ rustc ]; buildPhase = '' rustc -C opt-level=s -C panic=abort --edition 2024 -o micro-activate $src ''; installPhase = '' mkdir -p $out/bin mv micro-activate $out/bin ''; }; in symlinkJoin { name = "munix"; paths = [ munixScript microActivate muvm passt bubblewrap sidebus-broker ]; buildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/munix --prefix PATH : $out/bin --set FALLBACK_OPENGL_DRIVER ${mesa} ''; }