summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarcin Falkiewicz <avalatron@gmail.com>2016-01-03 18:05:18 +0100
committerMarcin Falkiewicz <avalatron@gmail.com>2016-01-08 12:37:43 +0100
commit7636359c8990cd1d9cb4f7d190e0613480b43cfd (patch)
treeaecddfffdf5ed40f2e3fb07bd7d42a057a0d8318
parent90b853b70698c2b9a6ab5ce814263a417aa80bdf (diff)
downloadnixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.tar
nixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.tar.gz
nixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.tar.bz2
nixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.tar.lz
nixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.tar.xz
nixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.tar.zst
nixpkgs-7636359c8990cd1d9cb4f7d190e0613480b43cfd.zip
irqbalance: init at 1.1.0
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/hardware/irqbalance.nix30
-rw-r--r--pkgs/os-specific/linux/irqbalance/default.nix25
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 58 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 81daad099a8..08dd57704e7 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -164,6 +164,7 @@
   ./services/hardware/bluetooth.nix
   ./services/hardware/brltty.nix
   ./services/hardware/freefall.nix
+  ./services/hardware/irqbalance.nix
   ./services/hardware/nvidia-optimus.nix
   ./services/hardware/pcscd.nix
   ./services/hardware/pommed.nix
diff --git a/nixos/modules/services/hardware/irqbalance.nix b/nixos/modules/services/hardware/irqbalance.nix
new file mode 100644
index 00000000000..b139154432c
--- /dev/null
+++ b/nixos/modules/services/hardware/irqbalance.nix
@@ -0,0 +1,30 @@
+#
+{ 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"; };
+        wantedBy = [ "multi-user.target" ];
+      };
+    };
+
+    environment.systemPackages = [ pkgs.irqbalance ];
+
+  };
+
+}
diff --git a/pkgs/os-specific/linux/irqbalance/default.nix b/pkgs/os-specific/linux/irqbalance/default.nix
new file mode 100644
index 00000000000..7c394753902
--- /dev/null
+++ b/pkgs/os-specific/linux/irqbalance/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "irqbalance-1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "irqbalance";
+    repo = "irqbalance";
+    rev = "a23de3c455b88060620d102f6946b1d8be9e2680";
+    sha256 = "06yq5k5v9wiwajqcjkbkk46g212qx78x323bygnyqshc5s25mp2x";
+  };
+
+  nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  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";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5601fb7ca7e..84a92875399 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9919,6 +9919,8 @@ let
 
   ipset = callPackage ../os-specific/linux/ipset { };
 
+  irqbalance = callPackage ../os-specific/linux/irqbalance { };
+
   iw = callPackage ../os-specific/linux/iw { };
 
   jfbview = callPackage ../os-specific/linux/jfbview { };