diff options
-rw-r--r-- | awesome/default.nix | 42 | ||||
-rw-r--r-- | awesome/xorg.conf (renamed from x/xorg.conf) | 0 | ||||
-rw-r--r-- | default.nix | 5 | ||||
-rw-r--r-- | x/default.nix | 43 |
4 files changed, 42 insertions, 48 deletions
diff --git a/awesome/default.nix b/awesome/default.nix index 6fbf524..3fedb87 100644 --- a/awesome/default.nix +++ b/awesome/default.nix @@ -9,6 +9,45 @@ pkgs2305 = (import ../pkgs.nix).stable2305 {}; pkgsEdge = (import ../pkgs.nix).edge {}; + xorgInnerEnv = pkgs.buildEnv { + name = "xorg-inner-env"; + paths = [ + pkgs.xorg.xorgserver + pkgs.xorg.xinit + pkgs.xorg.xauth + pkgs.xorg.xset + pkgs.xorg.xf86inputlibinput + pkgs.xorg.xrandr + pkgs.xsel + + (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 + '') + ]; + }; + + xorgConf = pkgs.runCommand "xorg-conf" {} '' + cat >>"$out" <<EOF +Section "Files" + ModulePath "${xorgInnerEnv}/lib/xorg/modules" +EndSection + +${config.xorgConfExtra} +EOF + + for f in $(ls ${xorgInnerEnv}/share/X11/xorg.conf.d | sort); do + cat ${xorgInnerEnv}/share/X11/xorg.conf.d/"$f" >> "$out" + done + ''; + + startx = pkgs.writeShellScriptBin "startx" '' + # TODO pass .xinitrc into here, somehow + export XORGCONFIG=${xorgConf} + export PATH=${xorgInnerEnv}/bin:$PATH + exec startx + ''; + # nativeWrap is used for apps which are not installed via nix which don't play # nicely with it. nativeWrap = pkgs.writeScriptBin "native-wrap" '' @@ -29,15 +68,12 @@ env = pkgs.buildEnv { name = "awesome-env"; paths = [ - pkgs.awesome pkgs.tela-icon-theme nativeWrap browser - pkgs.xorg.xrandr - pkgs.xsel pkgs.pavucontrol pkgs.xdg-utils pkgs.arandr diff --git a/x/xorg.conf b/awesome/xorg.conf index 04f72e6..04f72e6 100644 --- a/x/xorg.conf +++ b/awesome/xorg.conf diff --git a/default.nix b/default.nix index ee5e159..2d85f10 100644 --- a/default.nix +++ b/default.nix @@ -37,6 +37,7 @@ in rec { ''; zsh = ((import ./zsh) { inherit config; }).zsh; + awesome = ((import ./awesome) { inherit config; }); loadout = pkgs.buildEnv { name = "loadout"; @@ -96,8 +97,8 @@ in rec { ((import ./nvim) {}).nvim zsh ((import ./alacritty) { inherit config zsh; }).alacritty - ((import ./awesome) { inherit config; }).awesome - ((import ./x) { inherit config; }).startx + awesome.awesome + awesome.startx ]; }; diff --git a/x/default.nix b/x/default.nix deleted file mode 100644 index a060701..0000000 --- a/x/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ - 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.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 - -${config.xorgConfExtra} -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 - ''; -} |