{ lib, config, pkgs, ... }: with lib; let cfg = config.roles.audio; in { options.roles.audio = { enable = mkEnableOption "Enable the audio role"; }; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ alsa-utils paprefs pavucontrol pulsemixer ]; hardware.pulseaudio.enable = true; hardware.pulseaudio.package = pkgs.pulseaudioFull; hardware.pulseaudio.support32Bit = true; hardware.pulseaudio.extraConfig = " load-module module-combine-sink load-module module-switch-on-connect "; }; }