{ description = "Wine minimal configuration to reproduce the problem"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachSystem flake-utils.lib.allSystems (system: let pkgs = import nixpkgs { inherit system; }; inherit (pkgs.lib.strings) concatStringsSep; inherit (pkgs) writeShellScriptBin fetchurl; epic_games_launcher = fetchurl { url = "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi"; name = "EpicGamesLauncherInstaller.msi"; # hash = pkgs.lib.fakeHash; hash = "sha256-vbd+h7nWZmNOGC6kJILZVZElyo5iwjmbitLGtCOVqqg="; }; # concat winetricks args winetricksPackages = [ "corefonts" ]; winetricksArgs = if (builtins.length winetricksPackages) > 0 then concatStringsSep " " winetricksPackages else "-V"; # concat dll overrides wineDllOverrides = ["winemenubuilder.exe=d"]; wineDllOverridesEnv = pkgs.lib.strings.concatStringsSep "," wineDllOverrides; install_script = writeShellScriptBin "install" '' echo "Installing Dependencies" winetricks -q -f ${winetricksArgs} wineserver -k echo "Dependencies Installed" echo "Installing Epic Games Launcher" $WINE ${epic_games_launcher} /q wineserver -k echo "Epic Games Launcher Installed" ''; stop_script = writeShellScriptBin "stop" '' wineserver -k ''; clean_script = writeShellScriptBin "clean" '' wineserver -k rm -rf $WINEPREFIX ''; run_script = writeShellScriptBin "run" '' $WINE "$WINEPREFIX/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" ''; in { devShells = { default = pkgs.mkShell { packages = with pkgs; [ # Wine packages wineWow64Packages.unstableFull winetricks # Custom scripts install_script run_script stop_script clean_script ]; shellHook = '' export WINETRICKS_LATEST_VERSION_CHECK=disabled export WINEPREFIX=$(pwd)/wine_prefix export WINE=wine export WINEARCH="win64" export WINEDEBUG=-all export WINEDLLOVERRIDES="${wineDllOverridesEnv}" if [ ! -d "$WINEPREFIX" ]; then install fi ''; }; }; }); }