summary refs log tree commit diff
diff options
context:
space:
mode:
authorYarny0 <41838844+Yarny0@users.noreply.github.com>2022-08-18 11:03:58 +0200
committerYarny0 <41838844+Yarny0@users.noreply.github.com>2022-08-18 16:49:18 +0200
commit7ba079505aa414bb01c53f9d1ed6f97112f791c4 (patch)
tree443c5584bbc60cd05ef58c12f748ae54ea463eff
parent0fd253867885cebd9a8384110c0f0f50e9a5b327 (diff)
downloadnixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.tar
nixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.tar.gz
nixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.tar.bz2
nixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.tar.lz
nixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.tar.xz
nixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.tar.zst
nixpkgs-7ba079505aa414bb01c53f9d1ed6f97112f791c4.zip
nixos/pulseaudio: add pulse-access group
According to pulseaudio(1), a system wide pulseaudio instance
can only be accessed by members of the `pulse-access` group.
This name seems to be hardcoded in
pulseaudio -- I didn't find any switch to change it.
We need to define the group so users can connect to the deamon.

This commit also fixes the systemwide pulseaudio vm test:
Previously, the test user `alice`
was just a member of the `audio` group.
This blocked access to the daemon and failed the test.
The commit changes the group assignment and fixes the vm test.
-rw-r--r--nixos/modules/config/pulseaudio.nix3
-rw-r--r--nixos/tests/pulseaudio.nix2
2 files changed, 3 insertions, 2 deletions
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index aa3ca549f09..598a5b623fd 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -102,7 +102,7 @@ in {
           each user that tries to use the sound system. The server runs
           with user privileges. If true, one system-wide PulseAudio
           server is launched on boot, running as the user "pulse", and
-          only users in the "audio" group will have access to the server.
+          only users in the "pulse-access" group will have access to the server.
           Please read the PulseAudio documentation for more details.
 
           Don't enable this option unless you know what you are doing.
@@ -310,6 +310,7 @@ in {
       };
 
       users.groups.pulse.gid = gid;
+      users.groups.pulse-access = {};
 
       systemd.services.pulseaudio = {
         description = "PulseAudio System-Wide Server";
diff --git a/nixos/tests/pulseaudio.nix b/nixos/tests/pulseaudio.nix
index c553527a482..16809228b9d 100644
--- a/nixos/tests/pulseaudio.nix
+++ b/nixos/tests/pulseaudio.nix
@@ -40,7 +40,7 @@ let
             environment.systemPackages = [ testers.testPlay pkgs.pavucontrol ]
               ++ lib.optional pkgs.stdenv.isx86_64 testers.testPlay32;
           } // lib.optionalAttrs systemWide {
-            users.users.alice.extraGroups = [ "audio" ];
+            users.users.alice.extraGroups = [ "pulse-access" ];
             systemd.services.pulseaudio.wantedBy = [ "multi-user.target" ];
           };