{ pkgs, lib, config, host, ... }:
{
hardware.cpu.intel.updateMicrocode = true;
hardware.opengl = {
  extraPackages = [
    pkgs.intel-media-driver # LIBVA_DRIVER_NAME=iHD
    pkgs.vaapiIntel         # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
    pkgs.vaapiVdpau
    pkgs.libvdpau-va-gl
  ];
};
nix = {
  # Too CPU hungry for the DL10J, for too little Mio saved
  autoOptimiseStore = false;
  maxJobs = host.CPUs;
};
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";

# https://insanity.industries/post/sata-power-consumption/
services.udev.extraRules = ''
  SUBSYSTEM=="scsi_host", KERNEL=="host*", ATTR{link_power_management_policy}="med_power_with_dipm"
'';

boot.loader = {
  efi = {
    canTouchEfiVariables = false;
    efiSysMountPoint = "/boot/efi";
  };
  grub = {
    enable = true;
    version = 2;
    copyKernels = true;
    configurationLimit = 9;
    efiSupport = true;
    # Because canTouchEfiVariables doesn't work on this system
    efiInstallAsRemovable = true;
    devices = [
      # Completed in the importing configuration
    ];
    /*
    mirroredBoots = [
      { devices = [ "${disk_id}" ];
        path    = "/boot${bootnum}";
      }
    ];
    */
  };
};

boot.initrd = {
  availableKernelModules = [
    "ahci"
    "ehci_pci" # useless ?
    "i2c_i801" # SMBus
    "mei_me" # Communication controller
    "nvme" # NVME M.2 disk
    #"rtl8188ee" # Wireless
    "rtsx_usb_sdmmc" # SD card
    #"snd_hda_intel" # Audio
    "uas" # USB storage
    "xhci_hcd" # USB
    #"i915" # VGA
    "igb" # Ethernet
    # Make the AES modules available at initrd,
    # to speedup the deciphering of the root.
    #"aes_x86_64"
    "aesni_intel"
    "cryptd"
  ];
  kernelModules = [
    "igb" # Ethernet
    "nvme" # NVME M.2 disk
    "rtsx_usb_sdmmc" # SD card
    "ums_realtek" # SD card
  ];
};
boot.kernelModules = [
  "rtsx_usb_sdmmc" # SD card
  "ums_realtek" # SD card
];
boot.extraModulePackages = [ ];
boot.kernelParams = [
  "gfxpayload=text"
  "console=ttyS0,115200n8"
  "console=ttyS1,115200n8"
  "console=tty0"
];

# rtlwifi/rtl8188efw.bin
hardware.enableRedistributableFirmware = true;

environment.systemPackages = with pkgs; [
  pciutils
  nvme-cli
];
}