From 023c408affc7ac03802ffe3310bf12f86c9b0aa9 Mon Sep 17 00:00:00 2001 From: LavaDesu Date: Fri, 4 Jun 2021 16:16:16 +0700 Subject: [PATCH] add xinit overlay --- flake.nix | 1 + overlays/misc/startx.patch | 26 ++++++++++++++++++++++++++ overlays/xinit.nix | 10 ++++++++++ 3 files changed, 37 insertions(+) create mode 100644 overlays/misc/startx.patch create mode 100644 overlays/xinit.nix diff --git a/flake.nix b/flake.nix index b0c98ab..af9da88 100644 --- a/flake.nix +++ b/flake.nix @@ -27,6 +27,7 @@ transcrypt = import ./overlays/transcrypt.nix; winetricks = import ./overlays/winetricks.nix; wine-osu = import ./overlays/wine-osu.nix; + xinit = import ./overlays/xinit.nix; }; in { diff --git a/overlays/misc/startx.patch b/overlays/misc/startx.patch new file mode 100644 index 0000000..da1cdea --- /dev/null +++ b/overlays/misc/startx.patch @@ -0,0 +1,26 @@ +diff --git a/startx.cpp b/startx.cpp +index 125c398..296b29f 100644 +--- a/startx.cpp ++++ b/startx.cpp +@@ -47,10 +47,10 @@ XCOMM so export the new PATH just in case the user changes the shell + export PATH + #endif + +-userclientrc=$HOME/.xinitrc ++userclientrc="${XINITRC:-$HOME/.xinitrc}" + sysclientrc=XINITDIR/xinitrc + +-userserverrc=$HOME/.xserverrc ++userserverrc="${XSERVERRC:-$HOME/.xserverrc}" + sysserverrc=XINITDIR/xserverrc + defaultclient=XTERM + defaultserver=XSERVER +@@ -270,7 +270,7 @@ if [ x"$enable_xauth" = x1 ] ; then + dummy=0 + + XCOMM create a file with auth information for the server. ':0' is a dummy. +- xserverauthfile=$HOME/.serverauth.$$ ++ xserverauthfile=$XAUTHORITY + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + xauth -q -f "$xserverauthfile" << EOF + add :$dummy . $mcookie diff --git a/overlays/xinit.nix b/overlays/xinit.nix new file mode 100644 index 0000000..f89ce59 --- /dev/null +++ b/overlays/xinit.nix @@ -0,0 +1,10 @@ +self: super: { + xorg = super.xorg // { + xinit = super.xorg.xinit.overrideAttrs(o: { + # Some info: + # - Make startx use $XAUTHORITY as server auth files instead of .serverauth.$$ + # - Make startx respect $XINITRC and $XSERVERRC + patches = o.patches ++ [ ./misc/startx.patch ]; + }); + }; +}