nixpkgs/nixos/modules/services/hardware/fancontrol.nix

40 lines
895 B
Nix
Raw Normal View History

2019-09-25 03:23:59 +01:00
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.fancontrol;
in {
options.hardware.fancontrol = {
2019-09-25 03:23:59 +01:00
enable = mkOption {
type = types.bool;
default = false;
example = true;
description = "Whether to enable fancontrol (requires a configuration file, see pwmconfig)";
};
configFile = mkOption {
type = types.str;
default = "/etc/fancontrol";
example = "/home/user/.config/fancontrol";
description = "Path to the configuration file, likely generated with pwmconfig.";
};
};
config = mkIf cfg.enable {
systemd.services.fancontrol = {
description = "Fan speed control from lm_sensors";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
User = "root";
ExecStart = "${pkgs.lm_sensors}/bin/fancontrol ${cfg.configFile}";
};
};
};
}