summary refs log tree commit diff
path: root/pkgs/tools/misc/xdummy/default.nix
blob: 30aba19930c70e00cfca2a1f87884866f01c8aa0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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}"
''