diff options
author | Florian Franzen <Florian.Franzen@gmail.com> | 2019-02-03 22:34:41 +0100 |
---|---|---|
committer | Florian Franzen <Florian.Franzen@gmail.com> | 2019-02-03 22:34:41 +0100 |
commit | 1278615a4832a8cb691b43a942d0dbce3eb73b9e (patch) | |
tree | be1c81b512dbf3e48a7796870e3eb339fddeaba5 /nixos | |
parent | f2a1a4e93be2d76720a6b96532b5b003cc769312 (diff) | |
download | nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.tar nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.tar.gz nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.tar.bz2 nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.tar.lz nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.tar.xz nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.tar.zst nixlib-1278615a4832a8cb691b43a942d0dbce3eb73b9e.zip |
thinkfan: add option for libatasmart support
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/hardware/thinkfan.nix | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix index d17121ca1c5b..7c105e99ca54 100644 --- a/nixos/modules/services/hardware/thinkfan.nix +++ b/nixos/modules/services/hardware/thinkfan.nix @@ -47,6 +47,8 @@ let ${cfg.levels} ''; + thinkfan = pkgs.thinkfan.override { smartSupport = cfg.smartSupport; }; + in { options = { @@ -61,6 +63,15 @@ in { ''; }; + smartSupport = mkOption { + type = types.bool; + default = false; + description = '' + Whether to build thinkfan with SMART support to read temperatures + directly from hard disks. + ''; + }; + sensors = mkOption { type = types.lines; default = '' @@ -77,7 +88,7 @@ in { Which may be provided by any hwmon drivers (keyword hwmon) - S.M.A.R.T. (since 0.9 and requires the USE_ATASMART compilation flag) + S.M.A.R.T. (requires smartSupport to be enabled) Which reads the temperature directly from the hard disk using libatasmart (keyword atasmart) @@ -125,18 +136,17 @@ in { config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.thinkfan ]; + environment.systemPackages = [ thinkfan ]; systemd.services.thinkfan = { description = "Thinkfan"; after = [ "basic.target" ]; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.thinkfan ]; - serviceConfig.ExecStart = "${pkgs.thinkfan}/bin/thinkfan -n -c ${configFile}"; + path = [ thinkfan ]; + serviceConfig.ExecStart = "${thinkfan}/bin/thinkfan -n -c ${configFile}"; }; boot.extraModprobeConfig = "options thinkpad_acpi experimental=1 fan_control=1"; }; - } |