Commit Graph
138 Commits
Author SHA1 Message Date
Ryan Hughes a086b03dd1 Replace ~/.local/share/omarchy runtime paths with $OMARCHY_PATH
The git-era flow installed Omarchy to ~/.local/share/omarchy. In the
package-based flow it lives at /usr/share/omarchy (or, in dev mode, at
the path /etc/omarchy.conf's OMARCHY_PATH points at). Files that hard-
coded the old path broke on package installs:

- default/bash/rc: sourced ~/.local/share/omarchy/default/bash/*, so a
  fresh user's terminal logged ENOENT for every line. Now sources from
  $OMARCHY_PATH with /usr/share/omarchy as the safe default if the var
  is unset.

- config/systemd/user/omarchy-recover-internal-monitor.service:
  ExecStart pointed at %h/.local/share/omarchy/bin/. The script ships
  to /usr/bin via the omarchy-installer package; point straight there.

- install/config/xcompose.sh: wrote an XCompose include line pointing
  at the user-home path; use /usr/share/omarchy/ directly.

- default/hypr/paths.lua and config/hypr/hyprland.lua: fallback when
  OMARCHY_PATH is unset is /usr/share/omarchy, not the home path.

Dev-only scripts (omarchy-dev-add-migration, omarchy-reinstall-git) and
the SKILL.md docs still reference the old path; those are separate
cleanups since they don't affect a fresh install's runtime.
2026-06-04 18:34:35 -04:00
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 3986522d6e Extend shell bar config command 2026-05-27 11:20:42 +02:00
David Heinemeier Hansson 1bd3c8a9b0 Add codex yolo mode 2026-05-22 14:43:45 +02:00
David Heinemeier Hansson 0dfbd74663 Drop old compatibility functions 2026-05-19 21:45:52 +02:00
David Heinemeier Hansson 43ec46f699 Add tds 4-way 2026-05-11 18:21:45 +02:00
David Heinemeier Hansson 8c5fb7abc3 Make sure arg enums can autocomplete too 2026-05-08 16:06:10 +02:00
David Heinemeier Hansson b8fc1bb6d9 Add omarchy menu transcoding 2026-05-05 13:55:21 +02:00
David Heinemeier Hansson 8950fd4143 Allow file completions when we are out of omarchy completions 2026-05-05 13:46:56 +02:00
David Heinemeier Hansson 10165f2799 Add video to gif transcoding 2026-05-03 19:16:16 +02:00
David Heinemeier Hansson 7f1071298c Completion should not include --help 2026-05-01 18:04:42 +02:00
David Heinemeier Hansson 199183ea8b Hide individual omarchy-* binaries from initial-word command completion
The unified `omarchy` dispatcher is the user-facing entry point
2026-05-01 18:04:42 +02:00
d2a4cc0c4d Add omarchy CLI (#5477)
* Add omarchy CLI

* Remove outdated or internal

* Add bash completions for command

* Add omarchy command documentation

* Add missing docs

* Correct to what's now right

* Fix tests

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2026-05-01 17:40:22 +02:00
David Heinemeier Hansson 0aafd647e7 Better ordering 2026-04-30 10:25:45 +02:00
Michał BorejszoandGitHub d8a0deb400 Color man pages with bat (#5491) 2026-04-30 10:25:28 +02:00
David Heinemeier Hansson 72ac23610f Try with split out i aliases 2026-04-28 11:51:47 +02:00
David Heinemeier Hansson cac03a5b64 Add i alias for ide with opencode and claude 2026-04-23 10:54:34 +02:00
innerviewerandGitHub b275ec50be (Bash) Add lazy initialization of try command. (#5179)
* (Bash) Add lazy initialization of `try` and `mise` commands.

* (Bash) Removed lazy-loading for `mise`
2026-04-22 14:02:53 +02:00
pontinoandGitHub 4e7c51b3bc Update cx alias to use new --permission-mode flag (#5233)
The `--allow-dangerously-skip-permissions` flag has been replaced
by `--permission-mode bypassPermissions` in Claude Code.
2026-04-22 13:50:47 +02:00
Robert StringerandGitHub b2b2903e22 Skip starship init for dumb bash sessions (#5255) 2026-04-10 06:57:22 -04:00
8c6fcbf2f0 Rename local path variable in ga() to avoid clobbering zsh PATH (#5115)
Co-authored-by: John Allen <git@porcnick.com>
2026-03-26 07:47:49 +01:00
David Heinemeier Hansson a91fde6a3b Add 6K too 2026-03-25 14:25:01 +01:00
David Heinemeier Hansson 5726f22471 85 is probably the sweetspot 2026-03-25 14:22:31 +01:00
David Heinemeier Hansson e288092084 Adjust sizes and quality 2026-03-25 14:20:25 +01:00
David Heinemeier Hansson 93e243eba5 Add sff for using ff together with scp for easily sending files to remote servers 2026-03-10 11:58:41 +01:00
David Heinemeier Hansson c880e8fbcb Allow kitty to preview images when using ff 2026-03-10 10:50:10 +01:00
David Heinemeier Hansson 462575c880 Fix worktree removal 2026-03-08 13:25:46 +01:00
David Heinemeier Hansson 3306c428dd Spelling 2026-03-08 13:25:46 +01:00
David Heinemeier Hansson e58ac44a0d Don't leak local var into global space 2026-03-08 13:25:46 +01:00
a261819a9b Use tmux native method of renaming windows (#4910)
* Use tmux native method of renaming windows

This uses tmux's built in method of renaming windows, and it even works
with pane switching rather than relying on cd to change the window name

* Update config/tmux/tmux.conf

I agree with the copilot suggestion

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jadon Brutcher <jadon.brutcher@deltamobile.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-07 19:13:18 +01:00
David Heinemeier Hansson d3285f6b00 Can't do shim activation here without overwriting the ./bin path addition
But not necessary since uwsm/env handles the underlying problem
2026-03-05 13:42:55 -04:00
David Heinemeier Hansson 2efc43762a Make tmux window named after cwd 2026-03-05 11:50:32 -04: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
e648902683 Fix try interactive selector appearing on bashrc re-source (#4877)
`try init` defines a shell function named `try`. On subsequent
`source ~/.bashrc`, `try init` calls the function (interactive
selector) instead of the binary. Adding `command` bypasses the
function and always calls the binary.

Fixes #4876

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:24:43 -05:00
David Heinemeier Hansson 1c8d7a7487 Add worktrees functions 2026-03-01 17:39:12 +01:00
David Heinemeier Hansson 8ac7cd9e23 Stop erasing output without a newline
Closes #4783
References #4269
2026-02-27 17:44:46 +01:00
Alex P. GatesandGitHub 302d041d8e Update bash rc source order 2026-02-27 10:13:12 -06:00
David Heinemeier Hansson b97ea79090 Include .local/bin in path by default 2026-02-27 09:32:31 +01:00
David Heinemeier Hansson 6757b7068a Ensure OMARCHY_PATH + bin PATH are set for SSH access
Closes #4757
2026-02-26 22:40:57 +01:00
David Heinemeier Hansson c3f7575474 Allow for a second AI 2026-02-26 14:48:42 +01:00
David Heinemeier Hansson 91855a56b4 Just go straight to build 2026-02-26 13:15:46 +01:00
David Heinemeier Hansson b1960fe870 Fix for many panes 2026-02-26 13:15:36 +01:00
David Heinemeier Hansson 74c9703ea3 Add usage docs 2026-02-26 13:12:17 +01:00
David Heinemeier Hansson 3408445880 Use consistent style 2026-02-26 12:13:05 +01:00
David Heinemeier Hansson ab615092ab Fix comment 2026-02-26 12:10:53 +01:00
David Heinemeier Hansson 57f07cc9c8 Follow style guide 2026-02-26 12:08:20 +01:00
David Heinemeier Hansson cc3d8e4abe Fix quoting for file inputs in transcoding functions 2026-02-26 12:00:08 +01:00
David Heinemeier Hansson 47829841f3 Fix quoting 2026-02-26 11:47:19 +01:00
David Heinemeier Hansson f6c7b96e01 Use const path 2026-02-26 11:45:07 +01:00