Change:
<del> { lib, fetchurl, appimageTools }: let pname = "heroic"; version = "2.2.6"; name = "${pname}-${version}"; src = fetchurl { url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage"; sha256 = "sha256-kL30/G4DpDPwGN7PvbWest7TcgL4Rd1c2OM4nRCT3bg="; </del> <ins> { lib , mkYarnPackage , fetchFromGitHub , makeWrapper , electron , gogdl , legendary-gl }: mkYarnPackage rec { pname = "heroic-unwrapped"; version = "2.4.3"; src = fetchFromGitHub { owner = "Heroic-Games-Launcher"; repo = "HeroicGamesLauncher"; rev = "v${version}"; sha256 = "sha256-x9zIM2kKi+JgIGIidQYjyjqVGweFJ8DE7IX9gYULQuQ="; </ins> }; <del> appimageContents = appimageTools.extractType2 { inherit name src; }; in appimageTools.wrapType2 { inherit name src; </del> <ins> packageJSON = ./package.json; yarnLock = ./yarn.lock; yarnNix = ./yarn.nix; nativeBuildInputs = [ makeWrapper ]; </ins> <del> extraInstallCommands = '' mv $out/bin/${name} $out/bin/${pname} </del> <ins> DISABLE_ESLINT_PLUGIN = "true"; postBuild = let yarnCmd = "yarn --production --offline --frozen-lockfile --ignore-engines --ignore-scripts --lockfile ${yarnLock}"; in '' ${yarnCmd} build-electron ${yarnCmd} build ''; </ins> <del> mkdir -p $out/share/${pname} cp -a ${appimageContents}/locales $out/share/${pname} cp -a ${appimageContents}/resources $out/share/${pname} </del> <ins> # Disable bundling into a tar archive. doDist = false; </ins> <del> install -m 444 -D ${appimageContents}/heroic.desktop -t $out/share/applications </del> <ins> # --disable-gpu-compositing is to work around upstream bug # https://github.com/electron/electron/issues/32317 postInstall = let deps = "$out/libexec/heroic/deps/heroic"; in '' rm -rf "${deps}/public/bin" "${deps}/build/bin" mkdir -p "${deps}/public/bin/linux" ln -s "${gogdl}/bin/gogdl" "${legendary-gl}/bin/legendary" "${deps}/public/bin/linux" </ins> <del> cp -a ${appimageContents}/usr/share/icons $out/share/ </del> <ins> makeWrapper "${electron}/bin/electron" "$out/bin/heroic"  --inherit-argv0  --add-flags --disable-gpu-compositing  --add-flags "${deps}" </ins> <del> substituteInPlace $out/share/applications/heroic.desktop  --replace 'Exec=AppRun' 'Exec=heroic' </del> <ins> substituteInPlace "${deps}/flatpak/com.heroicgameslauncher.hgl.desktop"  --replace "Exec=heroic-run" "Exec=heroic" mkdir -p "$out/share/applications" "$out/share/icons/hicolor/512x512/apps" ln -s "${deps}/flatpak/com.heroicgameslauncher.hgl.desktop" "$out/share/applications" ln -s "${deps}/flatpak/com.heroicgameslauncher.hgl.png" "$out/share/icons/hicolor/512x512/apps" </ins> ''; meta = with lib; { <del> description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac"; </del> <ins> description = "A Native GOG and Epic Games Launcher for Linux, Windows and Mac"; </ins> homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher"; license = licenses.gpl3Only; <del> maintainers = with maintainers; [ wolfangaukang ]; </del> <ins> maintainers = with maintainers; [ aidalgol ]; </ins> platforms = [ "x86_64-linux" ]; <ins> mainProgram = "heroic"; </ins> }; }

Discussion:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- name: heroic <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 2.2.6 desired version: 2.4.0 beta <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR.

The heroic launcher cannot access installed versions of proton or use proton Steps to reproduce the behavior: heroic a game to see if it can access the .steam/root/compatibilitytools.d/ (it cant) proton experimental should launch as tested on archlinux install Log File from error Add any other context about the problem here.
I'm not a maintainer.
I apologize, I saw you on the contributors section for the
Unfortunately I don't know how can this be fixed on a packaging level. Have you checked if there are issues related on the Heroic repo? This might help in understanding what to fix, specially because I don't have on hand my gaming rig anymore.
Another question that comes to mind that might be helpful to troubleshoot this (to see if this issue is from Legendary or the Heroic package): The legendary binary being used on your case is from the AppImage. Can you try running the same command but with the package on Nixpkgs? You can just copy the command on the first line and replace the path.
I tried with rare and legendary-gl, it also does not launch with proton
Then this might be something to consider with legendary developers, or at least there isn't much we can do at packaging level (unless someone can provide a clue of what is missing).
Yea I am not sure, it works great on fedora and arch in my testing with no issues, I tried on their discord and their github and they just closed it saying ask for help on discord, which no one was able to
FYI, today I will throw an updated version on , but using the .deb instead of the AppImage so I can customize the internals. The idea is using and from nixpkgs and my NUR repo respectively and patching some of the code from the . Can you please try from it and see how it goes
Hi I tried, but no matter what im getting a different error now with it stating FileNotFoundError: [Errno 2] No such file or directory: '' however the file is most definitely there, same with any version of proton
FYI, I haven't tried this one yet, I might be able to check it this week.
did you have any luck getting a version of proton to work?
Unfortunately I haven't been able to test that one yet, haven't gotten the time.

No worries, jon recommended this on reddit, but I have yet to get it properly working/packageable : stating file does not exist. It is most definitely in the folder though. file does not exist. is common when an executable tries to load an ELF binary which doesn't have a corrected ELF interpreter, and the RPATH patched to find any other libraries. Try doing steam-run with the launcher. The expression should probably be using buildFHSUserEnvBubbleWrap if it's going to be launching other executables which are packaged outside of nixpkgs.
That would make sense. I think that when you package AppImages, it wraps the application in a FHS environment, so now that I have set that up with the .deb (on the NUR case), it is not wrapped anymore. I can try to rewrite the current setup and post it here, and if you want to test it, that would be great.
I can totally test it out!
FYI I have contacted you through email
I have with a FHS user-env wrapper for the heroic launcher currently on , but tar crashes when run by the DXVKInstaller. ~I'm wondering if switching from the AppImage to the tarball release would make any difference.~ EDIT: Never mind, that error happens even when run outside the FHS env.
Based on your branch, I created , that modifies the name of the current package as unwrapped and it is now using the tarball.