{
  config,
  lib,
  pkgs,
  ...
}:
{
  imports = [
    ./hardware-configuration.nix
    ./wrapped-disk-config.nix
    ./distributed_build.nix
    ./power_management.nix
  ];

  config = {
    # Generate with `head -c4 /dev/urandom | od -A none -t x4`
    networking.hostId = "6a05d86e";

    networking.hostName = "i_only_boot_zfs"; # Define your hostname.

    time.timeZone = "America/New_York";
    i18n.defaultLocale = "en_US.UTF-8";

    me.boot.enable = true;
    me.boot.secure = false;
    me.mountPersistence = true;

    # Toggle to start writing the extlinux config which will be used by zfsbootmenu
    # boot.loader.generic-extlinux-compatible.enable = true;
    # boot.loader.systemd-boot.enable = lib.mkForce false;

    me.optimizations = {
      # enable = true;
      # arch = "kabylake";
      # build_arch = "x86-64-v3";
      system_features = [
        # "gccarch-kabylake"
        "gccarch-x86-64-v3"
        "benchmark"
        "big-parallel"
        "kvm"
        "nixos-test"
      ];
    };

    # Early KMS
    # boot.initrd.kernelModules = [ "amdgpu" ];

    # Mount tmpfs at /tmp
    boot.tmp.useTmpfs = true;

    # Enable TRIM
    # services.fstrim.enable = lib.mkDefault true;

    # Even when installed, we want to dhcp because this is for a VM.
    networking.dhcpcd.enable = true;
    networking.useDHCP = true;

    me.build_in_ram.enable = true;
    me.dont_use_substituters.enable = true;
    me.minimal_base.enable = true;
  };
}
