Switch dev-link mechanism from shadow-dir to /etc/omarchy.conf

omarchy-dev-link (lands in a follow-up) writes OMARCHY_PATH=<checkout>
to /etc/omarchy.conf. Three boot/session entry points now source it
before falling back to /usr/share/omarchy:

- /etc/profile.d/omarchy.sh   (login shells, SSH)
- config/uwsm/env             (Hyprland session via UWSM)
- default/bash/envs           (non-login interactive bash; duplicated for
                              SSH and similar)

All three use 'export OMARCHY_PATH="${OMARCHY_PATH:-/usr/share/omarchy}"'
so /etc/omarchy.conf wins over the default, and install.sh's script-mode
export wins over /etc/omarchy.conf (because both use the :- guard).

Hyprland updates session env on the fly via hyprctl setenv +
systemctl --user import-environment, so omarchy-dev-link can re-trigger
those to make live sessions pick up the new path without restart.
This commit is contained in:
Ryan Hughes
2026-06-04 18:34:35 -04:00
parent 0777b20967
commit 7e7a665663
3 changed files with 18 additions and 24 deletions
+4 -3
View File
@@ -6,8 +6,9 @@ export BAT_THEME=ansi
export MANROFFOPT="-c"
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
# Duplicated from .config/uwsm/env so SSH works too.
# /etc/profile.d/omarchy.sh defaults OMARCHY_PATH to /usr/share/omarchy.
# Honor whatever's already set (so install.sh's script-mode override wins).
# Duplicated from .config/uwsm/env so SSH/non-login shells also see the
# override. /etc/omarchy.conf wins (omarchy-dev-link writes it);
# install.sh's script-mode export wins over that via the :- guard.
[ -f /etc/omarchy.conf ] && . /etc/omarchy.conf
export OMARCHY_PATH="${OMARCHY_PATH:-/usr/share/omarchy}"
export PATH="$OMARCHY_PATH/bin:$PATH:$HOME/.local/bin"