Merge pull request #93431 from sorki/audio/pulseJack

nixos/jack,pulseaudio: fix pulse connection to jackd service

authored by WORLDofPEACE and committed by GitHub fcef6467 fdca2039

+10 -1
+7 -1
nixos/modules/config/pulseaudio.nix
··· 36 36 ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"} 37 37 ${addModuleIf cfg.tcp.enable (concatStringsSep " " 38 38 ([ "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"} 39 41 ${cfg.extraConfig} 40 42 ''; 41 43 }; ··· 144 146 145 147 package = mkOption { 146 148 type = types.package; 147 - default = pkgs.pulseaudio; 149 + default = if config.services.jack.jackd.enable 150 + then pkgs.pulseaudioFull 151 + else pkgs.pulseaudio; 148 152 defaultText = "pkgs.pulseaudio"; 149 153 example = literalExample "pkgs.pulseaudioFull"; 150 154 description = '' ··· 284 288 RestartSec = "500ms"; 285 289 PassEnvironment = "DISPLAY"; 286 290 }; 291 + } // optionalAttrs config.services.jack.jackd.enable { 292 + environment.JACK_PROMISCUOUS_SERVER = "jackaudio"; 287 293 }; 288 294 sockets.pulseaudio = { 289 295 wantedBy = [ "sockets.target" ];
+3
nixos/modules/services/audio/jack.nix
··· 246 246 description = "JACK Audio Connection Kit"; 247 247 serviceConfig = { 248 248 User = "jackaudio"; 249 + SupplementaryGroups = lib.optional 250 + (config.hardware.pulseaudio.enable 251 + && !config.hardware.pulseaudio.systemWide) "users"; 249 252 ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}"; 250 253 LimitRTPRIO = 99; 251 254 LimitMEMLOCK = "infinity";