Merge pull request #246173 from bb2020/mbpfan

nixos/mbpfan: adjust defaults
This commit is contained in:
Aaron Andersen 2023-09-23 09:41:11 -04:00 committed by GitHub
commit 2af64a3d1d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 11 deletions

View file

@ -304,6 +304,8 @@ The module update takes care of the new config syntax and the data itself (user
- New `boot.bcache.enable` (default enabled) allows completely removing `bcache` mount support. - New `boot.bcache.enable` (default enabled) allows completely removing `bcache` mount support.
- The module `services.mbpfan` now has the option `aggressive` enabled by default for better heat moderation. You can disable it for upstream defaults.
- `security.sudo` now provides two extra options, that do not change the - `security.sudo` now provides two extra options, that do not change the
module's default behaviour: module's default behaviour:
- `defaultOptions` controls the options used for the default rules; - `defaultOptions` controls the options used for the default rules;

View file

@ -26,7 +26,7 @@ in {
aggressive = mkOption { aggressive = mkOption {
type = types.bool; type = types.bool;
default = false; default = true;
description = lib.mdDoc "If true, favors higher default fan speeds."; description = lib.mdDoc "If true, favors higher default fan speeds.";
}; };
@ -38,17 +38,20 @@ in {
options.general.low_temp = mkOption { options.general.low_temp = mkOption {
type = types.int; type = types.int;
default = 63; default = (if cfg.aggressive then 55 else 63);
defaultText = literalExpression "55";
description = lib.mdDoc "If temperature is below this, fans will run at minimum speed."; description = lib.mdDoc "If temperature is below this, fans will run at minimum speed.";
}; };
options.general.high_temp = mkOption { options.general.high_temp = mkOption {
type = types.int; type = types.int;
default = 66; default = (if cfg.aggressive then 58 else 66);
defaultText = literalExpression "58";
description = lib.mdDoc "If temperature is above this, fan speed will gradually increase."; description = lib.mdDoc "If temperature is above this, fan speed will gradually increase.";
}; };
options.general.max_temp = mkOption { options.general.max_temp = mkOption {
type = types.int; type = types.int;
default = 86; default = (if cfg.aggressive then 78 else 86);
defaultText = literalExpression "78";
description = lib.mdDoc "If temperature is above this, fans will run at maximum speed."; description = lib.mdDoc "If temperature is above this, fans will run at maximum speed.";
}; };
options.general.polling_interval = mkOption { options.general.polling_interval = mkOption {
@ -70,13 +73,6 @@ in {
]; ];
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.mbpfan.settings = mkIf cfg.aggressive {
general.min_fan1_speed = mkDefault 2000;
general.low_temp = mkDefault 55;
general.high_temp = mkDefault 58;
general.max_temp = mkDefault 70;
};
boot.kernelModules = [ "coretemp" "applesmc" ]; boot.kernelModules = [ "coretemp" "applesmc" ];
environment.systemPackages = [ cfg.package ]; environment.systemPackages = [ cfg.package ];
environment.etc."mbpfan.conf".source = settingsFile; environment.etc."mbpfan.conf".source = settingsFile;
@ -86,6 +82,7 @@ in {
wantedBy = [ "sysinit.target" ]; wantedBy = [ "sysinit.target" ];
after = [ "syslog.target" "sysinit.target" ]; after = [ "syslog.target" "sysinit.target" ];
restartTriggers = [ config.environment.etc."mbpfan.conf".source ]; restartTriggers = [ config.environment.etc."mbpfan.conf".source ];
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
ExecStart = "${cfg.package}/bin/mbpfan -f${verbose}"; ExecStart = "${cfg.package}/bin/mbpfan -f${verbose}";