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.
Most themes missing hyprland.conf, causing globbing error on every theme except Kanagawa
Reported by jaded423 · filed Mar 16, 2026Closed upstream on 2026-03-26 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.
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
Problem
default/hypr/hyprland.conf line 13 sources a theme-specific config:
source = ~/.config/omarchy/current/theme/hyprland.confBut only 1 of 17 bundled themes (kanagawa) actually ships a hyprland.conf. Selecting any other theme produces:
Config error in file /home/jaded/.config/hypr/hyprland.conf at line 13: source= globbing error: found no matchThis has come up before (#4132, #2971, #1116) but was closed without addressing the root cause.
Why it happens
The kanagawa theme uses hyprland.conf for a theme-specific opacity override:
# Kanagawa backdrop is too strong for detault opacity
windowrule = opacity 0.98 0.95, match:tag terminalThis is the intended use — themes that need Hyprland overrides can provide them. But themes that don't need overrides still need an empty file present, since Hyprland's source = directive errors when the target doesn't exist (there's no optional sourcing).
Suggested fix
Add an empty hyprland.conf to the 15 themes that are missing one:
catppuccin, catppuccin-latte, ethereal, everforest, flexoki-light,
gruvbox, hackerman, matte-black, miasma, nord, osaka-jade,
ristretto, rose-pine, tokyo-night, vantablack, whiteOne-liner:
for theme in themes/*/; do [ ! -f "$theme/hyprland.conf" ] && touch "$theme/hyprland.conf"; doneView raw text
## Problem `default/hypr/hyprland.conf` line 13 sources a theme-specific config: ``` source = ~/.config/omarchy/current/theme/hyprland.conf ``` But only 1 of 17 bundled themes (`kanagawa`) actually ships a `hyprland.conf`. Selecting any other theme produces: ``` Config error in file /home/jaded/.config/hypr/hyprland.conf at line 13: source= globbing error: found no match ``` This has come up before (#4132, #2971, #1116) but was closed without addressing the root cause. ## Why it happens The `kanagawa` theme uses `hyprland.conf` for a theme-specific opacity override: ``` # Kanagawa backdrop is too strong for detault opacity windowrule = opacity 0.98 0.95, match:tag terminal ``` This is the intended use — themes that need Hyprland overrides can provide them. But themes that don't need overrides still need an empty file present, since Hyprland's `source =` directive errors when the target doesn't exist (there's no optional sourcing). ## Suggested fix Add an empty `hyprland.conf` to the 15 themes that are missing one: ``` catppuccin, catppuccin-latte, ethereal, everforest, flexoki-light, gruvbox, hackerman, matte-black, miasma, nord, osaka-jade, ristretto, rose-pine, tokyo-night, vantablack, white ``` One-liner: ```bash for theme in themes/*/; do [ ! -f "$theme/hyprland.conf" ] && touch "$theme/hyprland.conf"; done ```
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.