42 lines
906 B
Nix
42 lines
906 B
Nix
|
{
|
||
|
config,
|
||
|
}: rec {
|
||
|
|
||
|
pkgs = (import ../pkgs.nix).stable {};
|
||
|
|
||
|
innerEnv = pkgs.buildEnv {
|
||
|
name = "x-inner-env";
|
||
|
paths = [
|
||
|
pkgs.xorg.xorgserver
|
||
|
pkgs.xorg.xinit
|
||
|
pkgs.xorg.xauth
|
||
|
pkgs.xorg.xset
|
||
|
#pkgs.xorg.xf86inputevdev
|
||
|
pkgs.xorg.xf86inputlibinput
|
||
|
|
||
|
(pkgs.runCommand "xorg-conf-inner" {} ''
|
||
|
mkdir -p "$out"/share/X11/xorg.conf.d/
|
||
|
cp ${./xorg.conf} "$out"/share/X11/xorg.conf.d/99-loadout.conf
|
||
|
'')
|
||
|
];
|
||
|
};
|
||
|
|
||
|
conf = pkgs.runCommand "xorg-conf" {} ''
|
||
|
cat >>"$out" <<EOF
|
||
|
Section "Files"
|
||
|
ModulePath "${innerEnv}/lib/xorg/modules"
|
||
|
EndSection
|
||
|
EOF
|
||
|
|
||
|
for f in $(ls ${innerEnv}/share/X11/xorg.conf.d | sort); do
|
||
|
cat ${innerEnv}/share/X11/xorg.conf.d/"$f" >> "$out"
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
startx = pkgs.writeShellScriptBin "startx" ''
|
||
|
export XORGCONFIG=${conf}
|
||
|
export PATH=${innerEnv}/bin:$PATH
|
||
|
exec startx
|
||
|
'';
|
||
|
}
|