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

{
  imports =
    [
      ./hardware-configuration.nix
      ../../configuration/proxmox-vm
      ../../configuration/router
    ];

  boot.loader.grub.enable = true;
  boot.loader.grub.device = "/dev/vda";

  networking.useDHCP = false;
  # Network
  networking.interfaces.ens18.ipv4.addresses = [
    { address = "141.24.46.169"; prefixLength = 24; }
  ];
  networking.interfaces.ens18.ipv6.addresses = [
    { address = "2001:638:904:ffca::6"; prefixLength = 64; }
  ];
  networking.defaultGateway = { address = "141.24.46.1"; interface = "ens18"; };
  networking.defaultGateway6 = { address = "2001:638:904:ffca::1"; interface = "ens18"; };
  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];

  networking.interfaces.ens19.ipv4.addresses = [
    { address = "192.168.10.1"; prefixLength = 24; }
  ];

  networking.nat = {
    enableIPv6 = true;
    enable = true;
    externalInterface = "ens18";
    internalInterfaces = [ "ens19" ];
  };

  networking.firewall.allowedUDPPorts = [];

  clerie.system-auto-upgrade = {
    allowReboot = true;
    autoUpgrade = true;
  };

  clerie.monitoring = {
    enable = true;
    id = "103";
    pubkey = "BHRfdK+HsoBXQHgLXotMnfPgfRrsVNHdSg19fvS2kg4=";
    blackbox = true;
  };

  system.stateVersion = "21.03";
}