Merge pull request #55142 from FlorianFranzen/thinkfan_smart

thinkfan: add option for libatasmart support
This commit is contained in:
Domen Kožar
2019-03-05 17:47:13 +07:00
committed by GitHub
2 changed files with 21 additions and 6 deletions

View File

@@ -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";
};
}