Omahub
← All plugins
S

Luna

by salmun-nister

Lunar companion for the Omarchy bar: a live moon phase pill with a stylized popup showing illumination, moon age, and next full/new moon dates. Now includes shadow rendering animations during lunar eclipses!

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
9fda86d
Scanned
3 weeks ago

No potentially dangerous behavior detected in the analyzed commit.

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
9fda86d
Reviewed
3 weeks ago

The Luna plugin is a purely offline moon-phase bar widget with no network access, no dangerous commands, and no obfuscation. Its only shell interaction is invoking the notification sender with hardcoded, non-user-controlled strings. The code is transparent, documented, and follows normal Omarchy plugin patterns.

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/salmun-nister/omarchy-luna --enable
Widgets #bar

Luna

A moon phase plugin for the Omarchy Quattro bar. Shows the current lunar phase as a pill in the bar and renders it as stylized text art in a popup — fully offline, with no network calls.

Luna popup showing a stylized moon

Install

omarchy plugin add https://github.com/salmun-nister/omarchy-luna.git --enable

Then add Luna to your bar from the bar editor, or move it to a section:

omarchy bar move salmun-nister.luna --section right

Usage

  • Left-click the pill — open/close the popup (Escape closes)
  • Middle-click the pill, click the moon, or press S / Enter while the popup is open — cycle through different art styles
  • I while the popup is open — toggle the pill icon between color emoji and a plain monochrome glyph that inherits the theme's text color
  • Right-click the pill — desktop notification summarizing the phase
  • Tab while the popup is open — switch to the neighboring panel

The disk is rendered at the exact phase fraction with lunar features loosely inspired by the real near side: craters (Tycho, Copernicus, Kepler, Aristarchus, Plato, Gassendi, Langrenus, Grimaldi) and dark maria (Imbrium, Serenitatis, Tranquillitatis, Fecunditatis, Crisium, Nubium, Humorum and Oceanus Procellarum); each appears only when its position is illuminated. Stars twinkle around it, reshuffled every time the popup opens or the style changes.

Phase cycling through the lunar month

During a (umbral) lunar eclipse the panel shows a red "Partial/Total Lunar Eclipse" line under the phase name, the moon art darkens under Earth's shadow, and the bar pill shifts toward your theme's alert color with eclipse depth.

Eclipse preview

Settings

Settings are flat keys on the widget's entry in the bar.layout section of ~/.config/omarchy/shell.json:

{
  "id": "salmun-nister.luna",
  "artStyle": "blocks",   // "blocks" | "ascii" | "vector" | "cartoon";
                          // cycling rewrites this entry, so omitting it
                          // resumes the last-used style
  "artRows": 19,          // 9–41 (odd enforced); columns derive from the
                          // font's cell aspect so the moon stays circular
  "hemisphere": "north",  // "north" | "south" — defaults to north; set
                          // "south" if you're below the equator (mirrors
                          // the art/glyphs)
  "showPercent": false,   // append illumination % to the bar pill
  "plainIcon": true       // pill icon: plain monochrome Nerd Font glyph
                          // (theme text color) instead of color emoji
}

The moon art inherits your theme's foreground color automatically; nothing is hardcoded.

Accuracy

Phase fraction, illumination, and glyphs use the mean synodic month anchored to a reference new moon. The next new/full moon timestamps go further: periodic corrections from Meeus' "Astronomical Algorithms" (ch. 49) bring each predicted instant to within a few minutes of true syzygy near J2000 (verified against 2026 almanac data; a plain mean-month model drifts by up to half a day and can even name the wrong day).

Lunar eclipses are computed with Meeus ch. 54 (lunar section) and validated against NASA's catalog of 2026–2035 events: greatest-eclipse times within a minute, umbral magnitudes within a few hundredths. Only umbral eclipses are shown — penumbral-only events dim too subtly to see and are skipped. During an eclipse the panel labels it, the art darkens under the shadow, and the bar pill shifts red with depth.

Update

omarchy plugin update salmun-nister.luna

Remove

omarchy plugin remove salmun-nister.luna

Future Considerations

  • Add and improve art styles
  • Add additional Easter eggs

Have a feature idea or found a bug? Open an issue.

License

MIT — see LICENSE.