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.
Temporary passwordless sudo always fails: 05-omarchy-passwordless-revoke.hook is never installed by packaging
Reported by DHerrmannP · filed Oct 9, 2026 · open at source
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 version
omarchy-dev 4.0.0.r6815.g50d687a-1 (omarchy-settings-dev same rev). Also reproduced by inspection against omacom/omarchy-pkgs HEAD — pkgbuilds/omarchy/PKGBUILD and pkgbuilds/omarchy-dev/PKGBUILD are identical here, so the stable channel is affected too.
CPU / GPU
- CPU: Intel Core Ultra 7 165H (Meteor Lake), x86_64
- GPU: Intel Arc Graphics (MTL), i915
- Machine: Star Labs StarBook v1.0
- Kernel: 7.2.8-5-omarchy-bore
Description
Enabling temporary passwordless sudo fails on a fresh Omarchy install with:
$ omarchy sudo passwordless # (or omarchy-sudo-passwordless 15)
Temporary sudo cleanup is unavailable or a settings package transaction is incomplete. Check the omarchy-settings installation.
Could not enable passwordless sudo. Check existing sudoers policy and cleanup support./usr/bin/omarchy-sudo-passwordless requires /usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook to exist (with exact content) in verify_boot_cleanup before it will publish any timed grant — that hook is what revokes temporary grants before omarchy-settings package transactions, but no package ever installs it:
$ pacman -Ql omarchy-dev | grep /usr/share/libalpm/hooks
omarchy-dev /usr/share/libalpm/hooks/
omarchy-dev /usr/share/libalpm/hooks/00-omarchy-update-guard.hook
omarchy-dev /usr/share/libalpm/hooks/10-omarchy-hyprland-reload-pause.hook
omarchy-dev /usr/share/libalpm/hooks/90-omarchy-hyprland-reload-resume.hookThe template is shipped (via omarchy-settings-dev, for reference distribution only):
$ ls /usr/share/omarchy/default/libalpm/hooks/
00-omarchy-update-guard.hook
05-omarchy-passwordless-revoke.hook
10-omarchy-hyprland-reload-pause.hook
90-omarchy-hyprland-reload-resume.hookPermanent mode ("Permanently") does not touch this path and works; only timed-grant mode is broken.
Steps to Reproduce
- Run
omarchy sudo passwordless - Choose any duration ("15 minutes", "1 Hour", "1 Day")
- Enter the sudo password
Expected behavior
The timed grant publishes (/etc/sudoers.d/99-omarchy-nopasswd-<uid>, NOTAFTER=...), a systemd expiry timer is armed, the bar indicator lights up.
Actual behavior
verify_boot_cleanup fails because /usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook does not exist; no grant is created.
Root cause
pkgbuilds/omarchy/PKGBUILD (same lines in pkgbuilds/omarchy-dev/PKGBUILD) installs only three of the four default/libalpm/hooks/ templates:
install -Dm644 default/libalpm/hooks/00-omarchy-update-guard.hook "$pkgdir/usr/share/libalpm/hooks/00-omarchy-update-guard.hook"
install -Dm644 default/libalpm/hooks/10-omarchy-hyprland-reload-pause.hook "$pkgdir/usr/share/libalpm/hooks/10-omarchy-hyprland-reload-pause.hook"
install -Dm644 default/libalpm/hooks/90-omarchy-hyprland-reload-resume.hook "$pkgdir/usr/share/libalpm/hooks/90-omarchy-hyprland-reload-resume.hook"bin/omarchy-sudo-passwordless — shipped by the same package — hard-requires the fourth (05-omarchy-passwordless-revoke.hook) with exact content for any timed grant, so every temporary-enable is unreachable for someone who doesn't debug the helper source.
Suggested fix
Add the missing install line to the omarchy / omarchy-dev PKGBUILDs:
install -Dm644 default/libalpm/hooks/05-omarchy-passwordless-revoke.hook "$pkgdir/usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook"Local workaround (applied)
sudo install -m 644 \
/usr/share/omarchy/default/libalpm/hooks/05-omarchy-passwordless-revoke.hook \
/usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hookAfterwards omarchy sudo passwordless (15 min) works: grant published with NOTAFTER, expiry timer armed, bar indicator and toggle behave correctly in both directions.
Diagnostics available on request (omarchy debug --no-sudo --print log).
View raw text
### Omarchy version
`omarchy-dev 4.0.0.r6815.g50d687a-1` (omarchy-settings-dev same rev). Also reproduced by inspection against `omacom/omarchy-pkgs` HEAD — `pkgbuilds/omarchy/PKGBUILD` and `pkgbuilds/omarchy-dev/PKGBUILD` are identical here, so the stable channel is affected too.
### CPU / GPU
- CPU: Intel Core Ultra 7 165H (Meteor Lake), x86_64
- GPU: Intel Arc Graphics (MTL), i915
- Machine: Star Labs StarBook v1.0
- Kernel: 7.2.8-5-omarchy-bore
### Description
Enabling *temporary* passwordless sudo fails on a fresh Omarchy install with:
```
$ omarchy sudo passwordless # (or omarchy-sudo-passwordless 15)
Temporary sudo cleanup is unavailable or a settings package transaction is incomplete. Check the omarchy-settings installation.
Could not enable passwordless sudo. Check existing sudoers policy and cleanup support.
```
`/usr/bin/omarchy-sudo-passwordless` requires `/usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook` to exist (with exact content) in `verify_boot_cleanup` before it will publish any timed grant — that hook is what revokes temporary grants before `omarchy-settings` package transactions, but **no package ever installs it**:
```
$ pacman -Ql omarchy-dev | grep /usr/share/libalpm/hooks
omarchy-dev /usr/share/libalpm/hooks/
omarchy-dev /usr/share/libalpm/hooks/00-omarchy-update-guard.hook
omarchy-dev /usr/share/libalpm/hooks/10-omarchy-hyprland-reload-pause.hook
omarchy-dev /usr/share/libalpm/hooks/90-omarchy-hyprland-reload-resume.hook
```
The template *is* shipped (via `omarchy-settings-dev`, for reference distribution only):
```
$ ls /usr/share/omarchy/default/libalpm/hooks/
00-omarchy-update-guard.hook
05-omarchy-passwordless-revoke.hook
10-omarchy-hyprland-reload-pause.hook
90-omarchy-hyprland-reload-resume.hook
```
Permanent mode ("Permanently") does not touch this path and works; only timed-grant mode is broken.
### Steps to Reproduce
1. Run `omarchy sudo passwordless`
2. Choose any duration ("15 minutes", "1 Hour", "1 Day")
3. Enter the sudo password
### Expected behavior
The timed grant publishes (`/etc/sudoers.d/99-omarchy-nopasswd-<uid>`, `NOTAFTER=...`), a systemd expiry timer is armed, the bar indicator lights up.
### Actual behavior
`verify_boot_cleanup` fails because `/usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook` does not exist; no grant is created.
### Root cause
`pkgbuilds/omarchy/PKGBUILD` (same lines in `pkgbuilds/omarchy-dev/PKGBUILD`) installs only three of the four `default/libalpm/hooks/` templates:
```bash
install -Dm644 default/libalpm/hooks/00-omarchy-update-guard.hook "$pkgdir/usr/share/libalpm/hooks/00-omarchy-update-guard.hook"
install -Dm644 default/libalpm/hooks/10-omarchy-hyprland-reload-pause.hook "$pkgdir/usr/share/libalpm/hooks/10-omarchy-hyprland-reload-pause.hook"
install -Dm644 default/libalpm/hooks/90-omarchy-hyprland-reload-resume.hook "$pkgdir/usr/share/libalpm/hooks/90-omarchy-hyprland-reload-resume.hook"
```
`bin/omarchy-sudo-passwordless` — shipped by the same package — hard-requires the fourth (`05-omarchy-passwordless-revoke.hook`) with exact content for any timed grant, so every temporary-enable is unreachable for someone who doesn't debug the helper source.
### Suggested fix
Add the missing install line to the `omarchy` / `omarchy-dev` PKGBUILDs:
```bash
install -Dm644 default/libalpm/hooks/05-omarchy-passwordless-revoke.hook "$pkgdir/usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook"
```
### Local workaround (applied)
```bash
sudo install -m 644 \
/usr/share/omarchy/default/libalpm/hooks/05-omarchy-passwordless-revoke.hook \
/usr/share/libalpm/hooks/05-omarchy-passwordless-revoke.hook
```
Afterwards `omarchy sudo passwordless` (15 min) works: grant published with `NOTAFTER`, expiry timer armed, bar indicator and toggle behave correctly in both directions.
Diagnostics available on request (`omarchy debug --no-sudo --print` log).
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 23:49 UTC