{config, lib, pkgs, ...}: let root_host = "grimmauld.de"; bridge_port = 9005; # netstat -nlp | grep 9005 in { nixpkgs.overlays = [ (final: prev: { matrix-appservice-discord = prev.matrix-appservice-discord.overrideAttrs (old: { patches = (let oldPatches = old.patches or []; in if oldPatches == null then [] else oldPatches) ++ [ ./patch_bridge_perms.patch ]; });}) ]; 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 = root_host; homeserverUrl = "https://${root_host}"; disablePresence = true; disableTypingNotifications = true; }; logging.console = "silly"; }; serviceDependencies = ["matrix-synapse.target"]; port = bridge_port; localpart = "_discord_"; package = pkgs.matrix-appservice-discord; environmentFile = config.age.secrets.matrix_discord_bridge_token.path; }; }