[audio] Setup squeezelite

This commit is contained in:
2025-02-16 18:41:50 -08:00
parent 50f9defdd5
commit 1d0b3a0367

View File

@@ -8,9 +8,36 @@ in
{ {
options.roles.audio = { options.roles.audio = {
enable = mkEnableOption "Enable the audio role"; enable = mkEnableOption "Enable the audio role";
pulseAudio = mkOption { type = types.bool; default = false; description = "Use PulseAudio exclusively instead of Pipewire"; };
}; };
config = mkIf cfg.enable config = mkIf cfg.enable (mkMerge [
(mkIf cfg.pulseAudio {
services.pipewire.enable = false;
services.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
systemWide = true;
extraConfig = ''
load-module module-combine-sink
load-module module-switch-on-connect
'';
};
nixpkgs.config.pulseaudio = true;
})
(mkIf (!cfg.pulseAudio) {
services.pipewire = {
enable = true;
systemWide = true;
audio.enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
jack.enable = true;
};
})
{ {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
paprefs paprefs
@@ -18,17 +45,10 @@ in
pulsemixer pulsemixer
]; ];
services.pipewire = { services.squeezelite = {
enable = true; enable = true;
pulse.enable = true; pulseAudio = true;
}; };
services.pulseaudio = { }
package = pkgs.pulseaudioFull; ]);
extraConfig = ''
load-module module-combine-sink
load-module module-switch-on-connect
'';
};
};
} }