{
  lib,
  pkgs,
  inputs,
  system,
  target,
  format,
  virtual,
  systems,
  config,
  ...
}:
{
  networking.hostName = "greylag";
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  boot.initrd.availableKernelModules = [
    "xhci_pci"
    "thunderbolt"
    "nvme"
    "uas"
    "usbhid"
    "sd_mod"
    "ext4"
  ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ "kvm-intel" ];
  boot.extraModulePackages = [ ];

  boot.initrd.systemd.enable = true; # needed for the way we do our YubiKey
  boot.initrd.luks.devices."key".device = "/dev/disk/by-label/KEY";

  boot.initrd.luks.devices."luks-expansion0" = {
    device = "/dev/disk/by-label/EXPANSION0";
    keyFile = "/key:/dev/mapper/key";
  };
  boot.initrd.luks.devices."luks-ssd0" = {
    device = "/dev/disk/by-label/SSD0";
    keyFile = "/key:/dev/mapper/key";
  };

  fileSystems =
    (lib.mapAttrs
      (_: share_name: {
        device = "/dev/disk/by-label/BTRFS0";
        fsType = "btrfs";
        options = [
          "subvol=shared/${share_name}"
          "compress=zstd:1"
        ];
      })
      {
        "/home/minion/Code" = "@Code";
        "/var/lib/containers" = "@containers";
        "/etc/NetworkManager" = "@NetworkManager";
        "/home/minion/.local/share/containers/storage" = "@personal-containers";
        "/home/minion/.gtimelog" = "@gtimelog";
        "/home/minion/Documents" = "@documents";
      }
    )
    // {
      "/mnt" = {
        device = "/dev/mapper/key";
        fsType = "ext4";
      };

      "/" = {
        device = "/dev/disk/by-label/BTRFS0";
        fsType = "btrfs";
        options = [
          "subvol=@nixos"
          "compress=zstd:1"
        ];
      };

      "/var" = {
        device = "/dev/disk/by-label/BTRFS0";
        fsType = "btrfs";
        options = [
          "subvol=@nixos-var"
          "compress=zstd:1"
        ];
      };

      "/home" = {
        device = "/dev/disk/by-label/BTRFS0";
        fsType = "btrfs";
        options = [
          "subvol=@nixos-home"
          "compress=zstd:1"
        ];
      };

      "/nix" = {
        device = "/dev/disk/by-label/BTRFS0";
        fsType = "btrfs";
        options = [
          "subvol=@nixos-nix"
          "compress=zstd:1"
        ];
      };

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

  swapDevices = [ ];

  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
  # (the default) this is the recommended approach. When using systemd-networkd it's
  # still possible to use this option, but it's recommended to use it in conjunction
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
  networking.useDHCP = lib.mkDefault true;
  # networking.interfaces.enp0s13f0u4u4u4.useDHCP = lib.mkDefault true;
  # networking.interfaces.wlp166s0.useDHCP = lib.mkDefault true;

  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
