1{
2 config,
3 lib,
4 ...
5}:
6let
7 inherit (lib) mkEnableOption mkIf;
8 cfg = config.hardware.cpu.amd.ryzen-smu;
9 ryzen-smu = config.boot.kernelPackages.ryzen-smu;
10in
11{
12 options.hardware.cpu.amd.ryzen-smu = {
13 enable = mkEnableOption ''
14 ryzen_smu, a linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors.
15
16 WARNING: Damage cause by use of your AMD processor outside of official AMD specifications or outside of factory settings are not covered under any AMD product warranty and may not be covered by your board or system manufacturer's warranty
17 '';
18 };
19
20 config = mkIf cfg.enable {
21 boot.kernelModules = [ "ryzen-smu" ];
22 boot.extraModulePackages = [ ryzen-smu ];
23 environment.systemPackages = [ ryzen-smu ];
24 };
25
26 meta.maintainers = with lib.maintainers; [
27 Cryolitia
28 phdyellow
29 ];
30}