fix(nix): target final wrapper in instance shortcuts

Previously the unwrapped binary of Prism would be used in the `Exec`
line of desktop files, leading to Weird behavior - like the instance
hanging with no window created

Signed-off-by: Seth Flynn <getchoo@tuta.io>
This commit is contained in:
Seth Flynn 2026-07-01 22:35:09 -04:00
parent d2fa7cf7f7
commit e3f97f39eb
No known key found for this signature in database
GPG key ID: D31BD0D494BBEE86
2 changed files with 9 additions and 1 deletions

View file

@ -68,6 +68,11 @@ stdenv.mkDerivation {
ln -s ${libnbtplusplus} source/libraries/libnbtplusplus 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 = [ nativeBuildInputs = [
cmake cmake
ninja ninja

View file

@ -115,7 +115,10 @@ symlinkJoin {
++ additionalPrograms; ++ additionalPrograms;
in 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 [ ++ lib.optionals stdenv.hostPlatform.isLinux [
"--set LD_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}" "--set LD_LIBRARY_PATH ${addDriverRunpath.driverLink}/lib:${lib.makeLibraryPath runtimeLibs}"
"--prefix PATH : ${lib.makeBinPath runtimePrograms}" "--prefix PATH : ${lib.makeBinPath runtimePrograms}"