dcgm: 3.3.5 -> 3.3.9; cudaPackages_10{,_0,_1,_2}: drop (#357655)
[NixPkgs.git] / nixos / modules / security / rtkit.nix
blobad8746808e85ea9a731e2b7142b149bf684e838f
1 # A module for ‘rtkit’, a DBus system service that hands out realtime
2 # scheduling priority to processes that ask for it.
4 { config, lib, pkgs, ... }:
6 with lib;
10   options = {
12     security.rtkit.enable = mkOption {
13       type = types.bool;
14       default = false;
15       description = ''
16         Whether to enable the RealtimeKit system service, which hands
17         out realtime scheduling priority to user processes on
18         demand. For example, the PulseAudio server uses this to
19         acquire realtime priority.
20       '';
21     };
23   };
26   config = mkIf config.security.rtkit.enable {
28     security.polkit.enable = true;
30     # To make polkit pickup rtkit policies
31     environment.systemPackages = [ pkgs.rtkit ];
33     systemd.packages = [ pkgs.rtkit ];
35     services.dbus.packages = [ pkgs.rtkit ];
37     users.users.rtkit =
38       {
39         isSystemUser = true;
40         group = "rtkit";
41         description = "RealtimeKit daemon";
42       };
43     users.groups.rtkit = {};
45   };