diff options
| author | Alejandro Soto <alejandro@34project.org> | 2024-07-14 17:53:13 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2024-07-15 09:34:00 -0600 |
| commit | 02abf4ed0131237c25e0a10db50fa4c41a902a50 (patch) | |
| tree | 20904894fc0952806e341cdaff5941e81b3ce51c /sys/boot/firmware.nix | |
| parent | 08e746700341dda3e3bdf704332fc3c07053d3e7 (diff) | |
sys: final merge of dmz, hv into sys
Diffstat (limited to 'sys/boot/firmware.nix')
| -rw-r--r-- | sys/boot/firmware.nix | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/boot/firmware.nix b/sys/boot/firmware.nix new file mode 100644 index 0000000..70a3c4b --- /dev/null +++ b/sys/boot/firmware.nix @@ -0,0 +1,29 @@ +{ config, lib, pkgs, ... }: +with lib; let + cfg = config.local.boot.firmware; +in +{ + options.local.boot.firmware = { + mode = mkOption { + type = types.enum [ "none" "redistributable" "all" ]; + }; + + cpuVendor = mkOption { + type = types.enum [ "amd" "intel" ]; + }; + }; + + config = mkIf (cfg.mode != "none") { + hardware = { + cpu = { + amd.updateMicrocode = cfg.cpuVendor == "amd"; + intel.updateMicrocode = cfg.cpuVendor == "intel"; + }; + + enableAllFirmware = cfg.mode == "all"; + enableRedistributableFirmware = true; + }; + + services.fwupd.enable = true; + }; +} |
