Files
quartz/content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprlock.md
Quartz Syncer 125a9b1752
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
Published multiple files
2026-02-05 09:53:27 -07:00

3.3 KiB

publish, permalink, title, created, modified, tags, cssclasses
publish permalink title created modified tags cssclasses
true /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/hyprlock.md hyprlock 2026-02-05T09:31:46.736-07:00 2026-02-05T09:35:55.743-07:00
hyprland
lockscreen
security

hyprlock is the lock screen for Hyprland with support for fingerprint authentication.

Installation

sudo pacman -S hyprlock

My Configuration

Config: ~/.config/hypr/hyprlock.conf

$font = Monospace

general {
    hide_cursor = false
}

# Fingerprint authentication
auth {
    fingerprint {
        enabled = true
        ready_message = Scan fingerprint to unlock
        present_message = Scanning...
        retry_delay = 250 # in milliseconds
    }
}

animations {
    enabled = true
    bezier = linear, 1, 1, 0, 0
    animation = fadeIn, 1, 5, linear
    animation = fadeOut, 1, 5, linear
    animation = inputFieldDots, 1, 2, linear
}

background {
    monitor =
    path = screenshot
    blur_passes = 3
}

input-field {
    monitor =
    size = 20%, 5%
    outline_thickness = 3
    inner_color = rgba(0, 0, 0, 0.0) # no fill

    outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
    check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
    fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg

    font_color = rgb(143, 143, 143)
    fade_on_empty = false
    rounding = 15

    font_family = $font
    placeholder_text = Input password...
    fail_text = $PAMFAIL

    dots_spacing = 0.3

    position = 0, -20
    halign = center
    valign = center
}

# TIME
label {
    monitor =
    text = $TIME
    font_size = 90
    font_family = $font

    position = -30, 0
    halign = right
    valign = top
}

# DATE
label {
    monitor =
    text = cmd[update:60000] date +"%A, %d %B %Y"
    font_size = 25
    font_family = $font

    position = -30, -150
    halign = right
    valign = top
}

# KEYBOARD LAYOUT
label {
    monitor =
    text = $LAYOUT[en,ru]
    font_size = 24
    onclick = hyprctl switchxkblayout all next

    position = 250, -20
    halign = center
    valign = center
}

Key Features

Fingerprint Support

Requires 10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/fprintd to be configured. The auth block enables fingerprint unlock:

auth {
    fingerprint {
        enabled = true
        ready_message = Scan fingerprint to unlock
        present_message = Scanning...
    }
}

Screenshot Background

Uses a screenshot of the current screen with blur:

background {
    path = screenshot
    blur_passes = 3
}

Gradient Border

Input field has a gradient border matching Hyprland theme:

outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg

Integration with hypridle

hypridle triggers hyprlock on idle. See 10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Hyprland Setup#Idle Management (hypridle).

Key config in ~/.config/hypr/hypridle.conf:

general {
    lock_cmd = pidof hyprlock || hyprlock  # Prevent multiple instances
    before_sleep_cmd = loginctl lock-session
}

listener {
    timeout = 300  # 5 min
    on-timeout = loginctl lock-session
}

Manual Lock

hyprlock

Or via keybind:

bind = $mainMod, L, exec, hyprlock

Shortcuts

While locked:

  • ESC — Clear password
  • Ctrl+U — Clear password
  • Ctrl+Backspace — Clear password

Resources