{ config, lib, pkgs, ... }: let cfg = config.ctucxConfig.services.swaylock; in { options = { ctucxConfig.services.swaylock = { enable = lib.mkEnableOption "swaybar screenlock"; }; }; config = lib.mkIf cfg.enable { ctucxConfig.services.systemd-lock-handler.enable = true; security.pam.services.swaylock = {}; home-manager.users.katja.systemd.user.services = { swaylock = { Unit = { Requisite = [ "graphical-session.target" ]; PartOf = [ "lock.target" "sleep.target" ]; }; Service = { ExecStart = "${pkgs.swaylock}/bin/swaylock -i /home/katja/Pictures/Backgrounds/lock.png"; ExecStopPost = "${pkgs.systemd}/bin/loginctl unlock-session"; }; Install = { WantedBy = [ "lock.target" "sleep.target" ]; }; }; }; }; }