Skip to content

Repository files navigation

Intent Solutions Omarchy Plugins

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

Marketplace: 16 live Template: MIT Gates: 12

ko-fi


What this is

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.

The catalog

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.

Install

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 --enable

Manifest and screenshot status are checked from each repository root. Any mismatch stays visible in the generated site rather than being silently corrected here.

One shared architecture

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.

The security posture every entry inherits

These are not style rules. Each maps to a defect that reached a shipped entry and had to be swept out of it afterwards.

  1. 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.
  2. Every API string passes Model.clean() before QML renders it. Strips angle brackets and control characters, caps length.
  3. Every Text that renders API data declares textFormat: Text.PlainText. QML's AutoText sniffs strings for HTML, and a hostile payload can otherwise trigger an outbound image fetch from a desktop widget.
  4. Every curl argv carries --max-time and --max-filesize. An unbounded body freezes the shell's UI thread inside JSON.parse.
  5. The pill never silently vanishes. An unreachable API reads as loading, not as a widget that uninstalled itself.
  6. Omakase constants over settings knobs. A manifest settings schema exists only for choices a user genuinely owns.

The gate lane

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.

Build your own

gh repo create YOURNAME/omarchy-your-widget-entry \
  --template jeremylongshore/omarchy-widget-template --public --clone

Then 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.

Keeping this page honest

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 snapshot

It 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.

Preview and deploy the portfolio

The site is dependency-light HTML, CSS, and JavaScript. Preview it from the repository root:

python3 -m http.server 4173 --directory site

Then 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.

Legal documents

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.

Maintainers wanted

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.

Research


Built and maintained by Jeremy Longshore · Intent Solutions. intentsolutions.io

About

Intent Solutions Omarchy Plugin Works: 16 public plugins, official marketplace status, source, screenshots, install commands, and one permanent page per plugin.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages