Omahub
← All plugins
S

Scheduled Jobs

by Sudhanshu Gautam

Bar panel showing systemd timers (system + user) and cron entries: what runs next, when, and whether the last run succeeded. Read-only.

Security review

Potentially dangerous behavior detected · 13 findings

Deterministic scan — not a security guarantee

High
Risk level
High
Analyzed commit
ea800d2
Scanned
1 month ago
  • high persistence list-jobs:11

    Registers scheduled or boot-time system tasks.

    crontab lines of at most MAX_CRON_LINE_LEN characters each.
  • high persistence list-jobs:48

    Registers scheduled or boot-time system tasks.

    crontab >/dev/null 2>&1; then
  • high persistence list-jobs:49

    Registers scheduled or boot-time system tasks.

    crontab -l 2>/dev/null |
  • high persistence list-jobs:52

    Registers scheduled or boot-time system tasks.

    crontab"})' || echo "[]")
  • high persistence Panel.qml:294

    Registers scheduled or boot-time system tasks.

    crontab exists and has lines).
  • high persistence Panel.qml:306

    Registers scheduled or boot-time system tasks.

    CRONTAB"
  • high persistence Panel.qml:319

    Registers scheduled or boot-time system tasks.

    crontab content: plain text only.
  • Docs persistence README.md:10

    Registers scheduled or boot-time system tasks.

    crontab entries appear in their own section (the section hides
  • Docs persistence README.md:11

    Registers scheduled or boot-time system tasks.

    crontab, which is the Omarchy default).
  • Docs persistence README.md:20

    Registers scheduled or boot-time system tasks.

    crontab -l`.
  • Docs persistence README.md:29

    Registers scheduled or boot-time system tasks.

    crontab lines of 300 characters each —
  • Docs persistence README.md:32

    Registers scheduled or boot-time system tasks.

    crontab content render as plain text (`Text.PlainText`).
  • Docs persistence README.md:45

    Registers scheduled or boot-time system tasks.

    crontab

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
ea800d2
Reviewed
1 month ago

This plugin is a read-only schedule viewer: it queries systemctl list-timers/show/status, journalctl, and crontab -l, imposes output size limits, writes nothing, and has no network access or install-time hooks. The deterministic scan's high-persistence findings are false positives: every flagged snippet is either README documentation or a read-only crontab/systemd query, and nothing registers or modifies scheduled tasks.

  • The deterministic scan's persistence alerts are rule false positives on read-only `crontab -l`, `systemctl*`, and README text; no writes or registrations exist.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/Sudhanshugtm/omarchy-scheduled-jobs --enable
System #bar #quickshell #system

Scheduled Jobs — Omarchy bar widget

A native Omarchy bar panel answering one question at a glance: what is scheduled to run on this machine, when does it fire next, and did the last run succeed?

It lists every systemd timer — system and user scope — sorted soonest-first, with relative NEXT / LAST RUN times and the activated service's last result. A failed last run is flagged in red right on the row. If you use classic cron, your crontab entries appear in their own section (the section hides itself when there's no crontab, which is the Omarchy default).

The panel

Read-only, by design

This widget observes your schedule; it never changes it:

  • The only commands it runs are systemctl list-timers, systemctl show, systemctl status, journalctl, and (when present) crontab -l. All read-only.
  • No start/stop/enable/disable, no unit mutations of any kind. If you want to manage units from the bar, use oSystemd — this plugin deliberately stays out of that business.
  • No sudo, no pkexec, no polkit prompts. System-scope timers are listed via the same unprivileged query systemctl list-timers gives any user.
  • Hard bounds on everything it reads: at most 256 KB of systemctl JSON and 150 timers per scope, 100 crontab lines of 300 characters each — imposed at capture time, before anything is held in memory or handed to the panel, which additionally refuses oversized payloads outright. All unit names and crontab content render as plain text (Text.PlainText).
  • No network access, no telemetry, nothing written to disk. Scans run only when you open the panel or press r; nothing polls in the background.

The helper script is list-jobs — short plain bash; read it before installing, as you should for any shell plugin (Omarchy plugins run unsandboxed inside your shell process).

The screenshot above shows staged demo timers, not anyone's real setup.

Requirements

None beyond Omarchy 4.x itself. systemd is the data source; jq and the floating terminal come with Omarchy. cronie is optional — the crontab section simply appears if you have one.

Install

omarchy plugin add https://github.com/Sudhanshugtm/omarchy-scheduled-jobs.git --enable

Use

Action Result
Left-click bar icon Open the schedule panel
Click a row / Enter Peek at that unit's status + recent journal in a floating terminal
j/k or arrows Move the selection
r Rescan
Esc Close panel
Tab Switch to the neighboring bar panel
Right-click bar icon Raw systemctl list-timers --all for both scopes in a floating terminal

IPC target for keybindings: omarchy-shell sid.scheduled-jobs toggle.

Remove

omarchy plugin remove sid.scheduled-jobs

Deletes the plugin folder and removes the widget from the bar; nothing else is touched — this plugin never created or modified any unit to begin with.

License

MIT — see LICENSE.