niksos/modules/gui/hypr/lock.nix

86 lines
2.8 KiB
Nix
Raw Normal View History

2024-03-19 23:45:26 +01:00
{
config,
inputs,
lib,
pkgs,
...
2024-05-05 12:38:40 +02:00
}: let
2024-03-19 23:45:26 +01:00
cfg = config.myOptions.programs.hypr.lock;
2024-04-14 18:49:29 +02:00
inherit (config.myOptions.other.system) username;
2024-03-19 23:45:26 +01:00
2024-07-24 18:47:53 +02:00
inherit (lib.modules) mkEnableOption mkIf mkOption;
2024-05-05 12:38:40 +02:00
inherit (lib.types) attrs;
2024-03-19 23:45:26 +01:00
text_color = "rgba(eae0e4FF)";
in {
options.myOptions.programs.hypr.lock = {
2024-04-05 22:59:32 +02:00
enable = mkEnableOption "hiper zamek";
2024-03-19 23:45:26 +01:00
extraSettings = mkOption {
2024-05-05 12:38:40 +02:00
type = attrs;
2024-03-19 23:45:26 +01:00
description = "extra per host hyprlock settings";
default = {};
};
};
config = mkIf cfg.enable {
2024-06-09 15:54:06 +02:00
security.pam.services.hyprlock.text = "auth include login";
2024-03-19 23:45:26 +01:00
home-manager.users.${username} = {
programs.hyprlock = {
enable = true;
package = inputs.hyprlock.packages.${pkgs.system}.hyprlock;
settings = {
general = {
hide_cursor = true;
};
background = [
{
color = "rgba(120f1177)";
path = "screenshot";
blur_size = 5;
blur_passes = 4;
}
];
2024-03-19 23:45:26 +01:00
input-field = [
{
size = "600, 50";
outline_thickness = 3;
dots_size = 0.1;
dots_spacing = 0.3;
outer_color = "rgba(9a8d9555)";
inner_color = "rgba(120f1111)";
font_color = "rgba(d1c2cbff)";
fade_on_empty = true;
position = "0, 20";
halign = "center";
valign = "center";
}
];
2024-03-19 23:45:26 +01:00
label = [
{
# clock
text = "$TIME";
color = text_color;
font_size = 65;
position = "0, 300";
halign = "center";
valign = "center";
}
{
# battery
text = "cmd[update:1000] echo \"$(cat /sys/class/power_supply/BAT0/capacity)%\"";
color = text_color;
font_size = 30;
position = "0, 200";
halign = "center";
valign = "center";
}
];
};
2024-03-19 23:45:26 +01:00
};
};
};
}