Omahub
← All plugins
B

Homepage Shortcuts

by bscott

A dropdown of the services and bookmarks configured on a Homepage (gethomepage.dev) dashboard, refreshed from its API so the list stays in sync with the dashboard.

Install
$ omarchy plugin add https://github.com/bscott/homepage-oma-plugin --enable

Homepage Shortcuts

Homepage Shortcuts panel

An Omarchy shell bar widget that drops down the services and bookmarks configured on a Homepage dashboard, so anything on the dashboard is one click away from the top bar.

The dashboard's config is the single source of truth: the widget reads Homepage's own /api/services and /api/bookmarks endpoints, so adding, renaming, or removing a service on the dashboard is all it takes for the dropdown to follow.

Install

omarchy plugin add git@github.com:bscott/homepage-oma-plugin.git --enable

Then set your Homepage URL in the widget's settings (or in the widget's shell.json entry as "baseUrl"). Until it is set, the dropdown shows a hint instead of shortcuts.

To remove the plugin:

omarchy plugin remove bscott.homepage

Removal leaves your Homepage dashboard untouched. The widget's own data is two small directories you can delete if you want a full cleanup: ~/.local/state/omarchy-homepage-widget/ (pins) and ~/.cache/omarchy-homepage-widget/ (fetch cache).

Upgrading from 1.x: version 2.0.0 renamed the plugin id from net.dogdragon.homepage to bscott.homepage. After updating, change the widget's id in your shell.json (and any keybindings that call the old IPC target) to the new name. Pins and settings are otherwise unaffected.

Behavior

  • Bar icon (apps grid): left-click toggles the dropdown, right-click refreshes the list, middle-click opens the dashboard itself.
  • Dropdown: shortcuts grouped exactly as Homepage groups them, each with a monogram tile, name, and description. Click one to open it in the browser.
  • Pinned favorites: pin any shortcut to a "Pinned" group at the top — right-click a row, press p on it, or use the pin button that appears under the cursor. Pins keep the order you pinned them in, persist in ~/.local/state/omarchy-homepage-widget/pins.json, and survive a pinned service temporarily disappearing from the dashboard.
  • Keyboard: ↑/↓ or j/k to move, Enter/Space to open, / to focus the filter field, p to pin/unpin, r to refresh, o to open the dashboard, Esc to close. In the filter field: Enter opens the selected match, returns to the list, Esc clears then unfocuses.
  • Staying up to date: the list re-fetches on a configurable interval (default 5 minutes) and on panel open once it is more than a minute old.
  • Offline: the last successful fetch is cached on disk (~/.cache/omarchy-homepage-widget/) and served — labeled as cached — when Homepage is unreachable, so the dropdown never empties out on a VPN blip.

Settings

Configured per-instance in shell.json (or via the shell's widget settings):

Key Default Meaning
baseUrl (unset) Homepage instance to mirror, e.g. https://homepage.example.com
refreshIntervalSec 300 Background refresh cadence
includeBookmarks true Also list bookmark groups
openCommand xdg-open Command that receives a shortcut URL

IPC

omarchy-shell bscott.homepage toggle    # also: open / close
omarchy-shell bscott.homepage refresh
omarchy-shell bscott.homepage status
omarchy-shell bscott.homepage pin "https://photos.example.com"   # toggles
omarchy-shell bscott.homepage pins

toggle is handy behind a Hyprland keybinding.

Requirements

curl and jq (both ship with Omarchy).