Skip to content

Audio Devices

ulises-jeremias edited this page Aug 28, 2026 · 1 revision

๐Ÿ”Š Audio Devices Guide

HorneroConfig ships a PipeWire-first audio stack driven by the Quickshell Audio service, with pamixer and playerctl as the CLI layer.


๐Ÿงฑ The Stack

Layer Component Role
Server PipeWire Low-latency capture/playback, Bluetooth (bluez)
Session manager WirePlumber Device routing and profiles
Shell Quickshell services/Audio Volume, mute, devices, OSD popouts
CLI pamixer, pactl, playerctl Scripted control (media keybinds)

Tip

dots dependencies verifies PipeWire is installed as part of the stack.


โŒจ๏ธ Keybinds (Media Keys)

Keys Action
XF86AudioRaiseVolume Volume +5%
XF86AudioLowerVolume Volume -5%
XF86AudioMute Mute output
XF86AudioMicMute Mute microphone
XF86AudioPlay/Pause/Next/Prev MPRIS via playerctl

These map to pamixer / playerctl calls in hyprland.conf.d/keybindings.conf โ€” edit them with chezmoi edit ~/.config/hypr/hyprland.conf.d/keybindings.conf.


๐Ÿ–ฅ๏ธ Selecting Devices

  • Bar: click the speaker status icon โ†’ the audio popout lists every output/input device; pick one and drag the volume slider
  • Click "Open settings" in that popout โ†’ detaches the full audio panel
  • CLI:
pactl list sinks short              # outputs
pactl set-default-sink <name>       # switch default
pamixer --list-sources              # microphones
pamixer --default-source -i 10      # mic +10%

๐ŸŽš๏ธ OSD Behaviour

Volume/mic/brightness changes raise the on-screen display (modules/osd) automatically; it hides after Config.osd.hideDelay (configurable in the control center โ†’ On-Screen Display).


๐ŸŒˆ Extras

  • The cava visualizer (background.visualiser) feeds from the same PipeWire graph โ€” enable it per preset or via dots-quickshell config set background.visualiser.enabled true
  • Now Playing widgets (dashboard Media tab, lockscreen) read MPRIS metadata through playerctl

๐Ÿ†˜ Troubleshooting

  • No sound after suspend: systemctl --user restart wireplumber
  • Bluetooth headphones missing: ensure bluez + bluez-utils (the bluetooth install fragment covers them) and rfkill unblock bluetooth
  • Device not defaulting: check pactl get-default-sink vs your Desktop profile in the audio popout

๐Ÿ“š HorneroConfig Wiki

๐Ÿ  Getting Started

๐ŸชŸ Window Manager & Desktop

Hyprland (Wayland)

Visual Components

Terminal & Shell

๐Ÿ”ง Scripts & Utilities

๐Ÿ“œ Core Scripts

๐ŸŽฏ Key Tools

Quickshell-first flows:

Media & Screen:

System:

๐ŸŽต Studio & Audio

๐Ÿ›ก๏ธ System & Hardware

๐Ÿงช Development


๐Ÿ” Quick Access

Essential:

Recent Updates:

  • โญ Dots Scripts - Quickshell-first command reference
  • ๐Ÿ†• Hybrid GPU - NVIDIA/Intel power management
  • ๐Ÿ†• Changelog 2025 - Latest changes

Clone this wiki locally