Supersedes the old flat .config/ layout (last published 2026-06-28) with the private repo's structure: one shared base plus per-host overlays. - packages: common/ gui/ lw/ fl/ wm/ plus install.sh and bin/ tooling (dotsync, reconcile-hyde.sh) - new README covering the layout, deploy order and the HyDE dependency - current HyDE waybar rig (layouts/, cava), pi agent extensions, claude/ config, tmux, presenterm, aichat roles - fish: kp (keepassxc-cli + fzf picker, db path from $KP_DB) and bind_M_n_history (alt+1..9 recalls the nth history entry) - drops cruft that should never have been tracked: the duplicate top-level .pi/ copy, btop.log, zellij config.kdl.bak, fish_variables - .pi/agent/auth.json is gitignored; auth.json.example ships instead Host-specific work sessions and the personal backlog stay in the private tree. Endpoint locators in the llamacpp/whisper guides are placeholders ($SERVER, <own-domain>) — the guides themselves stay, since they are the useful part.
196 lines
6.5 KiB
Plaintext
196 lines
6.5 KiB
Plaintext
#! █░█ █▄█ █▀█ █▀█ █░░ █▀█ █▀▀ █▄▀
|
|
#! █▀█ ░█░ █▀▀ █▀▄ █▄▄ █▄█ █▄▄ █░█
|
|
|
|
#* Hyprlock Configuration File
|
|
|
|
# Everything is anchored to the CENTRE (only the two bottom-corner labels use valign), in this
|
|
# order top to bottom: uptime, greeting, logo, input field, clock, date. The offsets spread the
|
|
# content out to the top and bottom edges. Centre-anchoring is deliberate: an earlier pass used
|
|
# TOP/BOTTOM valign bands and silently reordered the clock and date, putting the date above the
|
|
# clock and the clock half off the bottom edge — don't reintroduce that.
|
|
# Every `position` and `size` is a percentage (hyprlock accepts them: both are LAYOUTCONFIG
|
|
# values), so the arrangement scales instead of being the fixed pixel offsets it once was.
|
|
# The percentages are the old pixel offsets expressed against a 1080-tall screen.
|
|
#
|
|
# `font_size` and `image:size` are plain ints in hyprlock 0.9.6 and cannot take a
|
|
# percentage, so they can't scale on their own. They're hoisted into the variables below:
|
|
# retune those few numbers for a very different screen (they are tuned for wm, 3072x1728 logical),
|
|
# or `source` a per-host file that redefines them, as kitty.conf does with host.conf.
|
|
#
|
|
# Coordinates: +x is right, +y is UP — so centre-anchored, a positive y sits above centre.
|
|
# (For the two bottom-corner labels, valign = bottom means positive y moves up from it.)
|
|
|
|
$fontColor = rgba(255,255,255,0.5)
|
|
$fontFamily = SourceCodeVF ExtraBold
|
|
$timeFontFamily = Cantarell ExtraBold
|
|
|
|
# Type scale — tuned for wm's 3072x1728 logical screen (this file is shared with lw —
|
|
# see ToDo.md). Since these can't be
|
|
# percentages, they are the one thing to retune on a very different display: they are
|
|
# roughly clock 13%, date 2.5%, meta 1.5% of screen height.
|
|
$fsClock = 220
|
|
$fsDate = 44
|
|
$fsMeta = 26
|
|
$fsSmall = 24
|
|
$fsIcon = 40
|
|
$logoSize = 280
|
|
|
|
# Vertical positions — % of screen height from centre, + is up. Order top to bottom: uptime,
|
|
# greet, logo, input, clock, date. Deliberately pushed OUT to the edges: uptime/greet ride near
|
|
# the top, clock/date near the bottom, leaving logo + input as the only things near the middle.
|
|
# Anchored to centre rather than valign top/bottom on purpose — an earlier pass used bands and
|
|
# silently reordered the clock and date (see the header). Percentages scale, and because each
|
|
# host's font sizes are set to the same *proportion* of its screen (clock ~12.8% of height on
|
|
# both), one set of offsets gives both hosts the same layout — hence no per-host override here
|
|
# by default. Add $y* to hyprlock-host.conf if a host ever needs to differ.
|
|
$yUptime = 45%
|
|
$yGreet = 41%
|
|
$yLogo = 12%
|
|
$yInput = -5%
|
|
$yClock = -30%
|
|
$yDate = -42%
|
|
|
|
# Per-host override for the six sizes above. They are ints, not percentages, so they are the
|
|
# one thing that cannot scale itself — a host with a different panel redefines whichever it
|
|
# needs here, and everything below picks up the new value (hyprlang expands in file order).
|
|
# Shipped empty in gui/ so this always resolves even mid-install, before a host overlay is
|
|
# stowed — same idiom, and same reason, as hypr/host.conf.
|
|
source = ~/.config/hypr/hyprlock-host.conf
|
|
|
|
general {
|
|
ignore_empty_input = true
|
|
text_trim = true
|
|
}
|
|
# Dropped as of hyprlock 0.9.6 — it rejected all four as "config option does not exist"
|
|
# and carried on without them, so they never took effect:
|
|
# no_fade_in / fade_in_time -> fade-in is CLI-only now: lockscreen.sh --no-fade-in
|
|
# grade, disable_loading_bar -> no equivalent
|
|
|
|
background {
|
|
monitor =
|
|
path = ~/.config/hypr/hyprlock/assets/background.jpg
|
|
# Heavier blur than you'd expect: the wallpaper has "open source" set across its
|
|
# middle, which otherwise reads as text competing with the clock sitting on top of it.
|
|
blur_passes = 3
|
|
blur_size = 6
|
|
contrast = 0.7
|
|
brightness = 0.38
|
|
vibrancy = 0.15
|
|
vibrancy_darkness = 0.5
|
|
}
|
|
|
|
|
|
# // ▀█▀ █▀█ █▀█
|
|
# // ░█░ █▄█ █▀▀
|
|
|
|
# uptime
|
|
label {
|
|
monitor =
|
|
text = cmd[update:5000] echo "<span alpha='40%'>$(uptime -p)</span>"
|
|
color = $fontColor
|
|
font_family = $fontFamily
|
|
font_size = $fsMeta
|
|
position = 0, $yUptime
|
|
halign = center
|
|
valign = center
|
|
}
|
|
|
|
# greeting / weather
|
|
label {
|
|
monitor =
|
|
text = cmd[update:300000] echo "<span alpha='50%'>$(cat ~/.config/fish/greet.txt)</span>"
|
|
color = $fontColor
|
|
font_family = $fontFamily
|
|
font_size = $fsSmall
|
|
position = 0, $yGreet
|
|
halign = center
|
|
valign = center
|
|
}
|
|
|
|
|
|
# // █▀▄▀█ █ █▀▄ █▀▄ █░░ █▀▀
|
|
# // █░▀░█ █ █▄▀ █▄▀ █▄▄ ██▄
|
|
|
|
image {
|
|
monitor =
|
|
path = ~/.config/hypr/hyprlock/assets/logo.jpg
|
|
size = $logoSize
|
|
position = 0, $yLogo
|
|
halign = center
|
|
valign = center
|
|
reload_time = -1
|
|
reload_cmd =
|
|
}
|
|
|
|
input-field {
|
|
monitor =
|
|
size = 20%, 5%
|
|
position = 0, $yInput
|
|
halign = center
|
|
valign = center
|
|
outline_thickness = 3
|
|
dots_size = 0.08
|
|
dots_spacing = 0.2
|
|
dots_center = true
|
|
outer_color = rgba(0,0,0,0.1)
|
|
inner_color = $fontColor
|
|
fade_on_empty = true
|
|
}
|
|
|
|
|
|
# // █▄▄ █▀█ ▀█▀ ▀█▀ █▀█ █▀▄▀█
|
|
# // █▄█ █▄█ ░█░ ░█░ █▄█ █░▀░█
|
|
|
|
# date — sits BELOW the clock (-28% vs the clock's -17%), as it did before the band rewrite.
|
|
label {
|
|
monitor =
|
|
text = cmd[update:1000] echo "<span alpha='50%'>$(LC_TIME=en_US.UTF-8 date +'%A, %B %d')</span>"
|
|
color = $fontColor
|
|
font_family = $fontFamily
|
|
font_size = $fsDate
|
|
position = 0, $yDate
|
|
halign = center
|
|
valign = center
|
|
}
|
|
|
|
# clock — 17% below centre, directly under the input field, with the date below it. Centre-
|
|
# anchored, so y is the box's CENTRE and the glyphs grow both ways from it; budget for that
|
|
# when changing $fsClock, which is by far the tallest text here.
|
|
label {
|
|
monitor =
|
|
text = cmd[update:1000] echo "<span alpha='50%'>$(date +"%H:%M")</span>"
|
|
color = $fontColor
|
|
font_family = $timeFontFamily
|
|
font_size = $fsClock
|
|
position = 0, $yClock
|
|
halign = center
|
|
valign = center
|
|
shadow_passes = 1
|
|
shadow_size = 1
|
|
shadow_color = rgba(0, 0, 0, 0.5)
|
|
}
|
|
|
|
# power
|
|
label {
|
|
monitor =
|
|
text = cmd[] echo "<span alpha='50%'>⏻ </span>"
|
|
color = $fontColor
|
|
font_size = $fsIcon
|
|
onclick = systemctl poweroff
|
|
position = 3%, 3%
|
|
halign = left
|
|
valign = bottom
|
|
}
|
|
|
|
# battery (prints nothing on a desktop)
|
|
label {
|
|
monitor =
|
|
text = cmd[update:1000] echo -e "<span alpha='50%'>$(~/.config/hypr/battery.sh)</span>"
|
|
color = $fontColor
|
|
font_family = $fontFamily
|
|
font_size = $fsSmall
|
|
position = -3%, 3%
|
|
halign = right
|
|
valign = bottom
|
|
}
|