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