diff --git a/nix/unwrapped.nix b/nix/unwrapped.nix index 829a4843c..139d6d800 100644 --- a/nix/unwrapped.nix +++ b/nix/unwrapped.nix @@ -68,6 +68,11 @@ stdenv.mkDerivation { ln -s ${libnbtplusplus} source/libraries/libnbtplusplus ''; + postPatch = '' + substituteInPlace launcher/minecraft/ShortcutUtils.cpp \ + --replace-fail 'QApplication::applicationFilePath()' 'QProcessEnvironment::systemEnvironment().value("NIX_LAUNCHER_WRAPPER", "${placeholder "out"}/bin/prismlauncher")' + ''; + nativeBuildInputs = [ cmake ninja diff --git a/nix/wrapper.nix b/nix/wrapper.nix index 23fc04d9f..458334c51 100644 --- a/nix/wrapper.nix +++ b/nix/wrapper.nix @@ -115,7 +115,10 @@ symlinkJoin { ++ additionalPrograms; in - [ "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" ] + [ + "--set NIX_LAUNCHER_WRAPPER ${placeholder "out"}/bin/prismlauncher" + "--prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks}" + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "--set LD_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}" "--prefix PATH : ${lib.makeBinPath runtimePrograms}"