Sixteen plugins for Omarchy Quattro, plus the widget template they are all built from. All sixteen are live in the marketplace. Every repository ships the same security lane, and every network body parses in a file a unit test can load without a shell.
Built and maintained by Jeremy Longshore / Intent Solutions.
Portfolio site: oma.intentsolutions.io
Live work: github.com/jeremylongshore
Official marketplace: plugins.omarchy.org
This repository owns the Intent Solutions public portfolio for the Omarchy plugin work. Nothing installs from here. Each plugin ships and develops in its own repository and moves through the marketplace independently. The website gives every plugin a permanent detail page beneath oma.intentsolutions.io/plugins/, and this README provides the compact catalog view of the same structured inventory.
Omarchy is DHH's opinionated Arch and Hyprland desktop. Quattro is its plugin system: a bar widget is a Quickshell QML component that Omarchy loads into a slot on the bar, with an optional panel that opens under it. A plugin is a git repository with a manifest.json, and you install one by pointing Omarchy at the URL.
Marketplace data generated at 2026-10-03T16:16:48.272Z, across 4859 listed plugins. GitHub stars, default-branch freshness, root manifest, and preview metadata are derived during the same refresh.
| Plugin | Family | What it does | Source | Marketplace | Stars | Views | Copies | Hearts |
|---|---|---|---|---|---|---|---|---|
| Bazaar | Discovery and Building | The Omarchy marketplace in your bar. Search every listing, filter by category or kind, rank what is trending, save a private shortlist, inspect source, and copy safe install commands. | repo | Productivity | 0 | 363 | 46 | 0 |
| Pit Wall | Sports | A Formula 1 race-weekend command post with countdowns, live order, gaps, flags, safety-car state, local-time schedules, and championship standings. | repo | Widgets | 0 | 187 | 30 | 4 |
| Wait State | System Awareness | CPU, memory, and I/O pressure stalls in the bar, with bounded history and practical guidance so busy is not mistaken for blocked. | repo | System | 0 | 178 | 11 | 0 |
| MLB Booth | Sports | Follow one MLB club from first-pitch countdown through the final out with score, inning, count, outs, bases, schedule, and division race. | repo | Widgets | 1 | 135 | 10 | 2 |
| X Files | Signals and Feeds | Replies to your own X posts as a drainable queue of questions, gripes, and asks, with representative quotes and a hard API-spend cap. | repo | Productivity | 0 | 178 | 2 | 1 |
| Docket | Focus and Delivery | GitHub pull requests as an obligation queue: reviews waiting on you, your blocked work, and branches ready to merge, oldest first. | repo | Developer Tools | 0 | 185 | 4 | 1 |
| Crew Chief | Focus and Delivery | Claude Code, Codex, Herdr, and other agent sessions as a local attention queue. See working, blocked, and done, then focus the project that needs you. | repo | Productivity | 0 | 210 | 19 | 3 |
| Listening Post | Signals and Feeds | Twenty-nine curated AI-vendor feeds in a four-lane radar for model releases, price changes, status incidents, and engineering posts. | repo | Widgets | 0 | 494 | 22 | 0 |
| Desk Transition | System Awareness | Two safe Hyprland display actions: arrange active outputs left-to-right or focus the built-in panel, with a preview before anything changes. | repo | Productivity | 0 | 232 | 16 | 2 |
| Foundry | Discovery and Building | Turn an ID, name, and pitch into a proof-ready Omarchy bar-widget draft with matched manifest copy, a unique banner, offline tests, CI, and security gates. | repo | Developer Tools | 0 | 156 | 6 | 0 |
| Loose Ends | Focus and Delivery | Scan local Git repositories for uncommitted edits, unpushed commits, old stashes, detached heads, and interrupted operations, oldest first. | repo | Productivity | 1 | 102 | 5 | 1 |
| Capture Conveyor | Desktop Workflow | Turn Omarchy screenshots into a keyboard-first inbox: view recent captures, capture or OCR a region, copy paths, and reveal files. | repo | Widgets | 0 | 154 | 8 | 1 |
| Workspace Storyboard | Desktop Workflow | Turn live Hyprland workspaces into a local re-entry map with window counts, active titles, keyboard jumps, and a private context history. | repo | Widgets | 0 | 285 | 8 | 2 |
| Quiet Queue | Focus and Delivery | A trustworthy 25- or 50-minute focus switch that uses native Do Not Disturb and restores notification delivery only when it owns the session. | repo | Productivity | 0 | 141 | 4 | 1 |
| Flow Boundary | Focus and Delivery | Mark intentional starts and stops from the bar with a live FLOW or PAUSE state and a bounded local transition history. | repo | Productivity | 0 | 311 | 6 | 1 |
| omaTrail | Play and Learning | An offline frontier survival game for Omarchy with hunting, river crossings, resource management, and a choice of Green Monitor or Color Deluxe graphics. | repo | Kids | 2 | 267 | 25 | 4 |
| Widget Template | Build system | The skeleton every entry above is built from. BarWidget, Panel, a node-testable Model.js, the 12-gate pre-submit lane and CI, so a new widget starts already passing. | repo | not a listing | 0 | n/a | n/a | n/a |
16 of 16 listed on the marketplace, 3578 views, 222 copies, 23 hearts, and 4 GitHub stars.
Every command below is read from the marketplace catalog's own installCommand field at refresh time.
# Bazaar
omarchy plugin add https://github.com/jeremylongshore/omarchy-bazaar-entry.git --enable
# Pit Wall
omarchy plugin add https://github.com/jeremylongshore/omarchy-pit-wall-entry.git --enable
# Wait State
omarchy plugin add https://github.com/jeremylongshore/omarchy-wait-state-entry.git --enable
# MLB Booth
omarchy plugin add https://github.com/jeremylongshore/omarchy-mlb-booth-entry.git --enable
# X Files
omarchy plugin add https://github.com/jeremylongshore/omarchy-x-files-entry.git --enable
# Docket
omarchy plugin add https://github.com/jeremylongshore/omarchy-docket-entry.git --enable
# Crew Chief
omarchy plugin add https://github.com/jeremylongshore/omarchy-crew-chief-entry.git --enable
# Listening Post
omarchy plugin add https://github.com/jeremylongshore/omarchy-listening-post-entry.git --enable
# Desk Transition
omarchy plugin add https://github.com/jeremylongshore/omarchy-desk-transition-entry.git --enable
# Foundry
omarchy plugin add https://github.com/jeremylongshore/omarchy-foundry-entry.git --enable
# Loose Ends
omarchy plugin add https://github.com/jeremylongshore/omarchy-loose-ends-entry.git --enable
# Capture Conveyor
omarchy plugin add https://github.com/jeremylongshore/omarchy-capture-conveyor-entry.git --enable
# Workspace Storyboard
omarchy plugin add https://github.com/jeremylongshore/omarchy-workspace-storyboard-entry.git --enable
# Quiet Queue
omarchy plugin add https://github.com/jeremylongshore/omarchy-quiet-queue-entry.git --enable
# Flow Boundary
omarchy plugin add https://github.com/jeremylongshore/omarchy-flow-boundary-entry.git --enable
# omaTrail
omarchy plugin add https://github.com/jeremylongshore/omarchy-omatrail-entry.git --enableManifest and screenshot status are checked from each repository root. Any mismatch stays visible in the generated site rather than being silently corrected here.
All sixteen entries share one deliberate shell shape while telling different product stories. The shape lives in omarchy-widget-template and every entry inherits it:
| File | Role |
|---|---|
BarWidget.qml |
The bar host. Owns the slot and the pill button, and the shape contract the shell uses to summon, hide and toggle the panel. |
Panel.qml |
Data lifecycle and popup UI. Fetches through Process and StdioCollector, never an in-process HTTP client. |
Model.js |
The pure data layer. Loads in Quickshell and in node, so the entire parse path unit-tests without a running shell. |
tests/ |
node --test against fixtures captured from the real API bodies. |
The reason Model.js is a separate file is the reason the whole set holds together: a widget whose parsing only runs inside a compositor is a widget nobody can test, and an untested parser facing a live API is where every one of the defects below came from.
These are not style rules. Each maps to a defect that reached a shipped entry and had to be swept out of it afterwards.
- Every network body parses in
Model.js. Pure functions. Malformed input returns the empty shape, so the panel keeps last-good state instead of tearing down. - Every API string passes
Model.clean()before QML renders it. Strips angle brackets and control characters, caps length. - Every
Textthat renders API data declarestextFormat: Text.PlainText. QML'sAutoTextsniffs strings for HTML, and a hostile payload can otherwise trigger an outbound image fetch from a desktop widget. - Every
curlargv carries--max-timeand--max-filesize. An unbounded body freezes the shell's UI thread insideJSON.parse. - The pill never silently vanishes. An unreachable API reads as loading, not as a widget that uninstalled itself.
- Omakase constants over settings knobs. A manifest settings schema exists only for choices a user genuinely owns.
Twelve gates run before anything is submitted, vendored into every entry and hash-pinned so a shrunken lane cannot report clean against itself:
| Gate | What it refuses |
|---|---|
c28-voice-no-dashes |
Em and en dashes in shipped text |
c29-private-names |
Private names and internal paths leaking into a public tree |
c30-md-strikethrough |
Markdown artifacts in rendered copy |
c31-omarchy-qml-security |
The QML security contract above, mechanically |
c34-omarchy-exec-injection |
Untrusted data reaching a process argv |
c35-omarchy-runtime-dependency |
A manifest that declares an entry point it does not carry |
c36-omarchy-qml-overflow |
Unbounded text and layout overflow in the pill and panel |
c38-omarchy-ssrf-host-allowlist |
A user-supplied host reaching a private address |
c40-omarchy-panel-design |
Panel window types used where the shell expects another |
c41-omarchy-state-file-hygiene |
Mutable local state written without descriptor-safe lifecycle controls |
c42-omarchy-local-resource-budget |
Recurring local scans that buffer or sort unbounded input |
c43-omarchy-marketplace-presentation |
Thin copy, generic banners, stale render receipts, clipped previews, or missing visual approval |
Above the gates sits /omarchy-ship, the submission lane. Its one design rule is that no layer may report a conclusion whose scope it never established. A gate that could not run reports UNPROVEN, never PASS and never "not applicable". That rule exists because every layer of this stack has, at some point, reported success without having checked anything: a runner that counted SKIP as PASS, a gate that answered about a file it had never opened, and a CI job gated on an unset variable rendering as a grey tick that reads like a completed review.
gh repo create YOURNAME/omarchy-your-widget-entry \
--template jeremylongshore/omarchy-widget-template --public --cloneThen replace the example fetch in Panel.qml, the parse functions in Model.js, and the placeholder fields in manifest.json. The gates, the CI and the test harness are already wired.
The table above and site/data/plugins.json are generated from plugins.json plus the official marketplace catalog. Never hand-edit either generated surface:
bash scripts/refresh-metrics.sh # rewrite the table from the live endpoints
bash scripts/refresh-metrics.sh --check # compare both surfaces with a live snapshotIt reads the ids and plugin families from plugins.json rather than deriving them from the catalog, so a marketplace rename cannot quietly delete a row. It reconciles lifecycle status and install commands with the official marketplace, then checks each public GitHub repository for stars, its default branch's latest commit, its root manifest, and preview.png. Manifest drift or a missing preview stays visible instead of being silently corrected. A scheduled workflow reruns the refresh daily and commits when facts move. Pull requests verify that the committed README, site snapshot, detail pages, and no-JavaScript index agree without racing live counters that can change during CI.
The site is dependency-light HTML, CSS, and JavaScript. Preview it from the repository root:
python3 -m http.server 4173 --directory siteThen open http://127.0.0.1:4173. Run bash scripts/check-site.sh before publishing. GitHub Pages deploys site/ after a change reaches main; site/CNAME declares oma.intentsolutions.io. DNS must point that hostname at the Pages host before the custom domain resolves.
The public Privacy, App Privacy, Acceptable Use, and Terms routes are static documents owned by this repository, and their checked-in HTML is the publication authority. They use the restrained light portfolio shell rather than The Beacon Wakes product treatment. Their tests reject scripts, iframes, known stale product names and contacts, and prohibited child-audience assertions. The policies are operational drafts and should receive counsel review before a paid launch or any material change in data collection.
The Omarchy plugin ecosystem is growing, and we are looking for dependable users who want to review issues, test releases, and keep individual plugins healthy. Start with a small pull request or open a maintainer interest issue. Tell us which plugins you use and how you want to help. Consistent contributors can earn maintainer responsibility.
000-docs/001-RL-NEXT-next-omarchy-plugin-concepts.md: three specced concepts, chosen against live catalog saturation counts and the HCI literature on peripheral displays, rather than against what looks good in a screenshot.000-docs/002-LS-BLOK-listening-post-listing-blocked.md: the historical security finding that once blocked Listening Post, retained as a remediation record.000-docs/005-PP-PROD-omatrail-project-brief.md: the omaTrail game Blueprint, with requirements, architecture, experience, tests, risk, and delivery records indexed from the project brief.000-docs/014-PP-PROD-typing-adventure-project-brief.md: the pre-build Omarchy kids typing adventure Blueprint. It authorizes research and disposable proofs only, not a product release.000-docs/028-RA-ANLY-typing-adventure-audience-attention-hypothesis-2026-09-10.md: the primary-source fact-check and experiment design for an older-skewing, high-attention presentation.
Built and maintained by Jeremy Longshore · Intent Solutions. intentsolutions.io