From 04bfeeac79b0dc857b89d9ef43ff6f1ddd349cff Mon Sep 17 00:00:00 2001 From: snicket2100 <57048005+snicket2100@users.noreply.github.com> Date: Sun, 2 Feb 2020 18:09:45 +0100 Subject: [PATCH] irqbalance: using systemd service definition from the package itself --- .../modules/services/hardware/irqbalance.nix | 19 ++----------------- pkgs/os-specific/linux/irqbalance/default.nix | 10 ++++++++++ 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/nixos/modules/services/hardware/irqbalance.nix b/nixos/modules/services/hardware/irqbalance.nix index 39c139576bfa..c07e35943f2c 100644 --- a/nixos/modules/services/hardware/irqbalance.nix +++ b/nixos/modules/services/hardware/irqbalance.nix @@ -13,25 +13,10 @@ in 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 ]; + systemd.packages = [ pkgs.irqbalance ]; + }; } diff --git a/pkgs/os-specific/linux/irqbalance/default.nix b/pkgs/os-specific/linux/irqbalance/default.nix index 8dc9e2694d47..27f176f6a724 100644 --- a/pkgs/os-specific/linux/irqbalance/default.nix +++ b/pkgs/os-specific/linux/irqbalance/default.nix @@ -16,6 +16,16 @@ stdenv.mkDerivation rec { LDFLAGS = "-lncurses"; + postInstall = + '' + # Systemd service + mkdir -p $out/lib/systemd/system + grep -vi "EnvironmentFile" misc/irqbalance.service >$out/lib/systemd/system/irqbalance.service + substituteInPlace $out/lib/systemd/system/irqbalance.service \ + --replace /usr/sbin/irqbalance $out/bin/irqbalance \ + --replace ' $IRQBALANCE_ARGS' "" + ''; + meta = { homepage = https://github.com/Irqbalance/irqbalance; description = "A daemon to help balance the cpu load generated by interrupts across all of a systems cpus";