mirror of
https://github.com/CHN-beta/nixos.git
synced 2024-10-23 08:29:17 +08:00
27 lines
946 B
Nix
27 lines
946 B
Nix
inputs:
|
|
{
|
|
options.nixos.hardware.cpus = let inherit (inputs.lib) mkOption types; in mkOption
|
|
{ type = types.listOf (types.enum [ "intel" "amd" ]); default = []; };
|
|
config = let inherit (inputs.config.nixos.hardware) cpus; in inputs.lib.mkIf (cpus != [])
|
|
{
|
|
hardware.cpu = builtins.listToAttrs
|
|
(builtins.map (name: { inherit name; value = { updateMicrocode = true; }; }) cpus);
|
|
boot =
|
|
{
|
|
initrd.availableKernelModules =
|
|
let modules =
|
|
{
|
|
intel =
|
|
[
|
|
"intel_cstate" "aesni_intel" "intel_cstate" "intel_uncore" "intel_uncore_frequency" "intel_powerclamp"
|
|
];
|
|
amd = [];
|
|
};
|
|
in builtins.concatLists (builtins.map (cpu: modules.${cpu}) cpus);
|
|
};
|
|
environment.systemPackages =
|
|
let packages = with inputs.pkgs; { intel = []; amd = [ zenmonitor ]; };
|
|
in builtins.concatLists (builtins.map (cpu: packages.${cpu}) cpus);
|
|
};
|
|
}
|