ooknet/modules/home/workstation/hyprland/components/hyprlock.nix

66 lines
1.5 KiB
Nix

{
lib,
osConfig,
inputs',
hozen,
...
}: let
inherit (osConfig.ooknet.appearance) fonts;
inherit (osConfig.ooknet.workstation) environment;
inherit (osConfig.ooknet.hardware) primaryMonitor;
inherit (hozen) color;
inherit (lib) mkIf;
in {
config = mkIf (environment == "hyprland") {
ooknet.binds.lock = "loginctl lock-session";
programs.hyprlock = {
enable = true;
package = inputs'.hyprlock.packages.default;
settings = {
enable = true;
general = {
disable_loading_bar = true;
hide_cursor = true;
no_fade_in = true;
no_fade_out = true;
};
background = {
monitor = "";
path = "";
color = "0xff${color.layout.body}";
};
input-field = {
monitor = primaryMonitor;
size = "200, 30";
position = "0, 0";
outline_thickness = 2;
dots_spacing = 0.3;
dots_rounding = 0;
rounding = 0;
fade_on_empty = false;
placeholder_text = "";
outer_color = "0xff${color.secondary.base}";
inner_color = "0xff${color.layout.menu}";
font_color = "0xff${color.typography.text}";
};
label = {
monitor = primaryMonitor;
text = "LOCKED";
position = "0, 150";
valign = "center";
halign = "center";
color = "0xff${color.red.base}";
font_size = 30;
font_family = "${fonts.monospace.family}";
};
};
};
};
}