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.
dev: migration 1789325478 always fails since linux-omarchy became a meta package for linux-omarchy-bore
Reported by hillerstorm · filed Oct 10, 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
System details
AMD Ryzen 9 9950X3D, Radeon RX 9070 XT, Omarchy dev channel (omarchy-dev 4.0.0.r6863.ga15636b-1), Limine with UKIs, stock linux installed before this update
What's wrong?
On the dev channel, omarchy update aborts at migration 1789325478 ("Install the Omarchy kernel and make it the first Limine boot entry") even though the kernel installed and its boot entry was created:
The Omarchy kernel has no Limine boot entry; rerun omarchy-migrate after fixing the boot image build.
Something went wrong during the update!Rerunning can never succeed, so the update stops here every time and every later migration stays pending (28 on this machine).
Root cause
Since omacom/omarchy-pkgs#836 (linux-omarchy 7.2.8-5), linux-omarchy is a meta package that only depends on linux-omarchy-bore. The kernel files, and therefore the Limine kernel-id, now belong to linux-omarchy-bore:
$ pacman -Q linux-omarchy linux-omarchy-bore
linux-omarchy 7.2.8-5
linux-omarchy-bore 7.2.8-5
$ sudo limine-entry-tool --tree
Omarchy
├─ linux-omarchy-bore
├─ linux
└─ Snapshots
...
EFI fallbackThe migration's completion check requires the exact token linux-omarchy, with - excluded from the trailing boundary:
sudo limine-entry-tool --tree | grep -E "(^|[^[:alnum:]_-])$kernel([^[:alnum:]_-]|$)"linux-omarchy-bore can never match that, so the check fails after a successful install.
Related: sudo limine-mkinitcpio "$kernel" no longer targets the Omarchy kernel. limine-mkinitcpio-install resolves a package to kernels through the modules.builtin files it owns. The meta package owns none, so add_kernel_dir_by_package fails and it falls back to rebuilding every installed kernel (here linux-omarchy-bore and stock linux). That only costs time, but the "rebuild the new kernel explicitly" intent is lost.
Steps to reproduce
- Dev-channel machine where
1789325478has not completed yet (no/var/lib/omarchy/migrations/1789325478), Limine bootloader, x86_64, not a T2 Mac. omarchy update. The migration installslinux-omarchy7.2.8-5, which pulls inlinux-omarchy-bore, buildsomarchy_linux-omarchy-bore.efi, and writes the//linux-omarchy-boreentry first in/boot/limine.conf.- The
limine-entry-tool --tree | grepcheck fails and the update aborts.
Machines that completed the migration before 7.2.8-5 are not affected, because the marker short-circuits the script.
Suggested fix
Resolve the real kernel package(s) behind linux-omarchy instead of assuming the meta package name is the kernel-id. For example, use the installed packages that own /usr/lib/modules/*/modules.builtin and match linux-omarchy or linux-omarchy-*, then:
- pass those to
limine-mkinitcpio, and - check the tree for those names (or at minimum allow a
-<flavor>suffix in the grep).
Workaround
Every effect of the migration is already in place (packages, BOOT_ORDER, UKI, Limine entry). Only its last two lines are missing, and the script exits early once its marker exists, so writing the marker by hand lets omarchy-migrate move past it:
sudo install -Dm644 /dev/null /var/lib/omarchy/migrations/1789325478
omarchy-state set reboot-required
omarchy updateView raw text
### System details
AMD Ryzen 9 9950X3D, Radeon RX 9070 XT, Omarchy dev channel (`omarchy-dev 4.0.0.r6863.ga15636b-1`), Limine with UKIs, stock `linux` installed before this update
### What's wrong?
On the dev channel, `omarchy update` aborts at migration `1789325478` ("Install the Omarchy kernel and make it the first Limine boot entry") even though the kernel installed and its boot entry was created:
```
The Omarchy kernel has no Limine boot entry; rerun omarchy-migrate after fixing the boot image build.
Something went wrong during the update!
```
Rerunning can never succeed, so the update stops here every time and every later migration stays pending (28 on this machine).
#### Root cause
Since omacom/omarchy-pkgs#836 (`linux-omarchy` 7.2.8-5), `linux-omarchy` is a meta package that only depends on `linux-omarchy-bore`. The kernel files, and therefore the Limine kernel-id, now belong to `linux-omarchy-bore`:
```
$ pacman -Q linux-omarchy linux-omarchy-bore
linux-omarchy 7.2.8-5
linux-omarchy-bore 7.2.8-5
$ sudo limine-entry-tool --tree
Omarchy
├─ linux-omarchy-bore
├─ linux
└─ Snapshots
...
EFI fallback
```
The migration's completion check requires the exact token `linux-omarchy`, with `-` excluded from the trailing boundary:
```bash
sudo limine-entry-tool --tree | grep -E "(^|[^[:alnum:]_-])$kernel([^[:alnum:]_-]|$)"
```
`linux-omarchy-bore` can never match that, so the check fails after a successful install.
Related: `sudo limine-mkinitcpio "$kernel"` no longer targets the Omarchy kernel. `limine-mkinitcpio-install` resolves a package to kernels through the `modules.builtin` files it owns. The meta package owns none, so `add_kernel_dir_by_package` fails and it falls back to rebuilding every installed kernel (here `linux-omarchy-bore` and stock `linux`). That only costs time, but the "rebuild the new kernel explicitly" intent is lost.
#### Steps to reproduce
1. Dev-channel machine where `1789325478` has not completed yet (no `/var/lib/omarchy/migrations/1789325478`), Limine bootloader, x86_64, not a T2 Mac.
2. `omarchy update`. The migration installs `linux-omarchy` 7.2.8-5, which pulls in `linux-omarchy-bore`, builds `omarchy_linux-omarchy-bore.efi`, and writes the `//linux-omarchy-bore` entry first in `/boot/limine.conf`.
3. The `limine-entry-tool --tree | grep` check fails and the update aborts.
Machines that completed the migration before 7.2.8-5 are not affected, because the marker short-circuits the script.
#### Suggested fix
Resolve the real kernel package(s) behind `linux-omarchy` instead of assuming the meta package name is the kernel-id. For example, use the installed packages that own `/usr/lib/modules/*/modules.builtin` and match `linux-omarchy` or `linux-omarchy-*`, then:
- pass those to `limine-mkinitcpio`, and
- check the tree for those names (or at minimum allow a `-<flavor>` suffix in the grep).
#### Workaround
Every effect of the migration is already in place (packages, `BOOT_ORDER`, UKI, Limine entry). Only its last two lines are missing, and the script exits early once its marker exists, so writing the marker by hand lets `omarchy-migrate` move past it:
```bash
sudo install -Dm644 /dev/null /var/lib/omarchy/migrations/1789325478
omarchy-state set reboot-required
omarchy update
```
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-10 13:21 UTC