{ homeManager, inputs, moduleNameSpace, settings-persist, ... }: { config, lib, pkgs, ... }: let cfg = config.${moduleNameSpace}.x11.dwm; in { options.${moduleNameSpace}.x11.dwm = { enable = lib.mkEnableOption "dwm setup"; }; config = lib.mkIf cfg.enable ( if !homeManager then { services.xserver = { windowManager.dwm = { enable = true; package = inputs.mydwm.packages.${pkgs.stdenv.hostPlatform.system}.default; }; }; } else { xdg.dataFile."dwm/autostart.sh" = { executable = true; text = '' #!${pkgs.bash}/bin/bash gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 & ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 & feh --no-fehbg --bg-fill "$(rg wallpaper ~/.config/beeSettings | cut -d"=" -f2)" [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources dunst & clipcatd & slstatus & ${lib.optionalString (!config.beeMods.x11.picom.enable) '' xrandr --output eDP --set TearFree on ''} ${lib.optionalString (config.beeMods.x11.picom.enable) '' systemctl --user restart picom.service ''} systemctl --user restart xidlehook.service xautolock-session.service xss-lock.service clipcat.service ${lib.optionalString (config.beeMods.mango.waybar) '' systemctl --user stop waybar.service ''} ${lib.optionalString (config.beeMods.mango.enable) '' systemctl --user stop swayidle.service ''} ${settings-persist} ''; }; } ); }