From 9c3520caf9ff03e1b70003850553c9adce4e0f72 Mon Sep 17 00:00:00 2001 From: Diego Rios Date: Thu, 7 May 2026 08:48:26 -0600 Subject: [PATCH 1/3] Enable Bluetooth A2DP auto-connect in WirePlumber (#5336) * Enable Bluetooth A2DP auto-connect in WirePlumber * Harden Bluetooth A2DP migration --- bin/omarchy-restart-pipewire | 8 ++++++-- .../bluetooth-a2dp-autoconnect.conf | 18 ++++++++++++++++++ install/config/hardware/bluetooth.sh | 4 ++++ migrations/1776346552.sh | 14 ++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf create mode 100644 migrations/1776346552.sh diff --git a/bin/omarchy-restart-pipewire b/bin/omarchy-restart-pipewire index 14276bad..f69be512 100755 --- a/bin/omarchy-restart-pipewire +++ b/bin/omarchy-restart-pipewire @@ -2,5 +2,9 @@ # omarchy:summary=Restart the PipeWire audio service to fix audio issues or apply new configuration. -echo -e "Restarting pipewire audio service...\n" -systemctl --user restart pipewire.service +echo -e "Restarting PipeWire audio services...\n" +systemctl --user restart wireplumber.service pipewire.service + +if systemctl --user --quiet is-active pipewire-pulse.service; then + systemctl --user restart pipewire-pulse.service +fi diff --git a/default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf b/default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf new file mode 100644 index 00000000..d6234ab9 --- /dev/null +++ b/default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf @@ -0,0 +1,18 @@ +## Auto-connect A2DP playback/capture profiles on Bluetooth devices. +## This helps speakers and receivers expose their audio profiles without +## requiring manual PipeWire/WirePlumber recovery. + +monitor.bluez.rules = [ + { + matches = [ + { + device.name = "~bluez_card.*" + } + ] + actions = { + update-props = { + bluez5.auto-connect = [ a2dp_sink a2dp_source ] + } + } + } +] diff --git a/install/config/hardware/bluetooth.sh b/install/config/hardware/bluetooth.sh index 65fc90d1..2157f07b 100644 --- a/install/config/hardware/bluetooth.sh +++ b/install/config/hardware/bluetooth.sh @@ -1,2 +1,6 @@ # Turn on bluetooth by default chrootable_systemctl_enable bluetooth.service + +mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ +cp $OMARCHY_PATH/default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf \ + ~/.config/wireplumber/wireplumber.conf.d/ diff --git a/migrations/1776346552.sh b/migrations/1776346552.sh new file mode 100644 index 00000000..b602340e --- /dev/null +++ b/migrations/1776346552.sh @@ -0,0 +1,14 @@ +set -e + +echo "Enable Bluetooth A2DP auto-connect in WirePlumber" + +destination=~/.config/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf + +mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ + +if [[ ! -f "$destination" ]]; then + cp "$OMARCHY_PATH/default/wireplumber/wireplumber.conf.d/bluetooth-a2dp-autoconnect.conf" \ + "$destination" +fi + +omarchy-restart-pipewire From 573f75afeba8fd8be96b5a9d1a09dc6c5e701c50 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 7 May 2026 16:55:54 +0200 Subject: [PATCH 2/3] Fix that zed cli is zeditor --- bin/omarchy-default-editor | 2 +- bin/omarchy-menu | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/omarchy-default-editor b/bin/omarchy-default-editor index f0495504..31846450 100755 --- a/bin/omarchy-default-editor +++ b/bin/omarchy-default-editor @@ -12,7 +12,7 @@ fi case "$1" in code) editor="code"; name="VSCode"; glyph="" ;; cursor) editor="cursor"; name="Cursor"; glyph="" ;; -zed) editor="zed"; name="Zed"; glyph="" ;; +zed | zeditor) editor="zeditor"; name="Zed"; glyph="" ;; sublime_text) editor="sublime_text"; name="Sublime Text"; glyph="" ;; helix) editor="helix"; name="Helix"; glyph="" ;; vim) editor="vim"; name="Vim"; glyph="" ;; diff --git a/bin/omarchy-menu b/bin/omarchy-menu index fd7210fe..ec9a5aae 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -389,7 +389,7 @@ show_setup_default_editor_menu() { omarchy-cmd-present nvim && options="$options Neovim" omarchy-cmd-present code && options="${options:+$options\n} VSCode" omarchy-cmd-present cursor && options="${options:+$options\n} Cursor" - omarchy-cmd-present zed && options="${options:+$options\n} Zed" + omarchy-cmd-present zeditor && options="${options:+$options\n} Zed" omarchy-cmd-present sublime_text && options="${options:+$options\n} Sublime Text" omarchy-cmd-present helix && options="${options:+$options\n} Helix" omarchy-cmd-present vim && options="${options:+$options\n} Vim" @@ -400,7 +400,7 @@ show_setup_default_editor_menu() { nvim) current=" Neovim" ;; code) current=" VSCode" ;; cursor) current=" Cursor" ;; - zed) current=" Zed" ;; + zed | zeditor) current=" Zed" ;; sublime_text) current=" Sublime Text" ;; helix) current=" Helix" ;; vim) current=" Vim" ;; From 2293df2913328b261765a3cf304170605e4fd843 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 7 May 2026 17:02:08 +0200 Subject: [PATCH 3/3] This requires a full reboot to work --- migrations/1776346552.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migrations/1776346552.sh b/migrations/1776346552.sh index b602340e..b1a04802 100644 --- a/migrations/1776346552.sh +++ b/migrations/1776346552.sh @@ -11,4 +11,4 @@ if [[ ! -f "$destination" ]]; then "$destination" fi -omarchy-restart-pipewire +omarchy-state set reboot-required