{ config, lib, pkgs, ... }: let isEnabled = config.my.home.wm.windowManager == "sway"; in { config = lib.mkIf isEnabled { xdg.configFile."swaylock/config" = { source = ./config; }; services.swayidle = { enable = true; events = [ { event = "before-sleep"; command = "${pkgs.swaylock}/bin/swaylock -fF"; } { event = "lock"; command = "${pkgs.swaylock}/bin/swaylock -fF"; } ]; timeouts = [ { timeout = 300; command = "${pkgs.sway}/bin/swaymsg \"output * dpms off\""; resumeCommand = "${pkgs.sway}/bin/swaymsg \"output * dpms on\""; } { timeout = 310; command = "${pkgs.systemd}/bin/loginctl lock-session"; } ]; }; }; }