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
+6 -3
View File
@@ -1,8 +1,11 @@
# Changes require a restart to take effect.
# Ensure Omarchy bins are in the path. /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).
# Source /etc/omarchy.conf so omarchy-dev-link (which writes
# OMARCHY_PATH=<checkout> there) wins over the default. install.sh's
# script-mode export still wins because the file uses the same :- guard.
# UWSM doesn't source /etc/profile.d/, so this duplicates that logic for the
# Hyprland session.
[ -f /etc/omarchy.conf ] && . /etc/omarchy.conf
export OMARCHY_PATH="${OMARCHY_PATH:-/usr/share/omarchy}"
export PATH="$OMARCHY_PATH/bin:$PATH:$HOME/.local/bin"