33 lines
1.0 KiB
Nix
33 lines
1.0 KiB
Nix
{ pkgs? import <nixpkgs> {}, xplanePathStr }:
|
|
|
|
let
|
|
runScript = pkgs.writeScript "x-plane-script" ''
|
|
#!${pkgs.stdenv.shell}
|
|
sys=${pkgs.stdenv.targetPlatform.system}
|
|
sys=''${sys%-linux}
|
|
: ''${XPLANEPATH:=${xplanePathStr}}
|
|
case $1 in
|
|
X-Plane) exec "''${XPLANEPATH}/X-Plane-$sys" ;;
|
|
Airfoil*) exec "''${XPLANEPATH}/Airfoil Maker-$sys" ;;
|
|
Plane*) exec "''${XPLANEPATH}/Plane Maker-$sys" ;;
|
|
''') exec "''${XPLANEPATH}/X-Plane-$sys" ;;
|
|
SHELL) exec "bash" ;;
|
|
*) exec "''${XPLANEPATH}/$1" ;;
|
|
esac
|
|
'';
|
|
in pkgs.buildFHSUserEnv rec {
|
|
name = "x-plane-env";
|
|
|
|
# Also add GAppsWrapper environment stuff such that binaries see the GTK theme...
|
|
|
|
targetPkgs = pkgs: (with pkgs; [ unzip atk gdk_pixbuf cairo pango mesa_glu libGL openalSoft gtk2 glib dbus pulseaudio ] ++
|
|
(with xorg; [ libX11 libXext libXrandr libXcursor libXinerama ]));
|
|
extraBuildCommands = ''
|
|
chmod u+w $out/etc
|
|
mkdir $out/etc/openal
|
|
chmod u-w $out/etc
|
|
echo "drivers=pulse" > $out/etc/openal/alsoft.conf
|
|
'';
|
|
inherit runScript;
|
|
}
|