1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7{
8 ###### interface
9 options = {
10
11 hardware.cpu.intel.updateMicrocode = lib.mkOption {
12 default = false;
13 type = lib.types.bool;
14 description = ''
15 Update the CPU microcode for Intel processors.
16 '';
17 };
18
19 };
20
21 ###### implementation
22 config = lib.mkIf config.hardware.cpu.intel.updateMicrocode {
23 # Microcode updates must be the first item prepended in the initrd
24 boot.initrd.prepend = lib.mkOrder 1 [ "${pkgs.microcode-intel}/intel-ucode.img" ];
25 };
26
27}