{ config, lib, pkgs, ... }: let inherit (config.serverConfig) ports vhosts; in { age.secrets.matrix_discord_bridge_token.file = ../secrets/matrix_discord_bridge_token.age; services.matrix-synapse-next.settings.app_service_config_files = [ "/var/lib/matrix-synapse/discord-registration.yaml" ]; services.matrix-appservice-discord = { enable = true; settings = { auth = { usePrivilegedIntents = true; # typing status and stuff }; bridge = { enableSelfServiceBridging = true; domain = config.services.matrix-synapse-next.settings.server_name; homeserverUrl = config.services.matrix-synapse-next.settings.public_baseurl; disablePresence = true; disableTypingNotifications = true; }; # logging.console = "silly"; }; serviceDependencies = [ "matrix-synapse.target" ]; port = ports.discord_matrix_bridge_port.port; localpart = "_discord_"; package = pkgs.matrix-appservice-discord; environmentFile = config.age.secrets.matrix_discord_bridge_token.path; }; }