{ config, lib, ... }: let cfg = config.poz.programs.swaylock; inherit (config.poz.other.system) username; inherit (lib.modules) mkIf; inherit (lib.options) mkEnableOption; in { options.poz.programs.swaylock.enable = mkEnableOption "swaylock"; config = mkIf cfg.enable { # https://github.com/NixOS/nixpkgs/issues/158025 security.pam.services.swaylock.text = "auth include login"; home-manager.users.${username} = { programs.swaylock = { enable = true; settings = { daemonize = false; show-failed-attempts = true; clock = true; screenshots = true; effect-blur = "9x5"; effect-vignette = "0.5:0.5"; indicator = true; indicator-radius = 200; indicator-thickness = 20; color = "1e1e2e"; bs-hl-color = "f5e0dc"; caps-lock-bs-hl-color = "f5e0dc"; caps-lock-key-hl-color = "a6e3a1"; inside-color = "00000000"; inside-clear-color = "00000000"; inside-caps-lock-color = "00000000"; inside-ver-color = "00000000"; inside-wrong-color = "00000000"; key-hl-color = "a6e3a1"; layout-bg-color = "00000000"; layout-border-color = "00000000"; layout-text-color = "cdd6f4"; line-color = "00000000"; line-clear-color = "00000000"; line-caps-lock-color = "00000000"; line-ver-color = "00000000"; line-wrong-color = "00000000"; ring-color = "b4befe"; ring-clear-color = "f5e0dc"; ring-caps-lock-color = "fab387"; ring-ver-color = "89b4fa"; ring-wrong-color = "eba0ac"; separator-color = "00000000"; text-color = "cdd6f4"; text-clear-color = "f5e0dc"; text-caps-lock-color = "fab387"; text-ver-color = "89b4fa"; text-wrong-color = "eba0ac"; grace = 2; grace-no-mouse = true; grace-no-touch = true; fade-in = 0.2; ignore-empty-password = true; }; }; }; }; }