diff options
author | aszlig <aszlig@redmoonstudios.org> | 2014-08-01 05:17:23 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2014-08-01 05:49:14 +0200 |
commit | feeb5bae2317e054eb307f6c998058eea8ae9fcd (patch) | |
tree | a9299cb082ff96dd97924442d163bdf1cc85bcf5 /pkgs/tools/misc | |
parent | b02d72f754248c89323e79d88d570e054bdd062a (diff) | |
download | nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.tar nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.tar.gz nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.tar.bz2 nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.tar.lz nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.tar.xz nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.tar.zst nixlib-feeb5bae2317e054eb307f6c998058eea8ae9fcd.zip |
Add new package xdummy, a dummy X server.
This is actually a small script which just starts an X server without any real display. Right now only needed for running the test suite of the i3 window manager within the Nix chroot, but might be useful for running other tests needing a DISPLAY. Usage is just like a regular X server, so in order to start an instance for display :666, you just run it like this: xdummy :666 Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r-- | pkgs/tools/misc/xdummy/default.nix | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/pkgs/tools/misc/xdummy/default.nix b/pkgs/tools/misc/xdummy/default.nix new file mode 100644 index 000000000000..30aba19930c7 --- /dev/null +++ b/pkgs/tools/misc/xdummy/default.nix @@ -0,0 +1,83 @@ +{ stdenv, writeText, writeScriptBin, xorg, xkeyboard_config }: + +let + xorgConfig = writeText "dummy-xorg.conf" '' + Section "ServerLayout" + Identifier "dummy_layout" + Screen 0 "dummy_screen" + InputDevice "dummy_keyboard" "CoreKeyboard" + InputDevice "dummy_mouse" "CorePointer" + EndSection + + Section "ServerFlags" + Option "DontVTSwitch" "true" + Option "AllowMouseOpenFail" "true" + Option "PciForceNone" "true" + Option "AutoEnableDevices" "false" + Option "AutoAddDevices" "false" + EndSection + + Section "Files" + ModulePath "${xorg.xorgserver}/lib/xorg/modules" + ModulePath "${xorg.xf86videodummy}/lib/xorg/modules" + XkbDir "${xkeyboard_config}/share/X11/xkb" + FontPath "${xorg.fontadobe75dpi}/lib/X11/fonts/75dpi" + FontPath "${xorg.fontadobe100dpi}/lib/X11/fonts/100dpi" + FontPath "${xorg.fontbhlucidatypewriter75dpi}/lib/X11/fonts/75dpi" + FontPath "${xorg.fontbhlucidatypewriter100dpi}/lib/X11/fonts/100dpi" + FontPath "${xorg.fontbh100dpi}/lib/X11/fonts/100dpi" + FontPath "${xorg.fontmiscmisc}/lib/X11/fonts/misc" + FontPath "${xorg.fontcursormisc}/lib/X11/fonts/misc" + EndSection + + Section "Module" + Load "dbe" + Load "extmod" + Load "freetype" + Load "glx" + EndSection + + Section "InputDevice" + Identifier "dummy_mouse" + Driver "void" + EndSection + + Section "InputDevice" + Identifier "dummy_keyboard" + Driver "void" + EndSection + + Section "Monitor" + Identifier "dummy_monitor" + HorizSync 30.0 - 130.0 + VertRefresh 50.0 - 250.0 + Option "DPMS" + EndSection + + Section "Device" + Identifier "dummy_device" + Driver "dummy" + VideoRam 192000 + EndSection + + Section "Screen" + Identifier "dummy_screen" + Device "dummy_device" + Monitor "dummy_monitor" + DefaultDepth 24 + SubSection "Display" + Depth 24 + Modes "1280x1024" + EndSubSection + EndSection + ''; + +in writeScriptBin "xdummy" '' + #!${stdenv.shell} + export XKB_BINDIR="${xorg.xkbcomp}/bin" + exec ${xorg.xorgserver}/bin/Xorg \ + -noreset \ + -logfile /dev/null \ + "$@" \ + -config "${xorgConfig}" +'' |