2024-03-21 20:47:25 +00:00
|
|
|
{ lib, ... }: with lib; let
|
|
|
|
in
|
|
|
|
{
|
|
|
|
options.myOptions.device = {
|
|
|
|
cpu.type = mkOption {
|
2024-03-23 20:35:29 +00:00
|
|
|
type = with types; nullOr (enum [ "intel" "amd" ]);
|
2024-03-21 20:47:25 +00:00
|
|
|
default = null;
|
|
|
|
description = ''
|
|
|
|
The manifaturer/type of the primary system CPU.
|
|
|
|
|
|
|
|
Determines which ucode services will be enabled and provides additional kernel packages.
|
2024-03-23 20:35:29 +00:00
|
|
|
If running in a virtual machine with forwarded/shared cores (CPU passthrough), use the
|
|
|
|
cpu type of the host machine.
|
2024-03-21 20:47:25 +00:00
|
|
|
'';
|
|
|
|
};
|
2024-03-23 20:35:29 +00:00
|
|
|
|
|
|
|
virtual-machine = mkOption {
|
|
|
|
type = lib.types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "Is this system a virtual machine?";
|
|
|
|
};
|
2024-04-12 19:38:05 +00:00
|
|
|
|
|
|
|
hasTPM = mkOption {
|
|
|
|
type = lib.types.bool;
|
|
|
|
default = false;
|
|
|
|
description = "Does this device have a TPM (Trusted Platform Module)?"
|
|
|
|
}
|
2024-03-21 20:47:25 +00:00
|
|
|
};
|
|
|
|
}
|