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

main
mediocregopher 5 months ago
parent 878dea2de4
commit 64eb89235d
  1. 5
      awesome/default.nix
  2. 1
      default.nix
  3. 41
      x/default.nix
  4. 0
      x/xorg.conf

@ -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

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

@ -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
'';
}
Loading…
Cancel
Save