{ ... }: { services.draupnir = { enable = true; homeserverUrl = "https://matrix.rory.gay"; pantalaimon = { enable = true; username = "draupnir"; passwordFile = "/etc/draupnir-password"; options = { #homeserver = "http://localhost:8008"; #ssl = false; }; }; settings = { managementRoom = "#draupnir-mgmt:rory.gay"; verboseLogging = false; recordIgnoredInvites = true; # Let's log ignored invites, just incase autojoinOnlyIfManager = true; # Let's not open ourselves up to DoS attacks automaticallyRedactForReasons = [ "*" ]; # I always want autoredact fasterMembershipChecks = true; # roomStateBackingStore.enabled = true; # broken under nix. backgroundDelayMS = 10; # delay isn't needed, I don't mind the performance hit pollReports = false; # this is a single person homeserver... let's save ourself the work admin.enableMakeRoomAdminCommand = true; commands.ban.defaultReasons = [ "spam" "harassment" "transphobia" "scam" ]; protections = { wordlist = { words = [ "tranny" "faggot" "ywnbaw" "nigger" ]; minutesBeforeTrusting = 0; }; }; }; }; }