Include xorg as part of loadout, so it's not required on host system

This commit is contained in:
mediocregopher 2023-12-16 18:28:36 +01:00
parent 878dea2de4
commit 64eb89235d
4 changed files with 45 additions and 2 deletions

View File

@ -50,7 +50,6 @@
pkgs.cbatticon
pkgs.phwmon
pkgs.castor
pkgs2305.libreoffice
pkgs.gimp
pkgs.inkscape
@ -74,6 +73,8 @@
awesome = pkgs.writeScriptBin "awesome" ''
#!${pkgs.bash}/bin/bash
set -e -x
export BROWSER=${browser}/bin/browser
# Turn off powersaving (fuck the environment)
@ -98,7 +99,7 @@
# Init awesome
data_dir="$HOME/.local/share/awesome";
mkdir -p "$dataDir"
mkdir -p "$data_dir"
log_dir="$data_dir"/logs
mkdir -p $log_dir

View File

@ -91,6 +91,7 @@ in rec {
zsh
((import ./alacritty) { inherit config zsh; }).alacritty
((import ./awesome) { inherit config; }).awesome
((import ./x) { inherit config; }).startx
];
};

41
x/default.nix Normal file
View File

@ -0,0 +1,41 @@
{
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
'';
}