{ dwm, st, uenv, dvtm, execline, busybox, xinit, xmodmap, setxkbmap
, attach-shell, writeScriptBin, dmenu, writeScript, firefox }:
let
shell = writeScript "attach-shell.X" ''
#!${execline}/bin/execlineb
${attach-shell}/bin/attach-shell X
'';
dwm' = dwm.overrideAttrs (_: {
postPatch = "substituteAll ${./config.h.in} config.def.h";
inherit st dmenu shell firefox;
});
x-startup = writeScript "startup.X" ''
#!${execline}/bin/execlineb -P
foreground { ${setxkbmap}/bin/setxkbmap
-layout "us,ru"
-option
-option 'lv3:switch,misc:typo,caps:ctrl_modifier,grp:shifts_toggle'
}
foreground { ${xmodmap}/bin/xmodmap ${./Xmodmap} }
${dwm'}/bin/dwm
'';
in writeScriptBin "runx" ''
#!${execline}/bin/execlineb -P
/bin/xinit ${x-startup}
''