{ config, lib, pkgs, ... }:

{
  boot = {
    initrd = {
      availableKernelModules =
        [ "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
      kernelModules = [ ];
    };
    kernelModules = [ "kvm-intel" ];
    extraModulePackages = [ ];
    kernelPackages = pkgs.linuxPackages_latest;

    loader = {
      systemd-boot.enable = true;
      efi.canTouchEfiVariables = true;
    };

    # Limit tmpfs size of /run
    runSize = "50%";
  };

  fileSystems = {
    "/boot" = {
      device = "/dev/disk/by-label/boot";
      fsType = "vfat";
    };

    "/" = {
      device = "/dev/disk/by-label/root";
      fsType = "btrfs";
    };
  };

  swapDevices = [{ device = "/dev/disk/by-label/swap"; }];

  nix.maxJobs = lib.mkDefault 4;

  hardware.bluetooth.enable = false;

  networking = {
    macvlans = {
      intif0 = {
        interface = "enp2s0";
        mode = "bridge";
      };
    };

    interfaces = {
      intif0 = {
        # output of: echo clunk-intif0|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/'
        macAddress = "02:44:d1:eb:c3:6b";
      };
    };
  };
}