nixpkgs/pkgs/games/steam/chrootenv.nix
Tanner Doshier 0da4293c2c steam: add xrandr binary to env
Games utilizing LWJGL >= 2.4 && < 3.0 need this as the framework parses
display information from the command line output of xrandr[1] on Linux.
There are a number of LWJGL games on Steam currently.

[1]: 46f602f0c6/src/java/org/lwjgl/opengl/XRandR.java (L72)
2015-06-19 20:48:26 -05:00

79 lines
1.6 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
]
++ 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.libgcrypt
pkgs.zlib
pkgs.alsaLib
pkgs.libvorbis
pkgs.openal
pkgs.libpulseaudio
pkgs.flashplayer
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
'';
runScript = "steam";
}