{ config, pkgs, ... }:

{
  imports =
    [
      ./hardware-configuration.nix
      ../../configuration/hydra-build-machine

      ./build-machines.nix
      ./hydra.nix
      ./nix-cache.nix
    ];

  profiles.clerie.mercury-vm.enable = true;

  boot.loader.grub.enable = true;
  boot.loader.grub.device = "/dev/vda";
  
  boot.binfmt.emulatedSystems = [
    "armv6l-linux"
    "armv7l-linux"
    "aarch64-linux"
  ];

  networking.useDHCP = false;
  systemd.network.enable = true;

  systemd.network.networks."10-wan" = {
    matchConfig.Name = "ens18";
    address = [
      "2001:638:904:ffcb::a/64"
    ];
    routes = [
      { Gateway = "2001:638:904:ffcb::1"; }
    ];
    linkConfig.RequiredForOnline = "routable";
  };
  systemd.network.networks."10-nat-netz-mercury" = {
    matchConfig.Name = "ens19";
    address = [
      "192.168.10.36/24"
    ];
    routes = [
      { Gateway = "192.168.10.1"; }
    ];
    linkConfig.RequiredForOnline = "routable";
  };

  services.nginx.enable = true;

  networking.firewall.allowedTCPPorts = [ 80 443 ];

  clerie.monitoring = {
    enable = true;
    id = "210";
    pubkey = "bA7b+vRlfvbGma74+Tz+FHGcRKPe+oAOfXmuqDR4+Sc=";
  };

  system.stateVersion = "22.11";
}