{ pkgs, lib, config, ... }:
{
hardware.cpu.amd.updateMicrocode = true;
nix = {
  # Too CPU hungry for the APU2, for too little Mio saved
  autoOptimiseStore = false;
  maxJobs = 4;
};
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";

boot.kernel = {
  sysctl = {
    "vm.swappiness" = 10;
    "vm.vfs_cache_pressure" = 50;
  };
};

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

boot.initrd = {
  availableKernelModules = [
    "ahci"
    "ehci_pci"
    "sd_mod"
    "sg"
    "uas"
    # Ethernet driver
    "igb"
    # Made the AES modules available at initrd,
    # to speedup the deciphering of the root.
    "aes_x86_64"
    "aesni_intel"
    "cryptd"
  ];
  kernelModules = [
    "igb"
  ];
};
boot.kernelModules = [];
boot.extraModulePackages = [];
boot.kernelParams = [
  "gfxpayload=text"
  #"console=tty0"
  "console=ttyS0,115200n8"
  # Use arc_summary to print stats
  "zfs.zfs_arc_max=${toString (500 * 1024 * 1024)}" # bytes
];

environment.systemPackages = [
  pkgs.pciutils
  pkgs.flashrom
];
}