NixOS-Vista/nixosVista/homeManager/hyprlock/main.nix

101 lines
2 KiB
Nix

{
config,
lib,
nixosVista,
...
}: let
root = nixosVista;
cfg = root.hyprlock;
hyprlockConfig = ''
general = {
disable_loading_bar = true;
grace = 0;
hide_cursor = true;
};
# ===== Background (Glass Blur Style) =====
background = [
{
path = "screenshot"; # Uses current blurred screen
blur_passes = 3;
blur_size = 6;
noise = 0.01;
contrast = 1.2;
brightness = 0.85;
vibrancy = 0.15;
}
];
# ===== Clock =====
label = [
{
text = "$TIME";
color = "rgba(255,255,255,0.85)";
font_size = 90;
font_family = "Noto Sans";
position = "0, 180";
halign = "center";
valign = "center";
}
{
text = "$DATE";
color = "rgba(255,255,255,0.55)";
font_size = 22;
font_family = "Noto Sans";
position = "0, 120";
halign = "center";
valign = "center";
}
{
text = "cmd[echo $USER]";
color = "rgba(255,255,255,0.45)";
font_size = 20;
font_family = "Noto Sans";
position = "0, 90";
halign = "center";
valign = "center";
}
];
# ===== Password Field (Matches Window Style) =====
input-field = [
{
size = "340, 55";
outline_thickness = 2;
outer_color = "rgba(255,255,255,0.25)";
inner_color = "rgba(0,0,0,0.35)";
font_color = "rgba(255,255,255,1.0)";
dots_size = 0.3;
dots_spacing = 0.25;
dots_center = true;
fade_on_empty = false;
placeholder_text = "<span foreground='##ffffff88'>Enter Password...</span>";
position = "0, 30";
halign = "center";
valign = "center";
}
];
'';
in {
config = lib.mkIf cfg.enable {
warnings = [">>> HYPRLOCK ACTIVE <<<"];
programs.hyprlock = {
enable = true;
extraConfig = hyprlockConfig + "\n" + cfg.extraConfig;
};
};
}