114 lines
4.3 KiB
Nix
Executable File
114 lines
4.3 KiB
Nix
Executable File
{ lib, pkgs, config, ... }: {
|
|
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
|
programs.hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
grace = 5; # grace=5
|
|
no_fade_in = false; # fade-in=0.2 (handled dynamically)
|
|
ignore_empty_input = true; # ignore-empty-password
|
|
};
|
|
|
|
background = [
|
|
# 1. OLED MONITOR (Pure Black)
|
|
{
|
|
monitor = "desc:LG Electronics LG ULTRAGEAR+ 511NTDVGC194";
|
|
color = "rgba(0,0,0,1.0)"; # Pure black OLED protection
|
|
path = ""; # Explicitly no screenshot
|
|
zindex = 0;
|
|
}
|
|
# 2. ALL OTHER MONITORS (Pixelated Screenshot)
|
|
{
|
|
monitor = "";
|
|
path = "screenshot"; # screenshots
|
|
blur_passes = 2; # effect-pixelate=5 approximation
|
|
blur_size = 4;
|
|
noise = 0.01;
|
|
zindex = -1;
|
|
}
|
|
];
|
|
|
|
input-field = {
|
|
monitor = "";
|
|
placeholder_text = "";
|
|
fail_text = "";
|
|
|
|
size = "200, 200"; # Custom sizing matching indicator-radius
|
|
outline_thickness = 30; # indicator-thickness=30
|
|
|
|
dots_size = 0.33;
|
|
dots_spacing = 0.15;
|
|
dots_center = true;
|
|
fade_on_empty = true;
|
|
hide_input = true;
|
|
dots_text_format = "*";
|
|
font_family = "IBM Plex Mono"; # font=IBM Plex Mono
|
|
|
|
# --- Outer Rings / Outline Colors ---
|
|
# key-hl-color, bs-hl-color, caps-lock-key-hl-color
|
|
check_color = "rgb(${config.colorScheme.palette.base0C})"; # key-hl
|
|
fail_color = "rgb(${config.colorScheme.palette.base0F})"; # inside-wrong
|
|
capslock_color = "rgb(${config.colorScheme.palette.base09})"; # caps-lock-key-hl
|
|
|
|
# --- Inner/Outer Core Colors ---
|
|
# Replicating your transparent rings with solid action states
|
|
outer_color = "rgba(${config.colorScheme.palette.base00}00)"; # ring-color (Transparent)
|
|
inner_color = "rgba(${config.colorScheme.palette.base0C}00)"; # inside-color (Transparent)
|
|
font_color = "rgba(${config.colorScheme.palette.base00}00)"; # text-color (Transparent)
|
|
|
|
fail_transition = 300;
|
|
};
|
|
};
|
|
};
|
|
xdg.configFile."swaylock/config".text = ''
|
|
screenshots
|
|
grace-no-mouse
|
|
grace-no-touch
|
|
grace=5
|
|
effect-pixelate=5
|
|
fade-in=0.2
|
|
|
|
ignore-empty-password
|
|
font=IBM Plex Mono
|
|
|
|
color=${config.colorScheme.palette.base00}00
|
|
|
|
indicator-radius=100
|
|
indicator-thickness=30
|
|
|
|
separator-color=${config.colorScheme.palette.base00}00
|
|
|
|
inside-color=${config.colorScheme.palette.base0C}00
|
|
inside-clear-color=${config.colorScheme.palette.base08}FF
|
|
inside-caps-lock-color=${config.colorScheme.palette.base09}00
|
|
inside-ver-color=${config.colorScheme.palette.base0C}FF
|
|
inside-wrong-color=${config.colorScheme.palette.base0F}FF
|
|
|
|
|
|
ring-color=${config.colorScheme.palette.base00}00
|
|
ring-clear-color=${config.colorScheme.palette.base00}00
|
|
ring-caps-lock-color=${config.colorScheme.palette.base00}00
|
|
ring-ver-color=${config.colorScheme.palette.base00}00
|
|
ring-wrong-color=${config.colorScheme.palette.base00}00
|
|
|
|
line-color=${config.colorScheme.palette.base00}00
|
|
line-clear-color=${config.colorScheme.palette.base00}00
|
|
line-caps-lock-color=${config.colorScheme.palette.base00}00
|
|
line-ver-color=${config.colorScheme.palette.base00}00
|
|
line-wrong-color=${config.colorScheme.palette.base00}00
|
|
|
|
text-color=${config.colorScheme.palette.base00}00
|
|
text-clear-color=${config.colorScheme.palette.base00}00
|
|
text-caps-lock-color=${config.colorScheme.palette.base00}00
|
|
text-ver-color=${config.colorScheme.palette.base00}00
|
|
text-wrong-color=${config.colorScheme.palette.base00}00
|
|
|
|
|
|
key-hl-color=${config.colorScheme.palette.base0C}FF
|
|
bs-hl-color=${config.colorScheme.palette.base08}FF
|
|
caps-lock-key-hl-color=${config.colorScheme.palette.base09}FF
|
|
caps-lock-bs-hl-color=${config.colorScheme.palette.base09}FF
|
|
'';
|
|
};
|
|
}
|