{
  config,
  fp,
  pkgs,
  lib,
  values,
  ...
}: {
  imports = [
    ./hardware-configuration.nix
    ./disks.nix
    (fp /base)

    ./services/monitoring
    ./services/nginx
    ./services/journald-remote.nix
  ];

  boot.loader.grub.enable = true;
  boot.loader.systemd-boot.enable = lib.mkForce false;
  boot.tmp.cleanOnBoot = true;
  zramSwap.enable = true;

  # Openstack Neutron and systemd-networkd are not best friends, use something else:
  systemd.network.enable = lib.mkForce false;
  networking = let
    hostConf = values.hosts.ildkule;
  in {
    tempAddresses = "disabled";
    useDHCP = lib.mkForce true;

    search = values.defaultNetworkConfig.domains;
    nameservers = values.defaultNetworkConfig.dns;
    defaultGateway.address = hostConf.ipv4_internal_gw;

    interfaces."ens3" = {
      ipv4.addresses = [
        {
          address = hostConf.ipv4;
          prefixLength = 32;
        }
        {
          address = hostConf.ipv4_internal;
          prefixLength = 24;
        }
      ];
      ipv6.addresses = [
        {
          address = hostConf.ipv6;
          prefixLength = 64;
        }
      ];
    };
  };

  services.qemuGuest.enable = true;

  # Don't change (even during upgrades) unless you know what you are doing.
  # See https://search.nixos.org/options?show=system.stateVersion
  system.stateVersion = "23.11";
}
