Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A 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.

Inbox
ReportR-4518GitHub issuePublicReceived

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.

Received and recorded verbatim. Nothing has been checked yet.

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

looknfeel.lua: group.groupbar.indicator_height = 0 violates Hyprland's descriptor min (1) — will error once Lua range validation shipsrevision 1 · captured 2026-10-04 11:56 UTC via poll

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.