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.
hibernation remove leaves resume kernel parameters in the UKI (Limine drop-in not removed)
Reported by maandrij · filed Sep 16, 2026Closed upstream on 2026-10-12 by the bot omarchybot, as a duplicate (target not recorded).
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
Summary
omarchy hibernation setup writes the resume kernel parameters to /etc/limine-entry-tool.d/resume.conf (and, on s2idle systems, /etc/limine-entry-tool.d/rtc-alarm.conf), but omarchy hibernation remove never deletes those drop-ins. It only removes the mkinitcpio hook (/etc/mkinitcpio.conf.d/omarchy_resume.conf) and then runs limine-mkinitcpio.
As a result, after removal the rebuilt UKI still embeds resume=/dev/mapper/root resume_offset=…, pointing at a swapfile that no longer exists. The kernel can't find a resume image and falls through to a normal boot, but the boot configuration is left stale — remove is not symmetric with setup.
Steps to reproduce
omarchy hibernation setup- Confirm both drop-ins exist:
/etc/mkinitcpio.conf.d/omarchy_resume.conf/etc/limine-entry-tool.d/resume.conf(containsresume=/resume_offset=)
omarchy hibernation remove/etc/limine-entry-tool.d/resume.confis still present, and the rebuilt UKI still contains the resume parameters:
objcopy -O binary --only-section=.cmdline /boot/EFI/Linux/omarchy_linux.efi /dev/stdout | tr -d '\0'
# ... still shows resume=/dev/mapper/root resume_offset=...Expected
omarchy hibernation remove should remove the Limine drop-ins that setup created, before rebuilding the boot image — mirroring what setup does. Something like:
sudo rm -f /etc/limine-entry-tool.d/resume.conf
sudo rm -f /etc/limine-entry-tool.d/rtc-alarm.confnext to the existing removal of /etc/mkinitcpio.conf.d/omarchy_resume.conf, followed by the usual limine-mkinitcpio.
Relevant code
omarchy-hibernation-setupdefinesRESUME_DROP_IN="/etc/limine-entry-tool.d/resume.conf"and writes it; it also writes/etc/limine-entry-tool.d/rtc-alarm.confwhen/sys/power/mem_sleepcontains[s2idle].omarchy-hibernation-removeonly referencesMKINITCPIO_CONF(/etc/mkinitcpio.conf.d/omarchy_resume.conf) and never touches/etc/limine-entry-tool.d/.
Environment
- Omarchy 4.0.3-1
limine12.8.0-1,limine-mkinitcpio-hook1.38.0-1.1- Kernel 7.2.3-arch1-3
- Root on btrfs over LUKS, UKI built via
limine-entry-tool
View raw text
## Summary `omarchy hibernation setup` writes the resume kernel parameters to `/etc/limine-entry-tool.d/resume.conf` (and, on s2idle systems, `/etc/limine-entry-tool.d/rtc-alarm.conf`), but `omarchy hibernation remove` never deletes those drop-ins. It only removes the mkinitcpio hook (`/etc/mkinitcpio.conf.d/omarchy_resume.conf`) and then runs `limine-mkinitcpio`. As a result, after removal the rebuilt UKI still embeds `resume=/dev/mapper/root resume_offset=…`, pointing at a swapfile that no longer exists. The kernel can't find a resume image and falls through to a normal boot, but the boot configuration is left stale — `remove` is not symmetric with `setup`. ## Steps to reproduce 1. `omarchy hibernation setup` 2. Confirm both drop-ins exist: - `/etc/mkinitcpio.conf.d/omarchy_resume.conf` - `/etc/limine-entry-tool.d/resume.conf` (contains `resume=` / `resume_offset=`) 3. `omarchy hibernation remove` 4. `/etc/limine-entry-tool.d/resume.conf` is still present, and the rebuilt UKI still contains the resume parameters: ``` objcopy -O binary --only-section=.cmdline /boot/EFI/Linux/omarchy_linux.efi /dev/stdout | tr -d '\0' # ... still shows resume=/dev/mapper/root resume_offset=... ``` ## Expected `omarchy hibernation remove` should remove the Limine drop-ins that `setup` created, before rebuilding the boot image — mirroring what `setup` does. Something like: ``` sudo rm -f /etc/limine-entry-tool.d/resume.conf sudo rm -f /etc/limine-entry-tool.d/rtc-alarm.conf ``` next to the existing removal of `/etc/mkinitcpio.conf.d/omarchy_resume.conf`, followed by the usual `limine-mkinitcpio`. ## Relevant code - `omarchy-hibernation-setup` defines `RESUME_DROP_IN="/etc/limine-entry-tool.d/resume.conf"` and writes it; it also writes `/etc/limine-entry-tool.d/rtc-alarm.conf` when `/sys/power/mem_sleep` contains `[s2idle]`. - `omarchy-hibernation-remove` only references `MKINITCPIO_CONF` (`/etc/mkinitcpio.conf.d/omarchy_resume.conf`) and never touches `/etc/limine-entry-tool.d/`. ## Environment - Omarchy 4.0.3-1 - `limine` 12.8.0-1, `limine-mkinitcpio-hook` 1.38.0-1.1 - Kernel 7.2.3-arch1-3 - Root on btrfs over LUKS, UKI built via `limine-entry-tool`
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
- Fixed bypr/12155· confirmed
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 14:09 UTC