Commit Graph
17 Commits
Author SHA1 Message Date
Ryan Hughes 7e7a665663 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.
2026-06-04 18:34:35 -04:00
Ryan Hughes 0e91948b8f Stop runtime defaults from clobbering OMARCHY_PATH
The /etc/profile.d/omarchy.sh default for OMARCHY_PATH was being clobbered
by shipped config files that re-export the variable to the old script-mode
path. In package mode, every login shell, UWSM session, and Hyprland
autostart was effectively reversing the migration. Fix:

- default/bashrc: source from $OMARCHY_PATH/default/bash/rc; default
  OMARCHY_PATH to /usr/share/omarchy if not set (so the source line
  works in any boot order, including non-login interactive shells).
- default/bash/envs: change 'export OMARCHY_PATH=$HOME/...' to
  'export OMARCHY_PATH=${OMARCHY_PATH:-/usr/share/omarchy}' so the
  profile.d default and install.sh script-mode override both win.
- config/uwsm/env: same defaulting pattern. UWSM may not source
  profile.d, so the inline default still matters.
- default/hypr/autostart.lua: quickshell launched from $OMARCHY_PATH/shell
  (not literal $HOME path). The bash that runs hl.exec_cmd sees
  OMARCHY_PATH propagated from UWSM env.
- config/chromium-flags.conf: --load-extension hard-codes
  /usr/share/omarchy/... because chromium doesn't expand env vars or
  '~'. The omarchy-dev-link workflow symlinks /usr/share/omarchy to a
  checkout.
- bin/omarchy-install-browser: same chromium-flag path correction for
  brave-origin-beta-flags.conf.
2026-06-04 18:34:35 -04:00
David Heinemeier Hansson d13aeacabe Fix the launcher to do inline replacement so it can be used as $EDITOR properly 2026-05-22 14:24:04 +02:00
David Heinemeier Hansson d468c392a9 Make config/uwsm something you should never need to edit 2026-05-19 21:42:02 +02:00
David Heinemeier Hansson 43134875b5 Ensure that $BROWSER runs omarchy-launch-browser and doesn't hand ownership to parent process
This prevents gh auth login from working without an existing open
browser
2026-05-15 16:07:35 +02:00
David Heinemeier Hansson dc2380026e Match bash envs for ssh access 2026-03-12 16:48:59 +01:00
David Heinemeier Hansson 7e69c87f75 Ensure mise activates the shims
To make sure mise shims are right for the tmux layout commands
2026-03-05 11:44:55 -04:00
Ryan Hughes 4c97a31c98 Switch to xdg-terminal-exec
Solves the issue from ae10133b5e the right
way using the actual xdg-terminal-exec package and provides resillient
fallbacks no matter what the user might do.

This also removes the need to restart after changing terminals at all.

fixes #2198
fixes #2329
fixes #2673
fixes #1754
2025-11-03 01:11:09 -05:00
Anton LindholmandGitHub a39ecf41bc config/uwsm/env: remove extra trailing / in path (#2907) 2025-10-27 18:03:52 +01:00
David Heinemeier Hansson c84d98a80b Document defaults better 2025-10-23 08:12:41 -07:00
David Heinemeier Hansson fc4cf86487 We can no longer just relaunch hyprland
So restart it is
2025-10-18 20:08:42 +02:00
David Heinemeier HanssonandGitHub bf0c2cc9a5 Allow custom editor, like we do custom terminal (#1697) 2025-09-16 15:14:29 +02:00
7e1c88b932 update to use $TERMINAL instead of alacitty (#1648)
* update to use $TERMINAL instead of alacitty

* revert

* move env to hyprconfig

* Only set if we have alacritty

* Add launcher for wifi settings so it can be used in mako config

* Set system terminal in config/uwsm/env to ensure its available everywhere

* Ensure that $TERMINAL is available after update

* Didn't work to have the TERMINAL env in Hyprland

* Configure terminal settings against a full set of options

* Make About usable with any terminal

* One more alacritty-specific setting

* Use the new wifi launcher bin

* Only require the update/relaunch if TERMINAL isn't already set in config/uwsm/env

* More alacritty usage converted to $TERMINAL

* Use new launcher

* Change scrolltouchpad input rule to apply to all terminals

* Its a singular match

* Take current font from waybar, in case we don't have alacritty

* Only set font for alacritty if its being used

* Get ready to be terminal agnostic on the refresh of config too

* Use new launcher

* Note the last reliance we have on alacritty

* Make theme setting for terminals generic and include kitty

* Set font_family for kitty as well

* Quiet grep

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-16 14:32:40 +02:00
d4403051cf Add Limine + Snapper support (#998)
* Persist urgent notifications

* Create omarchy-snapshot

* Create snapshot before pulling

* Extract alternative bootloader configs

* Add limine-snapper config

* Fix check

* Update login scripts

* Make chroot friendly

* Extract cmdline instead of using blkid due to error

* Add restore command

* Export $TERMINAL so we get clickable restore notifications

* Remove sync -- causes errors...we have nothing to sync yet

* Executable

* Minor cleanup and compatibility for non-ISO

* Give login its own section

* Give no-arg guard and inline commands

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-08-23 16:52:25 +02:00
Ryan HughesandGitHub c8e848530a Add mise to UWSM path (#654) 2025-08-11 16:40:08 +02:00
David Heinemeier Hansson a23a48594f Set OMARCHY_PATH systemwide as well 2025-08-10 20:23:02 +02:00
Ryan HughesandGitHub b2eb1b08a4 Add ~/.local/share/omarchy/bin to systemwide PATH (#602)
* Add omarchy to system path

* Remove unnecessary duplicate

* Remove path def since it's global now

* Migration for system-wide path

* Remove debug code

* Refresh after update

* Add common state script

* Restart on state detected

* Set state instead

* Export own path for menu
2025-08-10 19:58:44 +02:00