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"; username = "itsdrike";
}; };
device = { device = {
cpu.type = "vm-amd"; virtual-machine = true;
cpu.type = "amd";
}; };
}; };
} }

View file

@ -3,14 +3,21 @@ in
{ {
options.myOptions.device = { options.myOptions.device = {
cpu.type = mkOption { cpu.type = mkOption {
type = with types; nullOr (enum [ "intel" "vm-intel" "amd" "vm-amd" ]); type = with types; nullOr (enum [ "intel" "amd" ]);
default = null; default = null;
description = '' description = ''
The manifaturer/type of the primary system CPU. The manifaturer/type of the primary system CPU.
Determines which ucode services will be enabled and provides additional kernel packages. 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; dev = config.myOptions.device;
in in
{ {
config = lib.mkIf (builtins.elem dev.cpu.type [ "amd" "vm-amd" ]) { config = lib.mkIf (dev.cpu.type == "amd") {
hardware.cpu.amd.updateMicrocode = true; hardware.cpu.amd.updateMicrocode = true;
}; };
} }

View file

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