{ pkgs, psCfg, ... }: { Unit = { Description = "Idle manager for Wayland"; Documentation = ["man:swayidle(1)"]; BindsTo = ["graphical-session.target"]; Wants = ["graphical-session-pre.target"]; After = ["graphical-session-pre.target"]; }; Service = { Type = "simple"; Environment = "PATH=/run/current-system/sw/bin:${pkgs.sway}/bin:${pkgs.swaylock-bg}/bin:${pkgs.swayidle}/bin"; ExecStart = '' ${pkgs.swayidle}/bin/swayidle -w \ after-resume 'swaymsg "output * dpms on"' \ after-resume '${pkgs.brightnessctl}/bin/brightnessctl -d gmux_backlight set 60%' \ before-sleep 'swaylock-bg' '' + ( if psCfg.paranoia.enable then '' \ timeout 120 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ timeout 150 'systemctl hibernate' '' else '' \ timeout 600 'swaylock-bg' \ timeout 900 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' '' ); }; Install = { WantedBy = ["sway-session.target"]; }; }