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