80 lines
1.8 KiB
Nix
80 lines
1.8 KiB
Nix
{ lib, buildFHSUserEnv, config }:
|
|
|
|
buildFHSUserEnv {
|
|
name = "steam";
|
|
|
|
targetPkgs = pkgs:
|
|
[ pkgs.steam-original
|
|
pkgs.corefonts
|
|
pkgs.curl
|
|
pkgs.dbus
|
|
pkgs.dpkg
|
|
pkgs.mono
|
|
pkgs.python
|
|
pkgs.gnome2.zenity
|
|
pkgs.xdg_utils
|
|
pkgs.xlibs.xrandr
|
|
pkgs.which
|
|
]
|
|
++ lib.optional (config.steam.java or false) pkgs.jdk
|
|
++ lib.optional (config.steam.primus or false) pkgs.primus
|
|
;
|
|
|
|
multiPkgs = pkgs:
|
|
[ pkgs.cairo
|
|
pkgs.glib
|
|
pkgs.gtk
|
|
pkgs.gdk_pixbuf
|
|
pkgs.pango
|
|
|
|
pkgs.freetype
|
|
pkgs.xlibs.libICE
|
|
pkgs.xlibs.libSM
|
|
pkgs.xlibs.libX11
|
|
pkgs.xlibs.libXau
|
|
pkgs.xlibs.libxcb
|
|
pkgs.xlibs.libXcursor
|
|
pkgs.xlibs.libXdamage
|
|
pkgs.xlibs.libXdmcp
|
|
pkgs.xlibs.libXext
|
|
pkgs.xlibs.libXfixes
|
|
pkgs.xlibs.libXi
|
|
pkgs.xlibs.libXinerama
|
|
pkgs.xlibs.libXrandr
|
|
pkgs.xlibs.libXrender
|
|
pkgs.xlibs.libXScrnSaver
|
|
pkgs.xlibs.libXtst
|
|
pkgs.xlibs.libXxf86vm
|
|
|
|
pkgs.ffmpeg
|
|
pkgs.libpng12
|
|
pkgs.mesa
|
|
pkgs.SDL
|
|
pkgs.SDL2
|
|
pkgs.libdrm
|
|
|
|
pkgs.libgcrypt
|
|
pkgs.zlib
|
|
|
|
pkgs.alsaLib
|
|
pkgs.libvorbis
|
|
pkgs.openal
|
|
pkgs.libpulseaudio
|
|
|
|
pkgs.gst_all_1.gst-plugins-ugly # "Audiosurf 2" needs this
|
|
];
|
|
|
|
extraBuildCommandsMulti = ''
|
|
cd usr/lib
|
|
ln -sf ../lib64/steam steam
|
|
'';
|
|
|
|
profile = ''
|
|
# Ugly workaround for https://github.com/ValveSoftware/steam-for-linux/issues/3504
|
|
export LD_PRELOAD=/lib32/libpulse.so:/lib64/libpulse.so:/lib32/libasound.so:/lib64/libasound.so:$LD_PRELOAD
|
|
# Another one for https://github.com/ValveSoftware/steam-for-linux/issues/3801
|
|
export LD_PRELOAD=/lib32/libstdc++.so:/lib64/libstdc++.so:$LD_PRELOAD
|
|
'';
|
|
|
|
runScript = "steam";
|
|
}
|