The 2026-09-19 revision of this migration, and a symlink then shipped under config/, pointed every install's ~/.config/omarchy/plugins/omacom.elsewhen at /usr/share/omarchy/plugins/omacom.elsewhen. elsewhen 1.0.0-2 moved to shell/plugins, so the link dangles, the shell lists the plugin as enabled but never loads it, and the bar carries an empty slot. The migration kept any existing link, resolving or not, so a rerun could not repair it. A link into /usr/share/omarchy that no longer resolves is Omarchy's own and is re-pointed; a link the user made is still left alone.
24 lines
1.0 KiB
Bash
24 lines
1.0 KiB
Bash
echo "Install Elsewhen, the world clock plugin"
|
|
|
|
omarchy-pkg-add elsewhen
|
|
|
|
packaged_plugin="/usr/share/omarchy/shell/plugins/omacom.elsewhen"
|
|
user_plugin="$HOME/.config/omarchy/plugins/omacom.elsewhen"
|
|
|
|
# The package moved from plugins/ to shell/plugins/ once, stranding the link an
|
|
# earlier run made to the old path. A link the user made is left alone.
|
|
if [[ -L $user_plugin && ! -e $user_plugin && $(readlink "$user_plugin") == /usr/share/omarchy/* && -d $packaged_plugin ]]; then
|
|
ln -sfn "$packaged_plugin" "$user_plugin"
|
|
fi
|
|
|
|
# Dev checkouts do not contain plugins installed by system packages.
|
|
if [[ ! $OMARCHY_PATH -ef /usr/share/omarchy && -d $packaged_plugin && ! -e $user_plugin && ! -L $user_plugin ]]; then
|
|
mkdir -p "${user_plugin%/*}"
|
|
ln -s "$packaged_plugin" "$user_plugin"
|
|
fi
|
|
|
|
# Best-effort, like the put below: an update whose shell cannot be asked still
|
|
# finishes, and restarts the shell once the migrations are through.
|
|
omarchy-shell -q shell rescanPlugins
|
|
omarchy-bar put omacom.elsewhen --before omarchy.clock
|