[Unit] Description=Idle manager for Wayland (lock + DPMS) PartOf=graphical-session.target After=graphical-session.target ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple ExecStart=/usr/bin/swayidle -w \ timeout 300 'swaymsg "output * power off"' \ resume 'swaymsg "output * power on"' \ timeout 330 'swaylock -f -e -c 000000' \ timeout 1800 '%h/.local/bin/on-battery-suspend' \ before-sleep 'playerctl -a pause; swaylock -f -e -c 000000' \ lock 'swaylock -f -e -c 000000' Restart=on-failure RestartSec=2s [Install] WantedBy=sway-session.target