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

{
  hexchen.bindmounts."/var/lib/murmur" = "/persist/var/lib/murmur";

  services.murmur = {
    enable = true;
    logDays = -1;
    welcometext =
      "Welcome to mumble4future! Brought to you by infra4future. The server is now reachable under mumble.hacc.space, please update your bookmarks.";
    sslKey = "/var/lib/acme/mumble.hacc.space/key.pem";
    sslCert = "/var/lib/acme/mumble.hacc.space/fullchain.pem";
    bandwidth = 128000;
  };

  networking.firewall.allowedTCPPorts = [ config.services.murmur.port ];
  networking.firewall.allowedUDPPorts = [ config.services.murmur.port ];

  # the mumble cert has its own group so that both nginx and murmur can read it
  users.groups.mumblecert = { };
  security.acme.certs."mumble.hacc.space" = {
    group = "mumblecert";
    extraDomainNames = [ "mumble.infra4future.de" ];
    reloadServices = [ "murmur" ];
  };
  users.users.nginx.extraGroups = [ "mumblecert" ];
  users.users.murmur.extraGroups = [ "mumblecert" ];
}
