nixos/modules/DE/dwm.nix
2023-04-22 01:57:28 -04:00

57 lines
1.2 KiB
Nix

{suckless, ...}: {
pkgs,
config,
options,
lib,
self,
...
}: let
cfg = config.localModules.DE.dwm;
sp = suckless.packages.${pkgs.system};
in {
options.localModules.DE.dwm = {
enable = lib.mkEnableOption "";
};
config = lib.mkIf cfg.enable {
services.gvfs.enable = true;
services.xserver = {
enable = true;
displayManager = {
sessionCommands = ''
${pkgs.feh}/bin/feh --bg-center ${self + /misc/recursion.png}
${pkgs.numlockx}/bin/numlockx
${pkgs.picom}/bin/picom &
'';
defaultSession = "none+dwm";
};
windowManager.session =
lib.singleton
{
name = "dwm";
start = ''
update_time () {
while :
do
sleep 1
xsetroot -name "$(date +"%I:%M %p")"
done
}
dont_stop() {
while type dwm >/dev/null ; do dwm && continue || break ; done
}
update_time &
dont_stop &
waitPID=$!
'';
};
};
environment.systemPackages = [
sp.dmenu
sp.dwm
sp.st
];
};
}