## Configuration: # Control you default wine config in nixpkgs-config: # wine = { # release = "stable"; # "stable", "unstable", "staging", "wayland" # build = "wineWow"; # "wine32", "wine64", "wineWow" # }; # Make additional configurations on demand: # wine.override { wineBuild = "wine32"; wineRelease = "staging"; }; { lib, stdenv, callPackage, darwin, wineRelease ? "stable", wineBuild ? if stdenv.hostPlatform.system == "x86_64-linux" then "wineWow" else "wine32", gettextSupport ? false, fontconfigSupport ? false, alsaSupport ? false, gtkSupport ? false, openglSupport ? false, tlsSupport ? false, gstreamerSupport ? false, cupsSupport ? false, dbusSupport ? false, openclSupport ? false, cairoSupport ? false, odbcSupport ? false, netapiSupport ? false, cursesSupport ? false, vaSupport ? false, pcapSupport ? false, v4lSupport ? false, saneSupport ? false, gphoto2Support ? false, krb5Support ? false, pulseaudioSupport ? false, udevSupport ? false, xineramaSupport ? false, vulkanSupport ? false, sdlSupport ? false, usbSupport ? false, mingwSupport ? wineRelease != "stable", waylandSupport ? wineRelease == "wayland", embedInstallers ? false, # The Mono and Gecko MSI installers moltenvk ? darwin.moltenvk # Allow users to override MoltenVK easily }: let wine-build = build: release: lib.getAttr build (callPackage ./packages.nix { wineRelease = release; supportFlags = { inherit cupsSupport gettextSupport dbusSupport cairoSupport odbcSupport netapiSupport cursesSupport vaSupport pcapSupport v4lSupport saneSupport gphoto2Support krb5Support fontconfigSupport alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport sdlSupport usbSupport mingwSupport waylandSupport embedInstallers; }; inherit moltenvk; }); in if wineRelease == "staging" then callPackage ./staging.nix { wineUnstable = wine-build wineBuild "unstable"; } else wine-build wineBuild wineRelease