{ config, pkgs, lib, ... }: let inherit (pkgs.uservars) key accent font theme; inherit (theme) color; asScript = filename: text: toString (pkgs.writeShellScript filename text); in { services.swayidle = { timeouts = [ { timeout = 360; command = "${pkgs.swaylock}/bin/swaylock -f"; } { timeout = 1800; command = asScript "swayidle-suspend-monitors" '' ${pkgs.mpc_cli}/bin/mpc status | grep "^[playing]" > /dev/null || ${pkgs.sway}/bin/swaymsg "output * dpms off" ''; resumeCommand = asScript "swayidle-wakeup-monitors" '' ${pkgs.sway}/bin/swaymsg "output * dpms on" ''; } ]; events = [ { event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock -f"; } { event = "after-resume"; command = asScript "after-resume" '' ${pkgs.sway}/bin/swaymsg "output * dpms on" ${pkgs.systemd}/bin/systemctl --user restart \ kdeconnect.service kdeconnect-indicator.service ''; } ]; }; }