Omahub
← All plugins
R

Moonshot

by Rudy Rodriguez

An offline-first lunar calendar, cycle, eclipse, and local timing companion for the Omarchy bar.

Security review

Review recommended · 1 finding

Deterministic scan — not a security guarantee

Low
Risk level
Low
Analyzed commit
06cd7a1
Scanned
1 month ago

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
06cd7a1
Reviewed
1 month ago

The deterministic 'obfuscation' finding is a false positive: it flags the PNG magic-byte check in package-check.sh, which is a normal file- format validation, not obfuscated code. The runtime surface is a Quickshell/QML widget that invokes a Python helper with a fixed process list, bounded output, timeouts, and sanitized errors; no install-time destructive commands, persistence, credential theft, or hidden network behavior were found. Optional city search is user-initiated over HTTPS and documented, and the locally persisted location state is written with user-only permissions.

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/rodrix2000/omarchy-moonshot --enable
Widgets #bar #quickshell

Moonshot

The moon, built into your Omarchy desktop.

Moonshot places a living lunar indicator in the Omarchy bar and opens a calm, location-aware lunar panel with tonight’s Moon, a monthly calendar, an exact cycle timeline, upcoming eclipses, and local moonrise/moonset timings.

Live Demo

Four live Moonshot popup views in Omarchy: Tonight, Calendar, Cycle, and Eclipses

Top: Tonight and Calendar. Bottom: Cycle and Eclipses. These are actual captures from the installed Omarchy popup; only the private location label was removed.

Features

  • Living Bar Indicator: Optically centered lunar disk in the status bar with selectable modes (disk, illumination, phase, next-full, moonrise).
  • Compact Lunar Popup: A notification-style Omarchy panel anchored to the bar, with a realistic texture-backed north-up lunar disk, computed phase terminator, illumination stats, direction, and moon age.
  • Lunar Calendar: Browse any month as miniature, locally calculated moon disks; exact New, Quarter, and Full Moon dates are marked and every day opens its detailed view.
  • Cycle Timeline: See the selected instant’s exact position from New Moon to New Moon, with local dates and times for all five cycle anchors.
  • Eclipse Tracking: Follow the next lunar and solar eclipses with exact classification, maximum/contact times, countdown, obscuration, and observer-local visibility.
  • Accurate Astronomical Ephemeris: Offline computation powered by Astronomy Engine with validated USNO/NASA golden data.
  • Local Rise, Set & Horizon: Precise local-day rise and set calculations with upper-limb and refraction corrections.
  • Date Browsing: Step through past or future dates with smooth transitions and quick jumps back to Today or the next Full/New Moon.
  • Location Flexibility: Works fully offline with manual coordinates & IANA time zone, or via optional city search (Open-Meteo).
  • Travel-Friendly Places: Keeps up to six validated places for one-click switching; clear the active location without losing them, or reset everything with confirmation.
  • Omarchy Native: Theme-adaptive palette, smooth popout lifecycle, keyboard accessibility, and reduced-motion support.
  • Zero Tracking: No telemetry, analytics, tracking, or background daemons.

Requirements

  • Omarchy: 4.0.0 or higher
  • Shell: Quickshell 0.3.0+
  • Python: Python 3.10+ (standard library only; Astronomy Engine is vendored in-repo)

Installation

Install directly into your Omarchy shell using the Omarchy plugin CLI:

omarchy plugin add https://github.com/rodrix2000/omarchy-moonshot.git --enable

To enable or reposition the widget manually in your status bar:

omarchy bar move io.github.rodrix2000.moonshot --section right

Usage

  • Click Bar Icon: Toggle the Moonshot popup.
  • Middle-Click Bar Icon: Force recalculation and refresh.
  • Right-Click Bar Icon: Cycle the bar display mode for the current shell session.
  • Keyboard Shortcuts (inside panel):
    • <kbd>Left</kbd> / <kbd>Right</kbd>: Previous / Next day
    • <kbd>T</kbd>: Jump to Today (current instant)
    • <kbd>F</kbd>: Jump to next Full Moon
    • <kbd>N</kbd>: Jump to next New Moon
    • <kbd>Shift</kbd>+<kbd>L</kbd>: Open Location Editor (l remains Vim-style Next day)
    • <kbd>R</kbd>: Refresh calculations
    • <kbd>1</kbd> / <kbd>2</kbd> / <kbd>3</kbd> / <kbd>4</kbd>: Tonight / Calendar / Cycle / Eclipses
    • <kbd>Escape</kbd>: Close Location Editor or dismiss Moonshot

Location & Privacy

  • Offline-First: All ephemeris calculations run locally on your system.
  • No Location Mode: If unconfigured, global moon phase, illumination, and age are computed immediately without needing coordinates.
  • Manual Mode: Provide your latitude, longitude, and IANA time zone directly for 100% offline rise/set computation.
  • Local Eclipse Visibility: Observer circumstances are calculated locally with the vendored astronomy engine; no coordinates are sent anywhere.
  • City Search: Optional geocoding queries Open-Meteo over HTTPS. No location data is sent in the background.
  • Local State: A validated location is stored atomically in ${XDG_STATE_HOME:-$HOME/.local/state}/moonshot/settings-v1.json with user-only permissions. Host-provided plugin settings take precedence when present.
  • Saved Places: Each validated location moves to the front of a six-place local list. Clear active returns to no-location mode while retaining that list; Reset all clears both after a confirming second click.

Rendering Convention

Note: Moonshot v1 renders the lunar disk using a standard north-up astronomical chart convention (waxing light on right, waning on left). The phase silhouette is computed, while the neutral lunar albedo texture is illustrative rather than a scientific surface map. Local horizon disc rotation is not simulated.

The popup uses Omarchy semantic surface, text, accent, muted, urgent, spacing, border, and focus tokens. The lunar texture stays neutral so it remains recognizable across light, dark, tinted, and high-contrast themes; theme color is limited to surrounding glow, rim, controls, and text.

Updating

omarchy plugin update io.github.rodrix2000.moonshot

Removal

omarchy plugin remove io.github.rodrix2000.moonshot

To clean up local state cache:

rm -rf "${XDG_STATE_HOME:-$HOME/.local/state}/moonshot"

Third-Party Software

Moonshot vendors Astronomy Engine by Don Cross under the MIT License. See THIRD_PARTY_NOTICES.md for details.

License

MIT License — Copyright (c) 2026 Rudy Rodriguez. See LICENSE for details.