summary refs log tree commit diff
path: root/pkgs/servers/x11
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2012-11-22 02:26:11 +0100
committeraszlig <aszlig@redmoonstudios.org>2012-12-12 12:36:19 +0100
commitbf3d3dd19b48c432dd83aa0385b47dbe84aa647b (patch)
tree54f32abf159b1f590a3d813c6c32befb2168ab03 /pkgs/servers/x11
parent5a3f9c08b0e1e004606fe331bf34ad112c710bcd (diff)
downloadnixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.tar
nixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.tar.gz
nixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.tar.bz2
nixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.tar.lz
nixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.tar.xz
nixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.tar.zst
nixlib-bf3d3dd19b48c432dd83aa0385b47dbe84aa647b.zip
xinit: Fix logpath and dependencies for startx.
It seems that (almost?) all NixOS users start X using the services module,
because startx seems to be broken for quite some while. And it hit me while
getting to NixOS for the first time as well, so I then decided to just use the
service module.

As I'm working with multiple X servers, writing wrappers in ~/nixpkgs/config.nix
became tedious and so I decided to fix it, hopefully without breaking anything.

The fix consists of:

 * Provide a default location for the Xorg log (~/.xorg.log - hope that's okay)
 * Expose xauth through xinit to ensure purity and "unexpected behaviour", also
   known as "simply not working", because xauth isn't in the user's environment.
 * Actually provide the X binary so it doesn't have to be passed to startx every
   time.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Diffstat (limited to 'pkgs/servers/x11')
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 79517c91dd60..6d231e2083e2 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -272,6 +272,14 @@ in
     buildInputs = attrs.buildInputs ++ [xorg.libXrender];
   };
 
+  xinit = attrs: attrs // {
+    configureFlags = "--with-xserver=${xorg.xorgserver}/bin/X";
+    propagatedBuildInputs = [ xorg.xauth ];
+    prePatch = ''
+      sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
+    '';
+  };
+
   xwd = attrs: attrs // {
     buildInputs = attrs.buildInputs ++ [xorg.libXt];
   };