64 lines
1.9 KiB
Nix
64 lines
1.9 KiB
Nix
{
|
|
pkgs,
|
|
osConfig,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib) mkMerge mkIf;
|
|
in {
|
|
# requires `security.pam.services.swaylock = { };` at the system level or else
|
|
# unlock will not work.
|
|
programs.swaylock = {
|
|
enable = true;
|
|
package = pkgs.swaylock-effects;
|
|
|
|
settings = mkMerge [
|
|
{
|
|
clock = true;
|
|
timestr = "%H:%M";
|
|
|
|
indicator = true;
|
|
indicator-radius = 111;
|
|
indicator-thickness = 9;
|
|
|
|
screenshots = true;
|
|
effect-blur = "7x5";
|
|
effect-vignette = "0.75:0.75";
|
|
effect-pixelate = 5;
|
|
|
|
ignore-empty-password = false; # needed for PAM to work with fprintd / password
|
|
}
|
|
(mkIf
|
|
osConfig.theme.enable
|
|
(let
|
|
inherit (osConfig.theme.scheme) palette;
|
|
in {
|
|
inside-color = palette.base01;
|
|
inside-clear-color = palette.base0C;
|
|
inside-caps-lock-color = palette.base09;
|
|
inside-ver-color = palette.base0D;
|
|
inside-wrong-color = palette.base08;
|
|
key-hl-color = palette.base0B;
|
|
layout-bg-color = palette.base00;
|
|
layout-border-color = palette.base05;
|
|
layout-text-color = palette.base07;
|
|
line-color = palette.base00;
|
|
line-clear-color = palette.base0C;
|
|
line-caps-lock-color = palette.base09;
|
|
line-ver-color = palette.base0D;
|
|
line-wrong-color = palette.base08;
|
|
ring-color = palette.base02;
|
|
ring-clear-color = palette.base0C;
|
|
ring-caps-lock-color = palette.base09;
|
|
ring-ver-color = palette.base0D;
|
|
ring-wrong-color = palette.base08;
|
|
separator-color = palette.base02;
|
|
text-color = palette.base07;
|
|
text-clear-color = palette.base04;
|
|
text-caps-lock-color = palette.base04;
|
|
text-ver-color = palette.base04;
|
|
text-wrong-color = palette.base04;
|
|
}))
|
|
];
|
|
};
|
|
}
|