nixos-config/config/services/mautrix-discord.nix

75 lines
2.2 KiB
Nix
Raw Normal View History

2022-07-22 10:54:03 +00:00
{pkgs, ...}: {
imports = [
../../modules/matrix/mautrix-discord.nix
];
services.mautrix-discord = {
enable = true;
environmentFile = pkgs.emptyFile;
settings = {
homeserver = {
2023-04-18 18:28:10 +00:00
address = "https://matrix.chir.rs";
2022-07-22 10:54:03 +00:00
domain = "chir.rs";
};
appservice = {
database = {
type = "postgres";
uri = "postgres:///mautrix_discord?sslmode=disable&host=/run/postgresql";
};
2023-04-19 20:09:26 +00:00
async_transactions = true;
2022-07-22 10:54:03 +00:00
};
metrics = {
enabled = true;
2022-07-22 16:30:08 +00:00
listen = "[::]:29321";
2022-07-22 10:54:03 +00:00
};
bridge = {
channel_name_template = "{{if or (eq .Type 3) (eq .Type 4)}}{{.Name}} ({{.GuildName}} {{.ParentName}}){{else}}#{{.Name}} ({{.GuildName}} {{.ParentName}}){{end}}";
private_chat_portal_meta = "always";
2023-04-19 20:09:26 +00:00
startup_private_channel_create_limit = 25;
2022-07-22 10:54:03 +00:00
delivery_receipts = true;
2022-11-24 09:21:48 +00:00
sync_direct_chat_list = true;
2023-05-28 19:27:47 +00:00
delete_portal_on_channel_delete = true;
prefix_webhook_messages = true;
cache_media = "always";
2023-06-08 07:00:58 +00:00
animated_sticker.target = "disable";
2023-04-19 20:09:26 +00:00
backfill = {
2023-04-21 06:19:40 +00:00
forward_limits = {
initial.dm = 50;
initial.channel = 50;
2023-04-19 20:09:26 +00:00
2023-04-21 06:19:40 +00:00
missed.dm = -1;
missed.channel = -1;
};
2023-04-19 20:09:26 +00:00
};
2023-06-11 19:18:38 +00:00
media_patterns = {
enabled = true;
attachments = "mxc://matrix.chir.rs/discord_attachments|{{.ChannelID}}|{{.AttachmentID}}|{{.FileName}}";
emojis = "mxc://matrix.chir.rs/discord_emojis|{{.ID}}.{{.Ext}}";
stickers = "mxc://matrix.chir.rs/discord_stickers|{{.ID}}.{{.Ext}}";
avatars = "mxc://matrix.chir.rs/discord_avatars|{{.UserID}}|{{.AvatarID}}.{{.Ext}}";
};
encryption = {
2023-05-28 19:27:47 +00:00
allow = true;
appservice = true;
allow_key_sharing = true;
};
permissions = {
"*" = "relay";
"@lotte:chir.rs" = "admin";
};
2022-07-22 10:54:03 +00:00
};
};
};
services.postgresql.ensureDatabases = [
"mautrix_discord"
];
services.postgresql.ensureUsers = [
{
name = "mautrix-discord";
ensurePermissions = {
"DATABASE mautrix_discord" = "ALL PRIVILEGES";
};
}
];
}