services: port amdgpu services from private config

This commit is contained in:
2020-10-17 11:59:01 +11:00
parent 326f4b9fec
commit 6cd420d7af
5 changed files with 150 additions and 3 deletions

View File

@ -0,0 +1,29 @@
{ config, lib, pkgs, ... }:
with lib;
let
acfg = config.services.amdgpu;
cfg = config.services.amdgpu.pwm;
in
{
options.services.amdgpu.pwm = {
enable = mkEnableOption "amdgpu-pwm";
};
config = mkIf cfg.enable {
systemd.services.amdgpu-pwm = {
description = "enable manual configuration of AMDGPU fans";
wantedBy = [ "default.target" ];
script =
let
enablePwm = card: "echo 1 > /sys/class/drm/${card}/device/hwmon/hwmon1/pwm1_enable";
in
lib.concatStringsSep "\n" (map enablePwm acfg.cards);
serviceConfig.Type = "oneshot";
};
};
}