xorg.xorgserver: wrap Xvfb with required flags

Changed files
+5 -22
nixos
modules
services
pkgs
servers
x11
tools
+1 -14
nixos/modules/services/x11/terminal-server.nix
···
with lib;
-
let
-
-
# Wrap Xvfb to set some flags/variables.
-
xvfbWrapper = pkgs.writeScriptBin "Xvfb"
-
''
-
#! ${pkgs.stdenv.shell}
-
export XKB_BINDIR=${pkgs.xorg.xkbcomp}/bin
-
export XORG_DRI_DRIVER_PATH=${pkgs.mesa}/lib/dri
-
exec ${pkgs.xorg.xorgserver}/bin/Xvfb "$@" -xkbdir ${pkgs.xkeyboard_config}/etc/X11/xkb
-
'';
-
-
in
-
{
config = {
···
{ description = "Terminal Server";
path =
-
[ xvfbWrapper pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth
+
[ pkgs.xorgserver pkgs.gawk pkgs.which pkgs.openssl pkgs.xorg.xauth
pkgs.nettools pkgs.shadow pkgs.procps pkgs.utillinux pkgs.bash
];
+4
pkgs/servers/x11/xorg/overrides.nix
···
wrapProgram $out/bin/Xephyr \
--set XKB_BINDIR "${xorg.xkbcomp}/bin" \
--add-flags "-xkbdir ${xorg.xkeyboardconfig}/share/X11/xkb"
+
wrapProgram $out/bin/Xvfb \
+
--set XKB_BINDIR "${xorg.xkbcomp}/bin" \
+
--set XORG_DRI_DRIVER_PATH ${args.mesa}/lib/dri \
+
--add-flags "-xkbdir ${xorg.xkeyboardconfig}/share/X11/xkb"
'';
passthru.version = version; # needed by virtualbox guest additions
} else {
-4
pkgs/tools/X11/xpra/default.nix
···
pillow pygtk pygobject
];
-
postPatch = ''
-
sed -i 's|DEFAULT_XVFB_COMMAND = "Xvfb|DEFAULT_XVFB_COMMAND = "Xvfb -xkbdir ${xkeyboard_config}/etc/X11/xkb|' xpra/platform/features.py
-
'';
-
preBuild = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
'';
-4
pkgs/tools/X11/xpra/gtk3.nix
···
pygobject3 pycairo cython
];
-
postPatch = ''
-
sed -i 's|DEFAULT_XVFB_COMMAND = "Xvfb|DEFAULT_XVFB_COMMAND = "Xvfb -xkbdir ${xkeyboard_config}/etc/X11/xkb|' xpra/platform/features.py
-
'';
-
preBuild = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-3.0) $(pkg-config --cflags xtst)"
'';