Reboot Pending

Warns when the running Linux kernel no longer matches the package installed by pacman — the classic Arch “you updated linux but have not rebooted yet” case.
Install
From a local checkout:
PLUGIN_ID=io.github.qadram.reboot-pending
PLUGIN_DIR="$HOME/.config/omarchy/plugins/$PLUGIN_ID"
mkdir -p "$PLUGIN_DIR"
cp -a manifest.json BarWidget.qml Panel.qml RebootCheck.js check.sh state.py "$PLUGIN_DIR/"
chmod +x "$PLUGIN_DIR/check.sh" "$PLUGIN_DIR/state.py"
omarchy plugin validate "$PLUGIN_DIR"
omarchy-shell shell rescanPlugins
omarchy plugin enable "$PLUGIN_ID" --section right
When published:
omarchy plugin add https://github.com/qadram/omarchy-reboot-pending.git --enable
Usage
- Hidden when the running kernel matches the installed one (default).
- Accent / amber when pacman installed a newer kernel and modules for the running release still exist.
- Urgent / red when
/usr/lib/modules/$(uname -r)is missing. - Left click: open the panel (running vs installed, snooze, reboot).
- Middle click / R: refresh.
Reboot uses systemctl reboot after an in-panel confirmation (session polkit/logind; may prompt depending on your policy).
Configure
Optional settings on the widget entry in ~/.config/omarchy/shell.json:
| Key | Default | Meaning |
|---|---|---|
refreshIntervalSec |
600 |
How often to re-check |
kernelPackage |
"" |
Override (linux, linux-zen, …) when uname -r is non-standard |
notifications |
true |
Edge-triggered desktop notifications |
hideWhenOk |
true |
Hide the icon when no reboot is needed |
snoozeHours |
2 |
Duration for “Remind in Nh” |
Detection maps uname -r suffixes to packages (-arch → linux, -zen → linux-zen, -lts → linux-lts, -hardened → linux-hardened). Unknown suffixes degrade to “detection unavailable” instead of false positives.
Snooze state lives in ~/.local/state/omarchy-reboot-pending/state.json, read and written only through state.py with O_NOFOLLOW, regular-file, ownership, and size checks (rejects symlinks/FIFOs and oversized files).
Remove
omarchy plugin remove io.github.qadram.reboot-pending
rm -rf ~/.local/state/omarchy-reboot-pending
License
MIT