@@ -36,6 +36,8 @@ let
3636 ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"}
3737 ${addModuleIf cfg.tcp.enable (concatStringsSep " "
3838 ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
39+ ${addModuleIf config.services.jack.jackd.enable "module-jack-sink"}
40+ ${addModuleIf config.services.jack.jackd.enable "module-jack-source"}
3941 ${cfg.extraConfig}
4042 '';
4143 };
@@ -144,7 +146,9 @@ in {
144146
145147 package = mkOption {
146148 type = types.package;
147− default = pkgs.pulseaudio;
149+ default = if config.services.jack.jackd.enable
150+ then pkgs.pulseaudioFull
151+ else pkgs.pulseaudio;
148152 defaultText = "pkgs.pulseaudio";
149153 example = literalExample "pkgs.pulseaudioFull";
150154 description = ''
@@ -284,6 +288,8 @@ in {
284288 RestartSec = "500ms";
285289 PassEnvironment = "DISPLAY";
286290 };
291+ } // optionalAttrs config.services.jack.jackd.enable {
292+ environment.JACK_PROMISCUOUS_SERVER = "jackaudio";
287293 };
288294 sockets.pulseaudio = {
289295 wantedBy = [ "sockets.target" ];