* fix: implement proper hierarchical menu navigation
Add intelligent exit behavior that respects menu hierarchy and direct access:
**Direct Access Behavior:**
- When menus are accessed via command line arguments or keybindings
- Pressing Escape/Cancel exits the application completely
- Example: `omarchy-menu theme` → Escape → exits completely
**Hierarchical Navigation:**
- When navigating through menu system (Main → Style → Theme)
- Pressing Escape/Cancel returns to parent menu
- Examples:
- Theme menu → Style menu (not main menu)
- Font menu → Style menu (not main menu)
- Power menu → Setup menu (not main menu)
- Update Process/Config menus → Update menu (not main menu)
**Implementation:**
- `DIRECT_ACCESS` global variable tracks access method
- `handle_exit(parent_menu)` provides consistent behavior
- Applied to theme, font, power, and update submenus
- Maintains backward compatibility for all existing navigation
* Naming and add to system menu too
* Naming
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
* add visual feedback for super + mute
- show visual feedback (device name and volume icon) when super+mute is pressed
- avoid reassigning the sink when only one is available, since this prevents devices (e.g. headphones) from regaining audio after reconnect
* cleanup
* changes needed
* fix: remove hardcoded channel reference
* Added Clojure to the Development Omarchy Menu
also implemented it in omarchy-install-dev-env
* Update the icon to use the Clojure logo from Nerd Fonts
Thanks to @Sgierek106
* Use omarchy-pkg-add
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
Empty DNS= and FallbackDNS= in resolved.conf were blocking VPN DNS
servers when VPN clients replaced /etc/resolv.conf.
Removing these empty values allows systemd-resolved to:
- Use DHCP DNS from network interfaces (existing behavior)
- Fall back to system defaults when needed
- Switch to 'foreign' mode for VPN DNS override
Fixes#1509
While working in a non-trivial feature, debugging support was needed.
Since Xdebug is the official PHP debugger, is available in Arch's
official repositories, and is trivial to configure, it makes sense to
include it in the PHP development environment.
This addition improves the overall development experience for PHP
developers by enabling easier inspection and troubleshooting.
With this PR, the debugger now shows up an enabled extension:
```
$ php -v
PHP 8.4.12 (cli) (built: Aug 27 2025 06:23:40) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.12, Copyright (c) Zend Technologies
with Xdebug v3.4.4, Copyright (c) 2002-2025, by Derick Rethans
```
I'm creating dotfiles that as soon as Omarchy is installed, allow me to
perform my own customizations to get the system up and running in no
time according to my own needs.
One of them for example runs:
~/.local/share/omarchy/bin/omarchy-install-dev-env laravel
However, something like that is not possible with the Docker databases
because it assumes interactivity via `gum`.
This PR fixes that by either taking the choices as arguments or
providing interactivity when that's not the case.
~/.local/share/omarchy/bin/omarchy-install-docker-dbs MySQL
I tried to install `Minecraft` through Omarchy's menu, however it fails
with the following error message:
error: target not found: minecraft-launcher
This occurs because, according to Arch's documentation, the package is
available through AUR rather than the official repositories.
Reference: https://wiki.archlinux.org/title/Minecraft#Installation
* install ollama from the official website
* installing ollama-cuda if nvidia-smi exists
* add check for rocminfo installation for AMD GPUs
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>
As well as installing the `emacs-wayland` package, we enable and start
the `emacs` systemd service. A GUI Emacs client can then be started
using e.g. `emacsclient -c`.