{ config, lib, ... }: let fg = "rgb(${config.theme.colors.fg})"; bg = "rgb(${config.theme.colors.bg})"; error = "rgb(${config.theme.colors.error})"; trans = "rgba(0,0,0,0)"; in { default.lockScreen = lib.mkDefault "hyprlock"; home-manager.users.${config.user} = { programs.hyprlock = { enable = true; settings = { background = { path = config.theme.lockscreen; color = bg; blur_passes = 0; blur_size = 2; noise = 0; contrast = 0; brightness = 0; vibrancy = 0; vibrancy_darkness = 0.0; }; # Password Input input-field = { size = "300, 30"; outline_thickness = 0; dots_size = 0.25; dots_spacing = 0.55; dots_center = true; dots_rounding = -1; outer_color = trans; inner_color = trans; font_color = fg; fade_on_empty = false; placeholder_text = "Enter Password"; hide_input = false; check_color = error; fail_color = error; capslock_color = -1; numlock_color = -1; bothlock_color = -1; invert_numlock = false; swap_font_color = false; font_family = config.theme.font.regular; position = "0, 50"; halign = "center"; valign = "bottom"; }; label = [ # Date { text = "cmd[update:1000] echo \"$(date +\"%A, %B %d\")\""; color = fg; font_size = 20; font_family = config.theme.font.header; position = "0, -100"; halign = "center"; valign = "top"; } # Clock { text = "cmd[update:1000] echo \"$(date +\"%k:%M:%S\")\""; color = fg; font_size = 90; font_family = config.theme.font.header; position = "0, -130"; halign = "center"; valign = "top"; } ]; }; }; }; }