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

{
  imports =
    [
      ./hardware-configuration.nix
      ../../configuration/proxmox-vm
      ./alertmanager.nix
      ./berlinerbaeder-exporter.nix
      ./blackbox.nix
      ./grafana.nix
      ./nixos-validator.nix
      ./prometheus.nix
      ./uptimestatus.nix
    ];

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

  networking.useDHCP = false;
  networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.32"; prefixLength = 24; } ];
  networking.interfaces.ens19.ipv6.addresses = [ { address = "2001:638:904:ffca::7"; prefixLength = 64; } ];
  networking.defaultGateway = { address = "192.168.10.1"; interface = "ens18"; };
  networking.defaultGateway6 = { address = "2001:638:904:ffca::1"; interface = "ens19"; };
  networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ];

  services.prometheus.exporters.node.enable = true;

  services.nginx = {
    enable = true;
  };

  networking.firewall.allowedTCPPorts = [ 80 443 ];

  system.stateVersion = "21.03";
}