depot/third_party/nixpkgs/nixos/modules/security/rtkit.nix

48 lines
1,001 B
Nix
Raw Normal View History

# A module for rtkit, a DBus system service that hands out realtime
# scheduling priority to processes that ask for it.
{ config, lib, pkgs, ... }:
with lib;
{
options = {
security.rtkit.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable the RealtimeKit system service, which hands
out realtime scheduling priority to user processes on
demand. For example, the PulseAudio server uses this to
acquire realtime priority.
'';
};
};
config = mkIf config.security.rtkit.enable {
security.polkit.enable = true;
# To make polkit pickup rtkit policies
environment.systemPackages = [ pkgs.rtkit ];
systemd.packages = [ pkgs.rtkit ];
services.dbus.packages = [ pkgs.rtkit ];
users.users.rtkit =
{
isSystemUser = true;
group = "rtkit";
description = "RealtimeKit daemon";
};
users.groups.rtkit = {};
};
}