summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
authorWORLDofPEACE <worldofpeace@protonmail.ch>2020-11-09 19:40:12 -0500
committerGitHub <noreply@github.com>2020-11-09 19:40:12 -0500
commitfcef646736e2772dbe8bfb0ba4a3df72ee21b55f (patch)
treed17bc8c49c2175d8e1eb040ad230b234aa7aa910 /nixos
parentfdca20391ce37ee54a618094c8f9dded88c85f9e (diff)
parentf54612264edd7d743488e6469b5f774dbc07e7b7 (diff)
Merge pull request #93431 from sorki/audio/pulseJack
nixos/jack,pulseaudio: fix pulse connection to jackd service
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/config/pulseaudio.nix8
-rw-r--r--nixos/modules/services/audio/jack.nix3
2 files changed, 10 insertions, 1 deletions
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 408d0a9c33f2..044fa48853db 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -36,6 +36,8 @@ let
${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"}
${addModuleIf cfg.tcp.enable (concatStringsSep " "
([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
+ ${addModuleIf config.services.jack.jackd.enable "module-jack-sink"}
+ ${addModuleIf config.services.jack.jackd.enable "module-jack-source"}
${cfg.extraConfig}
'';
};
@@ -144,7 +146,9 @@ in {
package = mkOption {
type = types.package;
- default = pkgs.pulseaudio;
+ default = if config.services.jack.jackd.enable
+ then pkgs.pulseaudioFull
+ else pkgs.pulseaudio;
defaultText = "pkgs.pulseaudio";
example = literalExample "pkgs.pulseaudioFull";
description = ''
@@ -284,6 +288,8 @@ in {
RestartSec = "500ms";
PassEnvironment = "DISPLAY";
};
+ } // optionalAttrs config.services.jack.jackd.enable {
+ environment.JACK_PROMISCUOUS_SERVER = "jackaudio";
};
sockets.pulseaudio = {
wantedBy = [ "sockets.target" ];
diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix
index ceff366d0bbb..bee97dbfc6b3 100644
--- a/nixos/modules/services/audio/jack.nix
+++ b/nixos/modules/services/audio/jack.nix
@@ -246,6 +246,9 @@ in {
description = "JACK Audio Connection Kit";
serviceConfig = {
User = "jackaudio";
+ SupplementaryGroups = lib.optional
+ (config.hardware.pulseaudio.enable
+ && !config.hardware.pulseaudio.systemWide) "users";
ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}";
LimitRTPRIO = 99;
LimitMEMLOCK = "infinity";