{ lib, pkgs, config, ... }: let cfg = config.profile.hyprland; in { config = lib.mkIf cfg.enable { programs.hyprlock = { enable = true; settings = { general = { ignore_empty_input = true; }; background = { monitor = ""; path = "${config.home.homeDirectory}/.cache/wallpaper/blurred.png"; }; input-field = { monitor = ""; size = "200, 50"; outline_thickness = 3; dots_size = 0.33; dots_spacing = 0.15; dots_center = true; dots_rounding = -1; outer_color = "rgb(151515)"; inner_color = "rgb(FFFFFF)"; font_color = "rgb(10, 10, 10)"; fade_on_empty = false; fade_timeout = 1000; placeholder_text = "Input Password..."; hide_input = false; rounding = -1; check_color = "rgb(204, 136, 34)"; fail_color = "rgb(204, 34, 34)"; fail_text = "$FAIL ($ATTEMPTS)"; fail_transition = 300; capslock_color = -1; numlock_color = -1; bothlock_color = -1; invert_numlock = false; swap_font_color = false; position = "0, -20"; halign = "center"; valign = "center"; }; label = [ { monitor = ""; text = "cmd[update:1000] echo \"$TIME\""; color = "rgba(200, 200, 200, 1.0)"; font_size = 55; font_family = "Fira Semibold"; position = "-100, 75"; halign = "right"; valign = "bottom"; shadow_passes = 5; shadow_size = 10; } { monitor = ""; text = "${config.profile.user.fullName}"; color = "rgba(200, 200, 200, 1.0)"; font_size = 20; font_family = "Fira Semibold"; position = "-100, 160"; halign = "right"; valign = "bottom"; shadow_passes = 5; shadow_size = 10; } ]; image = { monitor = ""; path = "${config.home.homeDirectory}/.cache/wallpaper/square.png"; size = 280; rounding = -1; border_size = 4; border_color = "rgb(221, 221, 221)"; rotate = 0; reload_time = -1; position = "0, 200"; halign = "center"; valign = "center"; }; }; }; }; }