Omahub
← All plugins
B

omARR

by boyoyooo

Browse, search, and download movies and TV shows with Radarr and Sonarr, plus a combined download queue, right in the Omarchy bar. Per-episode audio/subtitle language not shown for Sonarr series (would need an API call per series).

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
d2f39b7
Scanned
1 month 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
d2f39b7
Reviewed
1 month ago

The plugin is a well-structured bar widget that interacts with Radarr/Sonarr APIs, handles API keys securely (via stdin to curl, not argv), and performs only intended read/write operations. No malicious code, obfuscation, or suspicious behavior was found.

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/boyoyooo/omarr --enable
Widgets #bar #quickshell #media

omARR

Radarr and Sonarr in your Omarchy bar: library browsing, search + add with poster art, and a combined download queue (aggregates every download client Radarr/Sonarr know about — qBittorrent, NZBGet, etc. — via their own /api/v3/queue endpoint, no separate client integration needed).

Add one bar-widget instance per app (Radarr and/or Sonarr). Each instance polls its own lightweight status endpoint for the bar badge (missing count + active downloads), and fetches the full library/queue only when you open the panel.

<img src="assets/bar-widget.png" alt="Bar widget: Radarr and Sonarr badges" width="200"> <table> <tr> <td><img src="assets/add-search.png" alt="Add tab: search results" width="400"></td> <td><img src="assets/add-detail.png" alt="Add tab: expanded detail with quality profile picker" width="400"></td> </tr> </table>

Features

  • Library tab: browsable, filterable by title, paginated (15/page), with poster art. Filters for All / Downloaded / Missing. Radarr entries show audio language and subtitle availability (not available for Sonarr without one extra API call per series — shown as episode file count instead).
  • Add tab: search by title, poster preview, pick a quality profile before confirming. For Sonarr: toggle season folders and select exactly which seasons to monitor.
  • Queue tab: combined download queue with per-item progress and the source download client.
  • Bar badge shows the missing-item count and, when non-zero, the active download count (32 ↓3).
  • Manual refresh via middle-click on the bar widget, or the refresh button in the panel.

Requirements

  • A running Radarr and/or Sonarr instance reachable from the machine running Omarchy.
  • An API key for each instance.

Installation

omarchy plugin add https://github.com/boyoyooo/omarr.git --enable --yes

Removal

omarchy plugin remove io.github.boyoyooo.omarr --yes

Setup

1. Get the API key

In the Radarr or Sonarr web UI: Settings → General, scroll to the Security section, and copy the API Key field (it's a long alphanumeric string, already generated — nothing to create). Save it to a file, outside version control:

mkdir -p ~/.config/omarchy/arr
echo -n "paste-the-api-key-here" > ~/.config/omarchy/arr/radarr-apikey
chmod 600 ~/.config/omarchy/arr/radarr-apikey

Repeat for Sonarr with its own key/file (e.g. sonarr-apikey).

2. Find your quality profile ID

The panel's "Add" tab needs a numeric qualityProfileId, but the Radarr/ Sonarr UI only shows profile names (Settings → Profiles), not their IDs. List them with the key you just saved:

curl -s -H "X-Api-Key: $(cat ~/.config/omarchy/arr/radarr-apikey)" \
  http://localhost:7878/api/v3/qualityprofile | jq '.[] | {id, name}'

(swap the URL/key for Sonarr's http://localhost:8989/api/v3/qualityprofile). Pick the id that matches the profile name you use, and use it as qualityProfileId below.

3. Configure the widget instance

{
  "id": "io.github.boyoyooo.omarr",
  "app": "radarr",
  "url": "http://localhost:7878",
  "apiKeyFile": "/home/you/.config/omarchy/arr/radarr-apikey",
  "label": "Radarr",
  "qualityProfileId": 1,
  "rootFolderPath": "/data/movies"
},
{
  "id": "io.github.boyoyooo.omarr",
  "app": "sonarr",
  "url": "http://localhost:8989",
  "apiKeyFile": "/home/you/.config/omarchy/arr/sonarr-apikey",
  "label": "Sonarr",
  "qualityProfileId": 1,
  "rootFolderPath": "/data/tv",
  "seasonFolder": true,
  "monitorMode": "all"
}
Key Type Description
app string "radarr" or "sonarr"
url string Base URL, e.g. http://host:port
apiKeyFile string Path to a file containing only the API key (no quotes, no trailing newline required)
interval int Bar badge refresh interval in seconds (default 60; auto-retries every 5s while a fetch fails)
label string Display label next to the icon (defaults to "Radarr"/"Sonarr")
qualityProfileId int Quality profile used when adding a new movie/series
rootFolderPath string Root folder used when adding
seasonFolder bool Sonarr only: use season folders when adding
monitorMode string Sonarr only: monitor mode when adding (all, future, missing, firstSeason, none, ...)

License

MIT — see LICENSE.