[audio] Setup squeezelite
This commit is contained in:
@@ -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
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user