{ povSelf, config, lib, pkgs, ... }: let inherit (lib) types; cfg = lib.getAttrFromPath povSelf config; in { options.enable = { type = types.bool; default = false; }; config = lib.mkIf cfg.enable { security.pam.services.swaylock = { }; services.systemd-lock-handler.enable = true; home-manager.sharedModules = [ { systemd.user.services = { swaylock = { Unit.OnSuccess = [ "unlock.target" ]; Unit.PartOf = [ "lock.target" ]; Unit.After = [ "lock.target" ]; Install.WantedBy = [ "lock.target" ]; Service.ExecStart = "${lib.getExe pkgs.swaylock} -i /home/zaphyra/Pictures/Backgrounds/lock.png"; Service.Restart = "on-failure"; Service.RestartSec = 0; }; }; } ]; }; }