45 lines
1.3 KiB
Nix
45 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
hardware.fancontrol.enable = true;
|
|
hardware.fancontrol.config = ''
|
|
# Helios4 PWM Fan Control Configuration
|
|
# Temp source : /dev/thermal-cpu
|
|
INTERVAL=10
|
|
FCTEMPS=/dev/fan-j10/pwm1=/dev/thermal-cpu/temp1_input /dev/fan-j17/pwm1=/dev/thermal-cpu/temp1_input
|
|
MINTEMP=/dev/fan-j10/pwm1=40 /dev/fan-j17/pwm1=40
|
|
MAXTEMP=/dev/fan-j10/pwm1=80 /dev/fan-j17/pwm1=80
|
|
MINSTART=/dev/fan-j10/pwm1=20 /dev/fan-j17/pwm1=20
|
|
MINSTOP=/dev/fan-j10/pwm1=29 /dev/fan-j17/pwm1=29
|
|
MINPWM=0
|
|
'';
|
|
|
|
boot.kernelModules = [ "lm75" ];
|
|
|
|
services.udev.packages = [
|
|
# Fan control
|
|
(pkgs.callPackage (
|
|
{ stdenv, lib, coreutils }:
|
|
stdenv.mkDerivation {
|
|
name = "helios4-udev-fancontrol";
|
|
|
|
dontUnpack = true;
|
|
dontBuild = true;
|
|
|
|
installPhase = ''
|
|
mkdir -p "$out/etc/udev/rules.d/";
|
|
install -Dm644 "${./90-helios4-hwmon.rules}" \
|
|
"$out/etc/udev/rules.d/90-helios4-hwmon.rules"
|
|
substituteInPlace "$out/etc/udev/rules.d/90-helios4-hwmon.rules" \
|
|
--replace '/bin/ln' '${lib.getBin coreutils}/bin/ln'
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Udev rules for fancontrol for the Helios4";
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|
|
) {})
|
|
];
|
|
}
|