summary refs log tree commit diff
path: root/nixos/modules/services/hardware/irqbalance.nix
blob: 39c139576bfa42a5b6fadbae93de3decbc054fae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#
{ config, lib, pkgs, ... }:

with lib;

let

  cfg = config.services.irqbalance;

in
{
  options.services.irqbalance.enable = mkEnableOption "irqbalance daemon";

  config = mkIf cfg.enable {

    systemd.services = {
      irqbalance = {
        description = "irqbalance daemon";
        path = [ pkgs.irqbalance ];
        serviceConfig = {
          ExecStart = "${pkgs.irqbalance}/bin/irqbalance --foreground";
          CapabilityBoundingSet = "";
          NoNewPrivileges = "yes";
          ReadOnlyPaths = "/";
          ReadWritePaths = "/proc/irq";
          RestrictAddressFamilies = "AF_UNIX";
          RuntimeDirectory = "irqbalance/";
        };
        wantedBy = [ "multi-user.target" ];
      };
    };

    environment.systemPackages = [ pkgs.irqbalance ];

  };

}