Omahub
← All plugins
D

Cassandra

by Diego Peter

Failed systemd units, journal errors, and coredumps in the bar — the disasters that scroll past unseen. A calm glyph while all is quiet; counts, a tabbed panel, and desktop alerts when it isn't.

Security review

Review recommended · 1 finding

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
f794a67
Scanned
1 month ago

Flagged patterns appear only in documentation files (README / docs) — descriptive examples, not executable code.

  • Docs external_hosts README.md:69

    Downloads or connects to an external HTTP(S) host.

    git clone https://github.com/diegopluna/omarchy-cassandra \

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

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

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

The plugin is a system monitor that reads systemd/journal/coredump data and displays it. It runs user-configured alert commands, but that's a feature. No malicious behavior detected. The external host reference is only in documentation.

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/diegopluna/omarchy-cassandra --enable
System #bar #quickshell #system

Cassandra — Event Watcher for Omarchy

Cassandra is a bar widget for the Omarchy shell that watches the machine's events where Argus watches its resources: failed systemd units, journal errors, and coredumps — the disasters that scroll past unseen. The bar shows a calm glyph while nothing is wrong, and per-kind counts in the theme's urgent color when something is.

She spoke the truth. This time, listen.

Cassandra in the bar

What the bar says

  • 󰗠 — all quiet: no failed units, no new crashes, no new errors
  • 󰀦 N — N systemd units (system or user) are currently failed
  • 󰚌 N — N programs dumped core since you last looked
  • N err — N journal errors (priority ≤ 3) since you last looked

"Since you last looked" means since the panel was last closed — a glance at the bar answers "did anything happen while I was away?", and opening the panel resets the counters.

Panel tabs

  • FAILED — every failed unit (system and user scope) with its description and a restart button (after confirmation), plus boot timing from systemd-analyze
  • LOG — recent journal warnings and errors with time and source; noisy sources (looking at you, UFW) can be muted per source — muted entries stay out of the bar's error count too
  • CRASH — recorded coredumps with program, signal, and age; coredumpctl info <PID> shows the backtrace

Opening the panel lands on the tab with the worst news.

FAILED tab CRASH tab
LOG tab

Alerts

A unit that newly enters the failed state, or a fresh coredump, fires one critical desktop notification — "Unit restic-backup.service failed — Nightly restic backup", "vp crashed with SIGABRT (PID 379295)". Units already failed when the shell starts are shown but not re-announced. The last ten alerts are kept in the panel.

alertCommand runs a shell command on every fired alert with the details in CASSANDRA_ALERT_KEY/TEXT/CRITICAL/AT environment variables — pipe your machine's bad news anywhere:

"alertCommand": "curl -s -d \"$CASSANDRA_ALERT_TEXT\" https://ntfy.sh/my-box"

Interactions

  • Bar button: left click opens the panel, middle click refreshes, right click opens journalctl -f in a terminal
  • Panel: h/l or ←/→ switch tabs, 1–3 or a tab's first letter jump straight to it, j/k or ↑/↓ scroll, r refreshes, Esc closes

Install

git clone https://github.com/diegopluna/omarchy-cassandra \
  ~/.config/omarchy/plugins/io.github.diegopluna.cassandra
omarchy plugin enable io.github.diegopluna.cassandra

Needs journal read access, which Omarchy's default user (in wheel) has. No daemon, no root: one short bash sampler (systemctl --failed, journalctl -o json, coredumpctl --json=short) every 10 seconds, costing ~10ms. All dependencies (bash, systemd's own tools) ship with every Omarchy install. MIT licensed.

Uninstall

omarchy plugin disable io.github.diegopluna.cassandra
rm -rf ~/.config/omarchy/plugins/io.github.diegopluna.cassandra

Disabling removes the widget from the bar; the only state Cassandra writes is its own entry in ~/.config/omarchy/shell.json.

Settings

Inline settings on the widget's entry in shell.json:

Key Default Meaning
intervalSec 10 Poll interval in seconds (5–120)
alerts "On" Desktop notification on new failures and crashes
alertCommand — Shell command run on every fired alert
mutedSources [] Log sources muted from the LOG tab (managed in the panel)

IPC

omarchy-shell io.github.diegopluna.cassandra toggle
omarchy-shell io.github.diegopluna.cassandra tab LOG
omarchy-shell io.github.diegopluna.cassandra metrics   # failed units, counts, alerts as JSON

Cassandra sees every disaster before you feel it. Whether you believe her is, as ever, up to you.