Daily Islamic Reminder for Omarchy
An Omarchy Quattro bar widget and panel that presents a daily Quran ayah, a graded Hadith, or both. The bar stays compact; click Today’s Reminder to read Arabic and English text, provenance, and the visible Hadith grade.

What it does
- Rotates Quran and Hadith independently once per local calendar day.
- Supports sequential (resumable) or deterministic random rotation per source.
- Defaults to both sources, Saheeh International (
en.sahih), and records graded sahih or hasan. The defaultanycollection pool uses Sahih al-Bukhari and Sahih Muslim; other collection records are considered only when their source-supplied grade passes the active filter. - Keeps Quran Arabic separate from translation, and presents Hadith metadata separately so no commentary can be mistaken for Quran text.
- Caches immutable text and edition metadata under
$XDG_CACHE_HOME/dki.quran-verse-of-the-day/(default~/.cache/...) and rotation state under$XDG_STATE_HOME/dki.quran-verse-of-the-day/(default~/.local/state/...). Existing data under the former Omarchy plugin cache is copied once when the new locations are initialized.
Sources and attribution
- Quran Arabic, translations, and optional recitation links come from Al Quran Cloud / api.alquran.cloud. The selected edition is named beneath each translation.
- Hadith Arabic, English, collection/book references, and grade metadata come from fawazahmed0/hadith-api, served through jsDelivr. A Hadith is never rendered without a visible grade.
Neither source needs an API key; this repository contains none.
Install
omarchy plugin add https://github.com/korex-f/daily-islamic-reminder.git --enable
The widget is added to the right bar section. To move it:
omarchy bar plugin move dki.quran-verse-of-the-day --section center
Settings
Click the widget, then use the persistent gear icon in its panel. Settings are saved to the Omarchy bar entry and include:
- Quran translation edition, with a searchable sensible-English list or a directly entered Al Quran Cloud edition code;
- preferred Hadith collection (
any, Bukhari, Muslim, Abu Dawud, or Tirmidhi); - rotation mode (
both,quran-only, orhadith-only); - sequential/random order independently for Quran and Hadith;
- the opt-in filter to include grades beyond sahih/hasan; and
- optional Quran recitation link.
On first open the panel opens its settings surface with suggested defaults; there is no install-time wizard or background service.
Network, cache, and privacy
The plugin runs commands through Omarchy’s unsandboxed shell integration to make HTTPS curl requests to the two sources above. It requests only selected, uncached immutable records on panel open, plus Quran edition metadata at most weekly. No account, API key, telemetry, or personal content is sent.
There is no offline catalogue bundled with the plugin. Previously viewed items remain readable from the local cache; a new uncached item needs network access. Al Quran Cloud has a soft per-second rate limit, so the plugin deliberately does not poll in the background.
Remove cleanly
omarchy plugin remove dki.quran-verse-of-the-day
rm -rf "${XDG_CACHE_HOME:-$HOME/.cache}/dki.quran-verse-of-the-day" "${XDG_STATE_HOME:-$HOME/.local/state}/dki.quran-verse-of-the-day"
The second command is optional and removes only this plugin’s cached texts and rotation state. Legacy data is read from ~/.config/omarchy/plugins/dki.quran-verse-of-the-day/cache during the one-time migration.
Development checks
omarchy plugin validate .
qmllint BarWidget.qml Panel.qml Service.qml
node tests/model.test.js
node tests/runtime.test.js
License
MIT. See LICENSE.