{ lib, config, pkgs, inputs, ... }: let cfg = config.snowhawk.dwm; in { options.snowhawk.dwm = { enable = lib.mkEnableOption "dwm"; }; config = lib.mkIf cfg.enable { # Enable the X11 windowing system. services.xserver.enable = true; # Configure keymap in X11 services.xserver = { xkb = { layout = "us"; variant = ""; }; }; services.xserver.windowManager.dwm = { enable = true; package = pkgs.dwm.overrideAttrs (oldAttrs: { patches = [ ../home/dwm/config.def.h-6.5.diff ]; }); }; services.picom = { enable = true; fade = false; }; systemd.user.services.xrootdatetime = { script = '' while true; do sleep 1 && date +"<-- %A, %B %d -- %H:%M -->" | xargs -I% ${pkgs.xorg.xsetroot}/bin/xsetroot -name % done ''; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; }; systemd.user.services.fehbg = { script = '' ${pkgs.feh}/bin/feh --no-fehbg --bg-scale '${inputs.backgrounds}/bg-none-nord.webp' ''; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; }; systemd.user.services.polkit-gnome-authentication-agent = { description = "polkit-gnome-authentication-agent"; wantedBy = [ "graphical-session.target" ]; wants = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; }; }; environment.systemPackages = with pkgs; [ dmenu xclip ]; }; }