about summary refs log tree commit diff
path: root/pkgs/games/heroic/fhsenv.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/heroic/fhsenv.nix')
-rw-r--r--pkgs/games/heroic/fhsenv.nix109
1 files changed, 109 insertions, 0 deletions
diff --git a/pkgs/games/heroic/fhsenv.nix b/pkgs/games/heroic/fhsenv.nix
new file mode 100644
index 0000000000000..75012f405f81a
--- /dev/null
+++ b/pkgs/games/heroic/fhsenv.nix
@@ -0,0 +1,109 @@
+{ lib
+, buildFHSUserEnv
+, heroic-unwrapped
+, extraPkgs ? pkgs: [ ]
+, extraLibraries ? pkgs: [ ]
+}:
+
+buildFHSUserEnv {
+  name = "heroic";
+
+  runScript = "heroic";
+
+  targetPkgs = pkgs: with pkgs; [
+    heroic-unwrapped
+    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
+    ];
+  in pkgs: with pkgs; [
+    alsa-lib
+    bash
+    cairo
+    coreutils
+    cups
+    dbus
+    freetype
+    fribidi
+    giflib
+    glib
+    gnutls
+    gtk3
+    lcms2
+    libevdev
+    libGLU
+    libglvnd
+    libjpeg
+    libkrb5
+    libmpeg2
+    libogg
+    libopus
+    libpng
+    libpulseaudio
+    libselinux
+    libsndfile
+    libsndfile
+    libtheora
+    libtiff
+    libusb1
+    libv4l
+    libva
+    libvorbis
+    libxkbcommon
+    libxml2
+    mpg123
+    ocl-icd
+    openldap
+    pipewire
+    samba4
+    sane-backends
+    SDL2
+    udev
+    udev
+    unixODBC
+    util-linux
+    vulkan-loader
+    wayland
+    zlib
+  ] ++ xorgDeps 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;
+}