Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
looknfeel.lua: group.groupbar.indicator_height = 0 violates Hyprland's descriptor min (1) — will error once Lua range validation ships
Reported by zicochaos · filed Jul 30, 2026Closed upstream on 2026-07-30 by commit 283276bec09a (closed by dhh). GitHub close reason: completed.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
Summary
default/hypr/looknfeel.lua sets group.groupbar.indicator_height = 0, but Hyprland's config descriptor for group:groupbar:indicator_height declares min = 1 (src/config/values/ConfigValues.cpp). Today this passes silently because values set via Lua are not range-checked. Hyprland main now enforces it, so the same config will error as soon as Arch ships a Hyprland built from current main.
Evidence
Hyprland commit 2b1723adda7da821bb503ef4de7abb42d746ac51 ("config/lua: fix forwarding of details to lua values", hyprwm/Hyprland#15651) forwards descriptor details — including min/max ranges — to Lua-set values. With that commit, loading omarchy's vendored looknfeel.lua produces a config error on the running session:
.../default/hypr/looknfeel.lua:6: error setting 'group.groupbar.indicator_height': value 0 is less than the minimum of 1(line 6 = the hl.config({ ... }) block containing groupbar; the offending value is indicator_height = 0 at line 45.)
The descriptor's min = 1 is not new — only the Lua-side enforcement is. Hyprland 0.56.1 (current Arch package) does not include the fix, so omarchy on Arch is unaffected today; this will surface with the first Hyprland release cut from current main (0.56.2+).
Side effect when rejected: indicator_height falls back to the descriptor default (3), so the groupbar indicator becomes visible where omarchy intends it hidden.
How we found it
Our NixOS port (omarchy-nix) tracks Hyprland main; its VM test asserts hyprctl configerrors is empty on the live session and caught this after bumping Hyprland past 2b1723adda.
Suggested fix
indicator_height = 1 — the closest valid value to the "no visible indicator" intent (1px). If hidden-indicator is meant to be a supported configuration, the alternative is asking Hyprland to relax the descriptor min to 0.
We're carrying a 0 → 1 substitution downstream in the meantime.
View raw text
## Summary
`default/hypr/looknfeel.lua` sets `group.groupbar.indicator_height = 0`, but Hyprland's config descriptor for `group:groupbar:indicator_height` declares `min = 1` (`src/config/values/ConfigValues.cpp`). Today this passes silently because values set via Lua are not range-checked. Hyprland main now enforces it, so the same config will error as soon as Arch ships a Hyprland built from current main.
## Evidence
Hyprland commit `2b1723adda7da821bb503ef4de7abb42d746ac51` ("config/lua: fix forwarding of details to lua values", hyprwm/Hyprland#15651) forwards descriptor details — including min/max ranges — to Lua-set values. With that commit, loading omarchy's vendored `looknfeel.lua` produces a config error on the running session:
```
.../default/hypr/looknfeel.lua:6: error setting 'group.groupbar.indicator_height': value 0 is less than the minimum of 1
```
(line 6 = the `hl.config({ ... })` block containing `groupbar`; the offending value is `indicator_height = 0` at line 45.)
The descriptor's `min = 1` is not new — only the Lua-side enforcement is. Hyprland 0.56.1 (current Arch package) does not include the fix, so omarchy on Arch is unaffected today; this will surface with the first Hyprland release cut from current main (0.56.2+).
Side effect when rejected: `indicator_height` falls back to the descriptor default (3), so the groupbar indicator becomes visible where omarchy intends it hidden.
## How we found it
Our NixOS port (omarchy-nix) tracks Hyprland main; its VM test asserts `hyprctl configerrors` is empty on the live session and caught this after bumping Hyprland past `2b1723adda`.
## Suggested fix
`indicator_height = 1` — the closest valid value to the "no visible indicator" intent (1px). If hidden-indicator is meant to be a supported configuration, the alternative is asking Hyprland to relax the descriptor min to 0.
We're carrying a 0 → 1 substitution downstream in the meantime.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.