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 {