nixos/fancontrol: clean up module
set a group and user for the service remove default null config it's required, now it throws an error pointing to the option set myself (module author) as maintainer
This commit is contained in:
parent
3d043c6939
commit
5ae90276c3
|
@ -6,21 +6,21 @@ let
|
||||||
cfg = config.hardware.fancontrol;
|
cfg = config.hardware.fancontrol;
|
||||||
configFile = pkgs.writeText "fancontrol.conf" cfg.config;
|
configFile = pkgs.writeText "fancontrol.conf" cfg.config;
|
||||||
|
|
||||||
in{
|
in
|
||||||
|
{
|
||||||
options.hardware.fancontrol = {
|
options.hardware.fancontrol = {
|
||||||
enable = mkEnableOption "software fan control (requires fancontrol.config)";
|
enable = mkEnableOption "software fan control (requires fancontrol.config)";
|
||||||
|
|
||||||
config = mkOption {
|
config = mkOption {
|
||||||
default = null;
|
type = types.lines;
|
||||||
type = types.nullOr types.lines;
|
description = "Required fancontrol configuration file content. See <citerefentry><refentrytitle>pwmconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry> from the lm_sensors package.";
|
||||||
description = "Fancontrol configuration file content. See <citerefentry><refentrytitle>pwmconfig</refentrytitle><manvolnum>8</manvolnum></citerefentry> from the lm_sensors package.";
|
|
||||||
example = ''
|
example = ''
|
||||||
# Configuration file generated by pwmconfig
|
# Configuration file generated by pwmconfig
|
||||||
INTERVAL=10
|
INTERVAL=10
|
||||||
DEVPATH=hwmon3=devices/virtual/thermal/thermal_zone2 hwmon4=devices/platform/f71882fg.656
|
DEVPATH=hwmon3=devices/virtual/thermal/thermal_zone2 hwmon4=devices/platform/f71882fg.656
|
||||||
DEVNAME=hwmon3=soc_dts1 hwmon4=f71869a
|
DEVNAME=hwmon3=soc_dts1 hwmon4=f71869a
|
||||||
FCTEMPS=hwmon4/device/pwm1=hwmon3/temp1_input
|
FCTEMPS=hwmon4/device/pwm1=hwmon3/temp1_input
|
||||||
FCFANS= hwmon4/device/pwm1=hwmon4/device/fan1_input
|
FCFANS=hwmon4/device/pwm1=hwmon4/device/fan1_input
|
||||||
MINTEMP=hwmon4/device/pwm1=35
|
MINTEMP=hwmon4/device/pwm1=35
|
||||||
MAXTEMP=hwmon4/device/pwm1=65
|
MAXTEMP=hwmon4/device/pwm1=65
|
||||||
MINSTART=hwmon4/device/pwm1=150
|
MINSTART=hwmon4/device/pwm1=150
|
||||||
|
@ -30,16 +30,30 @@ in{
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
users = {
|
||||||
|
groups.lm_sensors = {};
|
||||||
|
|
||||||
|
users.fancontrol = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "lm_sensors";
|
||||||
|
description = "fan speed controller";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.fancontrol = {
|
systemd.services.fancontrol = {
|
||||||
unitConfig.Documentation = "man:fancontrol(8)";
|
documentation = [ "man:fancontrol(8)" ];
|
||||||
description = "software fan control";
|
description = "software fan control";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "lm_sensors.service" ];
|
after = [ "lm_sensors.service" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
|
||||||
ExecStart = "${pkgs.lm_sensors}/sbin/fancontrol ${configFile}";
|
ExecStart = "${pkgs.lm_sensors}/sbin/fancontrol ${configFile}";
|
||||||
|
Group = "lm_sensors";
|
||||||
|
User = "fancontrol";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
meta.maintainers = [ maintainers.evils ];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue