summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/hardware/thermald.nix40
-rw-r--r--pkgs/tools/system/thermald/default.nix36
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 78 insertions, 0 deletions
diff --git a/nixos/modules/services/hardware/thermald.nix b/nixos/modules/services/hardware/thermald.nix
new file mode 100644
index 000000000000..d197c723d558
--- /dev/null
+++ b/nixos/modules/services/hardware/thermald.nix
@@ -0,0 +1,40 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.thermald;
+
+in {
+
+  ###### interface
+
+  options = { 
+
+    services.thermald = { 
+
+      enable = mkOption {
+        default = false;
+        description = ''
+          Whether to enable thermald, the temperature management daemon.
+        ''; 
+      };  
+
+    };  
+
+  };  
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.thermald = {
+      description = "Thermal Daemon Service";
+      wantedBy = [ "multi-user.target" ];
+      script = "exec ${pkgs.thermald}/sbin/thermald --no-daemon --dbus-enable";
+    };
+
+  };
+
+}
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
new file mode 100644
index 000000000000..86d121f0c22f
--- /dev/null
+++ b/pkgs/tools/system/thermald/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, unzip, autoconf, automake, libtool, pkgconfig, dbus_libs, dbus_glib, libxml2 }:
+
+stdenv.mkDerivation rec {
+  version = "1.3";
+  name = "thermald-${version}";
+  src = fetchurl {
+    url = "https://github.com/01org/thermal_daemon/archive/v${version}.zip";
+    sha256 = "0jqxc8vvd4lx4z0kcdisk8lpdf823nysvjcfjxlr5wzla1xysqwc";
+  };
+  buildInputs = [ unzip autoconf automake libtool pkgconfig dbus_libs dbus_glib libxml2 ];
+
+  patchPhase = ''sed -e 's/upstartconfdir = \/etc\/init/upstartconfdir = $(out)\/etc\/init/' -i data/Makefile.am'';
+
+  preConfigure = ''
+                   export PKG_CONFIG_PATH="${dbus_libs}/lib/pkgconfig:$PKG_CONFIG_PATH"
+                   ./autogen.sh #--prefix="$out"
+                 '';
+
+  configureFlags = [
+    "--sysconfdir=$(out)/etc" "--localstatedir=/var"
+    "--with-dbus-sys-dir=$(out)/etc/dbus-1/system.d"
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    ];
+
+  preInstall = "sysconfdir=$out/etc";
+
+
+  meta = {
+    description = "Thermal Daemon";
+    longDescription = ''
+         Thermal Daemon
+    '';
+    homepage = https://01.org/linux-thermal-daemon;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8c0a5e545cf8..98c59895c745 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11322,6 +11322,8 @@ let
     inherit texLive unzip;
   };
 
+  thermald = callPackage ../tools/system/thermald { };
+
   thinkfan = callPackage ../tools/system/thinkfan { };
 
   vice = callPackage ../misc/emulators/vice {