Created
September 3, 2025 15:37
-
-
Save Lucus16/0e2baa6c2d97bf1578e4dc5865ee2dfb to your computer and use it in GitHub Desktop.
Heroes of the Storm on linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Instructions: | |
| # 1. Put this file in a new directory. | |
| # 2. nix-shell | |
| # 3. Download the battle.net installer from the website. | |
| # 4. wine installer.exe | |
| # 5. Install battle.net and then Heroes of the Storm, then shut it down. | |
| # 6. While in the nix-shell, run fixdlls | |
| # 7. Run hots in the nix-shell to start | |
| { pkgs ? import <nixpkgs> { } }: | |
| let | |
| # Yes, 32 and 64 bit are reversed because Windows~~ | |
| fixdlls = pkgs.writeShellScriptBin "fixdlls" '' | |
| set -euxo pipefail | |
| if [ -e "$WINEPREFIX/drive_c/Program Files (x86)/Heroes of the Storm/Support64" ]; then | |
| cp "$WINEPREFIX/drive_c/Program Files (x86)/Heroes of the Storm/Support64/"*.dll "$WINEPREFIX/drive_c/windows/system32/" | |
| fi | |
| cp ${pkgs.dxvk.bin}/x32/*.dll "$WINEPREFIX/drive_c/windows/syswow64/" | |
| cp ${pkgs.dxvk.bin}/x64/*.dll "$WINEPREFIX/drive_c/windows/system32/" | |
| for dll in $(ls ${pkgs.dxvk.bin}/x32); do | |
| wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "$(basename "$dll" .dll)" /d native /f | |
| done | |
| ''; | |
| hots = pkgs.writeShellScriptBin "hots" '' | |
| wine "$WINEPREFIX/drive_c/Program Files (x86)/Battle.net/Battle.net.exe" --exec="launch Hero" | |
| ''; | |
| in pkgs.mkShell { | |
| buildInputs = with pkgs; [ | |
| fixdlls | |
| hots | |
| wineWowPackages.stagingFull | |
| ]; | |
| WINEPREFIX = toString ./wine; | |
| DXVK_STATE_CACHE_PATH = toString ./wine; | |
| STAGING_SHARED_MEMORY = true; | |
| __GL_SHADER_DISK_CACHE = true; | |
| __GL_SHADER_DISK_CACHE_PATH = toString ./wine; | |
| __GL_SHADER_DISK_CACHE_SKIP_CLEANUP = true; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment