git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #93431 from sorki/audio/pulseJack

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

commitfcef646736e2772dbe8bfb0ba4a3df72ee21b55f authorWORLDofPEACE <worldofpeace@protonmail.ch> dateMon 9 Nov 2020, 19:40 (6 years ago) parentfdca203f546122
2 files changed+10−1
nixos/modules/config/pulseaudio.nix+7−1 nixos/modules/services/audio/jack.nix+3
nixos/modules/config/pulseaudio.nix+7−1
@@ -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" ];
nixos/modules/services/audio/jack.nix+3
@@ -246,6 +246,9 @@ in {
246246 description = "JACK Audio Connection Kit";
247247 serviceConfig = {
248248 User = "jackaudio";
249+ SupplementaryGroups = lib.optional
250+ (config.hardware.pulseaudio.enable
251+ && !config.hardware.pulseaudio.systemWide) "users";
249252 ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}";
250253 LimitRTPRIO = 99;
251254 LimitMEMLOCK = "infinity";