{ lib, pkgs, sources, ... }:

let
  metis = import sources.metis { inherit pkgs; };

  inherit (metis) providers;
in {
  services.nginx.virtualHosts."calendrier.dgnum.eu" = {
    enableACME = true;
    forceSSL = true;
    root = metis.production;

    locations = lib.mapAttrs' (name: value:
      lib.nameValuePair "/cal/${name}/" {
        extraConfig = ''
          proxy_set_header X-Forwarded-Host $host;
          proxy_set_header X-Forwarded-Server $host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_pass ${value};
        '';
      }) providers;

    extraConfig = ''
      rewrite ^/calendrier(.*)$ $1 permanent;
    '';
  };
}