Compare commits
2 Commits
d71d7a1ffb
...
1d0b3a0367
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d0b3a0367 | |||
| 50f9defdd5 |
@@ -12,6 +12,7 @@
|
||||
];
|
||||
|
||||
roles = {
|
||||
audio.enable = true;
|
||||
desktop = {
|
||||
enable = true;
|
||||
wayland = true;
|
||||
|
||||
@@ -8,9 +8,36 @@ in
|
||||
{
|
||||
options.roles.audio = {
|
||||
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; [
|
||||
paprefs
|
||||
@@ -18,17 +45,10 @@ in
|
||||
pulsemixer
|
||||
];
|
||||
|
||||
services.pipewire = {
|
||||
services.squeezelite = {
|
||||
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