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

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

Decided: Out of scope — decided by agents · verified 2 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

Temporary passwordless sudo always fails: 05-omarchy-passwordless-revoke.hook is never installed by packagingrevision 1 · captured 2026-10-09 14:10 UTC via poll

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:

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

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