nixos/ryzen-monitor-ng: init module

A userspace tool for setting and getting AMD CPU power
and performance parameters.

The module adds `ryzen_monitor_ng` to `environment.systemPackages` and
enables the `ryzen-smu` module, as `ryzen_monitor_ng` requires the
`ryzen_smu` kernel module to function.
This commit is contained in:
Phil Dyer 2024-04-11 11:46:59 +10:00
parent a352dc5e0f
commit 286d741f47
2 changed files with 36 additions and 0 deletions

View file

@ -245,6 +245,7 @@
./programs/regreet.nix
./programs/rog-control-center.nix
./programs/rust-motd.nix
./programs/ryzen-monitor-ng.nix
./programs/screen.nix
./programs/seahorse.nix
./programs/sedutil.nix

View file

@ -0,0 +1,35 @@
{ pkgs
, config
, lib
, ...
}:
let
inherit (lib) mkEnableOption mkPackageOption mkIf;
cfg = config.programs.ryzen-monitor-ng;
in
{
options = {
programs.ryzen-monitor-ng = {
enable = mkEnableOption ''
ryzen_monitor_ng, a userspace application for setting and getting Ryzen SMU (System Management Unit) parameters via the ryzen_smu kernel driver.
Monitor power information of Ryzen processors via the PM table of the SMU.
SMU Set and Get for many parameters and CO counts.
https://github.com/mann1x/ryzen_monitor_ng
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
'';
package = mkPackageOption pkgs "ryzen-monitor-ng" {};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
hardware.cpu.amd.ryzen-smu.enable = true;
};
meta.maintainers = with lib.maintainers; [ Cryolitia phdyellow ];
}