diff --git a/nixos/modules/hardware/cpu/amd-ryzen-smu.nix b/nixos/modules/hardware/cpu/amd-ryzen-smu.nix new file mode 100644 index 000000000000..b1a5895aaa24 --- /dev/null +++ b/nixos/modules/hardware/cpu/amd-ryzen-smu.nix @@ -0,0 +1,26 @@ +{ config +, lib +, ... +}: +let + inherit (lib) mkEnableOption mkIf; + cfg = config.hardware.cpu.amd.ryzen-smu; + ryzen-smu = config.boot.kernelPackages.ryzen-smu; +in +{ + options.hardware.cpu.amd.ryzen-smu = { + enable = mkEnableOption '' + ryzen_smu, a linux kernel driver that exposes access to the SMU (System Management Unit) for certain AMD Ryzen Processors. + + 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 + ''; + }; + + config = mkIf cfg.enable { + boot.kernelModules = [ "ryzen-smu" ]; + boot.extraModulePackages = [ ryzen-smu ]; + environment.systemPackages = [ ryzen-smu ]; + }; + + meta.maintainers = with lib.maintainers; [ Cryolitia phdyellow ]; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index ec022713e12e..aee2aa2ef489 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -54,6 +54,7 @@ ./hardware/corectrl.nix ./hardware/cpu/amd-microcode.nix ./hardware/cpu/amd-sev.nix + ./hardware/cpu/amd-ryzen-smu.nix ./hardware/cpu/intel-microcode.nix ./hardware/cpu/intel-sgx.nix ./hardware/cpu/x86-msr.nix