mirror of
https://github.com/CHN-beta/nixos.git
synced 2024-10-23 05:39:05 +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);
|
||
|
};
|
||
|
}
|