nix-config/modules/hardware/fans.nix
2026-03-24 01:04:55 +01:00

56 lines
1.1 KiB
Nix

{
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.horseman.hardware.fans;
in {
options = {
horseman.hardware.fans = {
enable = mkEnableOption "Fan control for framework laptop";
};
};
config = mkIf cfg.enable {
hardware.fw-fanctrl = {
enable = true;
config = {
defaultStrategy = "school";
strategies = {
"school" = {
movingAverageInterval = 20;
speedCurve = [
{
temp = 40;
speed = 0;
}
{
temp = 50;
speed = 30;
}
{
temp = 65;
speed = 60;
}
{
temp = 80;
speed = 100;
}
];
};
"full".speedCurve = [
{
temp = 0;
speed = 100;
}
{
temp = 100;
speed = 100;
}
];
};
};
};
};
}