{...}: { # PipeWire-based audio. wpctl (used by the Hyprland media keybinds) is provided # by wireplumber, which PipeWire enables by default. flake.nixosModules.audio = {pkgs, ...}: { environment.systemPackages = with pkgs; [ playerctl # media keys (hypr keybinds) pavucontrol # GUI mixer (waybar pulseaudio on-click) ]; # PipeWire replaces the PulseAudio server; don't run the standalone daemon. services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; }; }