{ self, config, lib, pkgs, ... }:
{
  age.secrets.telegram-matrix-env.file = "${self}/secrets/telegram-matrix-env.age";
  #age.secrets.telegram-matrix-env.owner = "mautrix-telegram";
  services.mautrix-telegram = {
    enable = true;
    environmentFile = "/run/agenix/telegram-matrix-env";
    # TODO use pgsql
    # The appservice is pre-configured to use SQLite by default. It's also possible to use PostgreSQL.
    settings = {
      homeserver = {
        address = "https://sealight.xyz";
        domain = "sealight.xyz";
      };
      appservice = {
        provisioning.enabled = false;
        id = "telegram";
        bot_username = "telegrambridge";
        public = {
          enabled = false;
          prefix = "/public";
          external = "https://chat.sealight.xyz/public";
        };
        address = "http://localhost:18787";
        port = 18787;
        # The service uses SQLite by default, but it's also possible to use PostgreSQL instead:
        #database = "postgresql:///mautrix-telegram?host=/run/postgresql";
      };
      bridge = {
        relaybot.authless_portals = false;
        permissions = {
          "@aynish:sealight.xyz" = "admin";
        };
      };
    };
  };
}
