Don't represent vm status via cpu type

This commit is contained in:
ItsDrike 2024-03-23 21:35:29 +01:00
parent ae1def6432
commit 1c1e0abbd6
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
4 changed files with 13 additions and 5 deletions

View file

@ -24,7 +24,8 @@
username = "itsdrike";
};
device = {
cpu.type = "vm-amd";
virtual-machine = true;
cpu.type = "amd";
};
};
}

View file

@ -3,14 +3,21 @@ in
{
options.myOptions.device = {
cpu.type = mkOption {
type = with types; nullOr (enum [ "intel" "vm-intel" "amd" "vm-amd" ]);
type = with types; nullOr (enum [ "intel" "amd" ]);
default = null;
description = ''
The manifaturer/type of the primary system CPU.
Determines which ucode services will be enabled and provides additional kernel packages.
If running in a virtual machine with forwarded/shared cores, use the `vm-` prefix.
If running in a virtual machine with forwarded/shared cores (CPU passthrough), use the
cpu type of the host machine.
'';
};
virtual-machine = mkOption {
type = lib.types.bool;
default = false;
description = "Is this system a virtual machine?";
};
};
}

View file

@ -3,7 +3,7 @@ let
dev = config.myOptions.device;
in
{
config = lib.mkIf (builtins.elem dev.cpu.type [ "amd" "vm-amd" ]) {
config = lib.mkIf (dev.cpu.type == "amd") {
hardware.cpu.amd.updateMicrocode = true;
};
}

View file

@ -3,7 +3,7 @@ let
dev = config.myOptions.device;
in
{
config = lib.mkIf (builtins.elem dev.cpu.type [ "intel" "vm-intel" ]) {
config = lib.mkIf (dev.cpu.type == "intel") {
hardware.cpu.intel.updateMicrocode = true;
};
}