From 06a503e7cdbb2adf8ef864fc44930ade0eaf999c Mon Sep 17 00:00:00 2001 From: Myned Date: Mon, 10 Mar 2025 18:17:44 -0500 Subject: [PATCH] hyprlock: update config Signed-off-by: Myned --- options/custom/programs/hyprlock.nix | 175 ++++++++++++++------------- 1 file changed, 91 insertions(+), 84 deletions(-) diff --git a/options/custom/programs/hyprlock.nix b/options/custom/programs/hyprlock.nix index e004bf9..68cc410 100644 --- a/options/custom/programs/hyprlock.nix +++ b/options/custom/programs/hyprlock.nix @@ -6,95 +6,102 @@ with lib; let cfg = config.custom.programs.hyprlock; in { - options.custom.programs.hyprlock.enable = mkOption {default = false;}; + options.custom.programs.hyprlock = { + enable = mkOption {default = false;}; + }; config = mkIf cfg.enable { programs.hyprlock.enable = true; # Grant PAM access - # https://github.com/hyprwm/hyprlock - home-manager.users.${config.custom.username}.programs.hyprlock = { - enable = true; + home-manager.sharedModules = [ + { + # https://github.com/hyprwm/hyprlock + programs.hyprlock = { + enable = true; - # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock - # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlang/#comments - settings = { - general = { - disable_loading_bar = true; - enable_fingerprint = true; # Enter not required - fingerprint_present_message = "󰈷"; - fingerprint_ready_message = "󰈷"; - #// grace = 60; # Seconds - #// hide_cursor = true; - #// ignore_empty_input = true; - immediate_render = true; - no_fade_in = true; # Fix suspend interrupting animation + # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock + settings = { + # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general + general = { + disable_loading_bar = true; + #// grace = 60; # Seconds + #// hide_cursor = true; + #// ignore_empty_input = true; + immediate_render = true; + }; + + # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#authentication + auth = { + "fingerprint:enabled" = true; + "fingerprint:present_message" = "󰈷"; + "fingerprint:ready_message" = "󰈷"; + }; + + # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#background + background = { + blur_passes = 5; + color = "rgb(073642)"; # Fallback + path = mkIf config.custom.wallpaper "/tmp/wallpaper.png"; + }; + + # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#input-field + input-field = { + capslock_color = "rgb(cb4b16)"; + check_color = "rgb(859900)"; + fade_on_empty = false; + fade_timeout = 0; + fail_color = "rgb(dc322f)"; + fail_text = ""; + font_color = "rgb(eee8d5)"; + inner_color = "rgb(002b36)"; + outer_color = "rgb(d33682)"; + outline_thickness = 3; + placeholder_text = ""; + position = "0, 0"; + size = "500, 50"; + }; + + # https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#label + label = [ + { + # Time + color = "rgb(fdf6e3)"; + font_family = "monospace"; + font_size = 64; + halign = "center"; + position = "0, 200"; + text = "$TIME12"; + text_align = "center"; + valign = "center"; + } + + { + # Date + color = "rgb(eee8d5)"; + font_family = "monospace"; + font_size = 32; + halign = "center"; + position = "0, 100"; + text = ''cmd[update:60000] echo "$(date +'%a %b %d')"''; # Sun Jan 01 + text_align = "center"; + valign = "center"; + } + + { + # Fingerprint + color = "rgb(eee8d5)"; + font_family = "monospace"; + font_size = 42; + halign = "center"; + position = "0, -100"; + text = "$FPRINTPROMPT"; + text_align = "center"; + valign = "center"; + } + ]; + }; }; - - background = { - blur_passes = 5; - color = "rgb(073642)"; # Fallback - path = mkIf config.custom.wallpaper "/tmp/wallpaper.png"; - }; - - input-field = { - capslock_color = "rgb(cb4b16)"; - check_color = "rgb(859900)"; - fade_on_empty = false; - fade_timeout = 0; - fail_color = "rgb(dc322f)"; - fail_text = ""; - font_color = "rgb(93a1a1)"; - inner_color = "rgb(002b36)"; - outer_color = "rgb(d33682)"; - outline_thickness = 3; - placeholder_text = ""; - position = "0, 0"; - size = "500, 50"; - }; - - label = [ - # Time - { - color = "rgb(93a1a1)"; - font_family = config.custom.settings.fonts.sans-serif; - font_size = 64; - halign = "center"; - position = "0, 200"; - - # BUG: Noon displayed as 00:00, fixed > v0.5.0 - # https://github.com/hyprwm/hyprlock/issues/552 - #// text = "$TIME12"; - text = ''cmd[update:1000] echo "$(date +'%I:%M %p')"''; # 12:00 AM - - text_align = "center"; - valign = "center"; - } - - # Date - { - color = "rgb(93a1a1)"; - font_family = config.custom.settings.fonts.sans-serif; - font_size = 32; - halign = "center"; - position = "0, 100"; - text = ''cmd[update:60000] echo "$(date +'%a %b %d')"''; # Sun Jan 01 - text_align = "center"; - valign = "center"; - } - - # Fingerprint - { - color = "rgb(93a1a1)"; - font_family = config.custom.settings.fonts.monospace; - font_size = 42; - halign = "center"; - position = "0, -100"; - text = "$FPRINTMESSAGE"; - text_align = "center"; - valign = "center"; - } - ]; - }; - }; + } + ]; }; }