diff options
Diffstat (limited to 'pkgs/heroic-launcher/fhsenv.nix')
-rw-r--r-- | pkgs/heroic-launcher/fhsenv.nix | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/pkgs/heroic-launcher/fhsenv.nix b/pkgs/heroic-launcher/fhsenv.nix new file mode 100644 index 0000000..19b44b2 --- /dev/null +++ b/pkgs/heroic-launcher/fhsenv.nix @@ -0,0 +1,139 @@ +{ buildFHSEnv +, heroic-unwrapped +, extraPkgs ? pkgs: [ ] +, extraLibraries ? pkgs: [ ] +}: + +buildFHSEnv { + name = "heroic"; + + runScript = "heroic"; + + # Many Wine and native games need 32-bit libraries. + multiArch = true; + + # required by Electron + unshareIpc = false; + + targetPkgs = pkgs: with pkgs; [ + heroic-unwrapped + gamemode + curl + gawk + gnome.zenity + plasma5Packages.kdialog + mangohud + nettools + opencl-headers + p7zip + perl + psmisc + python3 + which + xorg.xrandr + zstd + ] ++ extraPkgs pkgs; + + multiPkgs = let + xorgDeps = pkgs: with pkgs.xorg; [ + libpthreadstubs + libSM + libX11 + libXaw + libxcb + libXcomposite + libXcursor + libXdmcp + libXext + libXi + libXinerama + libXmu + libXrandr + libXrender + libXv + libXxf86vm + ]; + gstreamerDeps = pkgs: with pkgs.gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + gst-libav + ]; + in pkgs: with pkgs; [ + alsa-lib + alsa-plugins + bash + cabextract + cairo + coreutils + cups + dbus + freealut + freetype + fribidi + giflib + glib + gnutls + gtk3 + lcms2 + libevdev + libgcrypt + libGLU + libglvnd + libgpg-error + libgudev + libjpeg + libkrb5 + libmpeg2 + libogg + libopus + libpng + libpulseaudio + libselinux + libsndfile + libsoup + libtheora + libtiff + libusb1 + libv4l + libva + libvdpau + libvorbis + libvpx + libwebp + libxkbcommon + libxml2 + mpg123 + ncurses + ocl-icd + openal + openldap + openssl + pango + pipewire + samba4 + sane-backends + SDL2 + speex + sqlite + udev + unixODBC + util-linux + v4l-utils + vulkan-loader + wayland + zlib + ] ++ xorgDeps pkgs + ++ gstreamerDeps pkgs + ++ extraLibraries pkgs; + + extraInstallCommands = '' + mkdir -p $out/share + ln -s ${heroic-unwrapped}/share/applications $out/share + ln -s ${heroic-unwrapped}/share/icons $out/share + ''; + + meta = heroic-unwrapped.meta; +} |