{ lib, config, ... }: let cfg = config.programs.swayidle; in with lib; { options = { programs.swayidle.enable = mkEnableOption "swayidle"; }; config = mkIf cfg.enable { programs.sway.extraConfig = '' exec swayidle \ timeout 300 'swaylock -c 000000' \ timeout 600 'swaymsg "output * dpms off"' \ resume 'swaymsg "output * dpms on"' \ before-sleep 'swaylock -c 000000' ''; }; }