{ config, ... }:
{

  # set up hetzner cloud network
  systemd.network.enable = true;
  systemd.network.networks."10-uplink" = {
    matchConfig.Name = "en*";
    networkConfig.DHCP = "ipv4";
    linkConfig.RequiredForOnline = "routable";
  };

  # set up hetzner cloud network during init
  boot.initrd.systemd.network.networks."10-uplink" = config.systemd.network.networks."10-uplink";
  boot.initrd.availableKernelModules = [ "virtio_pci" ]; # network kernel module

  # set up hetzner boot loader
  boot.loader.grub = {
    efiSupport = true;
    efiInstallAsRemovable = true;
  };

}