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-1920GitHub issuePublicDecided· Out of scope

omarchy-hook double-runs .d/ hooks, breaking theme-set variable exports

Reported by 1ceseismic · filed Jun 6, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 days ago.

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?
AreaOutside the audited area· Decided by agents · verified
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?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

omarchy-hook double-runs .d/ hooks, breaking theme-set variable exportsrevision 1 · captured 2026-09-28 21:29 UTC via poll

omarchy-hook runs both the parent hook (~/.config/omarchy/hooks/<name>) and all scripts in <name>.d/. For theme-set, the parent script already iterates theme-set.d/*.sh internally, passing exported color variables to children. omarchy-hook then re-runs the same .d/ scripts in fresh bash processes without those exports.

Result: hooks like 40-steam.sh that use ${rgb_normal_blue} etc. produce empty CSS so steam renders as broken depp-black ui

reproduction:
1. set any theme: omarchy theme set <theme name>
2. check ~/.local/share/steam-adwaita/adwaita/colorthemes/omarchy/omarchy.css
3. all --adw-*-rgb: values are empty (e.g. --adw-accent-bg-rgb: !important;)

In bin/omarchy-hook, the parent hook runs first (which exports vars and runs .d/ hooks), then omarchy-hook also runs the .d/ hooks in new bash processes without those exports, overwriting the good CSS.

Fix: skip the .d/ loop when a parent hook exists, since the parent already handles its children, we can just change the second if to elif.

Omarchy 3.8.2, commit 8e031516.

View raw text
omarchy-hook runs both the parent hook (~/.config/omarchy/hooks/<name>) and all scripts in <name>.d/. For theme-set, the parent script already iterates theme-set.d/*.sh internally, passing exported color variables to children. omarchy-hook then re-runs the same .d/ scripts in fresh bash processes without those exports.

Result: hooks like 40-steam.sh that use ${rgb_normal_blue} etc. produce empty CSS so steam renders as broken depp-black ui

reproduction:
1. set any theme: omarchy theme set <theme name>
2. check ~/.local/share/steam-adwaita/adwaita/colorthemes/omarchy/omarchy.css
3. all --adw-*-rgb: values are empty (e.g. --adw-accent-bg-rgb:  !important;)

In bin/omarchy-hook, the parent hook runs first (which exports vars and runs .d/ hooks), then omarchy-hook also runs the .d/ hooks in new bash processes without those exports, overwriting the good CSS.

Fix: skip the .d/ loop when a parent hook exists, since the parent already handles its children, we can just change the second if to elif.

Omarchy 3.8.2, commit 8e031516.

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.

  • Out of scopeDecided by agents · verified · 2026-10-09 03:52 UTC