# Hyprlock Themed Config 💫 Matching EWW general { # grace: seconds after lock is triggered during which the lock can be dismissed # without a password (e.g. accidental idle). Set to 0 to require password immediately. grace = 2 hide_cursor = true # Do not attempt authentication if the input field is empty; prevents accidental # PAM lockouts from empty-string submissions when brushing the keyboard. ignore_empty_input = true } auth { # PAM service name to use for authentication (/etc/pam.d/hyprlock). # The hyprlock PAM stack is where howdy (biometric) and FIDO2 are wired in. pam:module = hyprlock # Enable fingerprint unlock via fprintd. Works alongside the password field; # whichever succeeds first (finger or typed password) dismisses the lock. fingerprint:enabled = true } # per-monitor backgrounds written by ~/.config/scripts/wallpaper-picker source = ~/.config/hypr/hyprlock-backgrounds.conf input-field { # Empty monitor = field appears on all monitors. Name a specific output (e.g. DP-1) # to restrict the field to one screen. monitor = # Width × height in pixels of the password box. size = 300, 60 # Pixel thickness of the coloured outline drawn around the input box. outline_thickness = 4 # Dot diameter as a fraction of the input-field height (0.0–1.0). # 0.5 = dots are half the field height, giving a balanced look. dots_size = 0.5 # Gap between dots as a fraction of dot size. 0.2 adds a small breathing room. dots_spacing = 0.2 dots_center = true hide_input = false # Pango markup is supported; renders italic placeholder text. placeholder_text = Password... # Position is (x-offset, y-offset) from the anchor set by halign/valign. # 20% pushes the field 20% of screen height above the bottom edge. position = 0, 20% halign = center valign = bottom # Accent border & color matching EWW # Dark near-black fill so text/dots are readable against any wallpaper. inner_color = rgb(1a1a1a) font_color = rgb(b0b4bc) font_family = Agave Nerd Font Mono } # DATE label { # cmd[update:N] re-runs the command every N milliseconds and replaces the label text. # 18000000 ms = 5 hours — the date only changes once a day, so this is generous. text = cmd[update:18000000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/date.sh color = rgb(5018dd) font_size = 34 font_family = Agave Nerd Font Mono # position = (x-offset, y-offset) from the halign/valign anchor. # 0, 40% = horizontally centred, 40% of screen height above the screen centre. position = 0, 40% halign = center valign = center } # TIME label { # update:1000 = refresh every second so the clock ticks in real time. text = cmd[update:1000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/time.sh color = rgb(E40046) # Large font makes the time the dominant visual element on the lock screen. font_size = 95 font_family = Agave Nerd Font Mono # 25% above centre keeps the time above the input field while staying mid-screen. position = 0, 25% halign = center valign = center } # USER label { text =  $USER color = rgb(5018dd) font_size = 18 font_family = Agave Nerd Font Mono position = 0, 10% halign = center valign = bottom } # UPTIME label { text = cmd[update:60000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/uptime.sh font_size = 24 color = rgb(5018dd) font_family = Agave Nerd Font Mono position = 0, 0 halign = right valign = bottom } # BATTERY label { text = cmd[update:10000] sh ~/Dotfiles/desktopenvs/hyprland/scripts/batteryperc color = rgb(5018dd) font_size = 24 font_family = Agave Nerd Font Mono position = 50, 0 halign = left valign = bottom } # PROFILE PICTURE OR LOGO image { path = ~/Pictures/profile.jpg size = 230 rounding = 110 border_size = 4 border_color = rgb(5018dd) rotate = 0 position = 0, 40% halign = center valign = bottom }