From 333e6672e16ec06219ab844d6ba0dee29498a7a8 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 16 Aug 2024 11:58:52 +0300 Subject: [PATCH] nixos/pipewire: install the default limits config, make group always exist --- .../services/desktops/pipewire/pipewire.nix | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix index 5c6eba889ebe..bf57d1255774 100644 --- a/nixos/modules/services/desktops/pipewire/pipewire.nix +++ b/nixos/modules/services/desktops/pipewire/pipewire.nix @@ -410,8 +410,30 @@ in { networking.firewall.allowedUDPPorts = mkIf cfg.raopOpenFirewall [ 6001 6002 ]; - users = mkIf cfg.systemWide { - users.pipewire = { + # See https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/modules/module-rt/25-pw-rlimits.conf.in + security.pam.loginLimits = [ + { + domain = "@pipewire"; + item = "rtprio"; + type = "-"; + value = 95; + } + { + domain = "@pipewire"; + item = "nice"; + type = "-"; + value = -19; + } + { + domain = "@pipewire"; + item = "memlock"; + type = "-"; + value = 4194304; + } + ]; + + users = { + users.pipewire = mkIf cfg.systemWide { uid = config.ids.uids.pipewire; group = "pipewire"; extraGroups = [