Install Elsewhen, the world clock plugin, by default

Elsewhen (omacom.elsewhen) arrives as the elsewhen package under
/usr/share/omarchy/plugins, the packaged root the shell scans between its
bundled plugins and the user's. It opens the right section of the default
bar, just before the tray, and a migration installs the package, writes the
widget into a customized shell.json in the same spot, and retires a pristine
pre-package clone of the upstream repo that the package now shadows.
This commit is contained in:
Spencer Bull committed 2026-09-17 21:41:01 -05:00
1 parent 9c5482c58d
commit 531c3e890f
10 files changed
+417 -3

No files matched your search

+14
View File
@@ -140,6 +140,19 @@ You can still drop a plugin in without git:
`barWidget.defaultSection`, or in the center when it is omitted, and can be
moved with `omarchy bar move`; a full bar replaces the one in use.
### Packaged plugins
Some default plugins ship as their own Arch package rather than in this
checkout: Elsewhen (`omacom.elsewhen`) is the `elsewhen` package. pacman installs such a plugin,
root-owned, at `/usr/share/omarchy/plugins/<plugin-id>/`, and
the shell scans that root between its bundled plugins and the user's. A
packaged `omarchy.*` id is trusted exactly like a bundled one; a packaged
plugin under any other id is treated like a user plugin. They update with
`omarchy update` and are removed with pacman, so `omarchy plugin update` and
`omarchy plugin remove` refuse them and name the package instead. A bundled
copy in `$OMARCHY_PATH/shell/plugins` wins over the packaged one, which is how
a packaged plugin is developed under `omarchy dev link`.
The lower-level IPC equivalents remain available via `omarchy-shell shell rescanPlugins`,
`omarchy-shell shell enablePlugin <id> '{}'`, and `omarchy-shell shell listPlugins`.
The `omarchy plugin` commands wrap those calls. `omarchy bar move` and
@@ -224,6 +237,7 @@ customization from the shipped defaults lives in it.
|-----------------------------------|----------------|--------------------------------------------------------|
| `~/.config/omarchy/shell.json` | the shell | full layout + per-entry settings + enabled plugin list |
| `~/.config/omarchy/plugins/<id>/` | user | drop-in third-party plugin source files |
| `/usr/share/omarchy/plugins/<id>/` | pacman | packaged plugins (e.g. `elsewhen`), updated by `omarchy update` |
The `config/omarchy/shell.json` default config describes the
fresh-install state. When the user has no `shell.json`, the shell uses