Files
illogical-impulse/modules/desktop/hyprland/hyprlock.nix
T
2025-08-19 18:35:27 -05:00

111 lines
3.0 KiB
Nix

{
config,
pkgs,
lib,
...
}: let
# Your variables
text_color = "rgba(FFDAD6FF)";
entry_background_color = "rgba(41000311)";
entry_border_color = "rgba(896E6C55)";
entry_color = "rgba(FFDAD6FF)";
font_family = "Rubik Light";
font_family_clock = "Rubik Light";
font_material_symbols = "Material Symbols Rounded";
in {
programs.hyprlock = {
enable = true;
settings = {
background = {
color = "rgba(181818FF)";
};
"input-field" = {
size = "250, 50";
outline_thickness = 2;
dots_size = 0.1;
dots_spacing = 0.3;
outer_color = entry_border_color;
inner_color = entry_background_color;
font_color = entry_color;
fade_on_empty = true;
position = "0, 20";
halign = "center";
valign = "center";
};
label = [
{
text = "$LAYOUT";
color = text_color;
font_size = 14;
font_family = font_family;
position = "-30, 30";
halign = "right";
valign = "bottom";
}
{
text = lib.strings.escapeNixString "cmd[update:250] ${config.xdg.configHome}/hypr/hyprlock/check-capslock.sh";
color = text_color;
font_size = 13;
font_family = font_family;
position = "0, -25";
halign = "center";
valign = "center";
}
{
text = "$TIME";
color = text_color;
font_size = 65;
font_family = font_family_clock;
position = "0, 300";
halign = "center";
valign = "center";
}
{
text = lib.strings.escapeNixString "cmd[update:5000] date +\"%A, %B %d\"";
color = text_color;
font_size = 17;
font_family = font_family_clock;
position = "0, 240";
halign = "center";
valign = "center";
}
{
text = " $USER";
color = text_color;
outline_thickness = 2;
dots_size = 0.2;
dots_spacing = 0.2;
dots_center = true;
font_size = 20;
font_family = font_family;
position = "0, 50";
halign = "center";
valign = "bottom";
}
{
text = lib.strings.escapeNixString "cmd[update:5000] ${config.xdg.configHome}/hypr/hyprlock/status.sh";
color = text_color;
font_size = 14;
font_family = font_family;
position = "30, -30";
halign = "left";
valign = "top";
}
];
};
};
home.packages = [
pkgs.hyprlock
];
home.file = {
".config/hypr/hyprlock/check-capslock.sh".source = builtins.path {
path = ./check-capslock.sh;
executable = true; # This line ensures the file is executable
};
".config/hypr/hyprlock/status.sh".source = builtins.path {
path = ./status.sh;
executable = true; # This line ensures the file is executable
};
};
}