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" ;; 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..b1a04802 --- /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-state set reboot-required