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

75 lines
2 KiB
Nix
Raw Normal View History

2022-06-12 15:39:15 +00:00
{pkgs, ...}: {
2022-05-03 19:25:44 +00:00
imports = [
../../modules/matrix/mautrix-whatsapp.nix
];
services.mautrix-whatsapp = {
enable = true;
environmentFile = pkgs.emptyFile;
settings = {
homeserver = {
2022-08-25 18:43:17 +00:00
address = "https://matrix.int.chir.rs";
2022-05-03 19:25:44 +00:00
domain = "chir.rs";
};
appservice = {
database = {
type = "postgres";
uri = "postgres:///mautrix_whatsapp?sslmode=disable&host=/run/postgresql";
};
};
metrics = {
enabled = true;
listen = "[::]:29319";
};
bridge = {
2022-06-04 16:03:06 +00:00
displayname_template = "{{if .PushName}}{{.PushName}}{{else if .BusinessName}}{{.BusinessName}}{{else}}{{.JID}}{{end}}";
2022-05-03 19:25:44 +00:00
personal_filtering_spaces = true;
delivery_receipts = true;
2022-11-24 09:21:48 +00:00
identity_change_notices = true;
2022-05-03 19:25:44 +00:00
hystory_sync = {
backfill = true;
request_full_sync = true;
};
send_presence_on_typing = true;
2022-06-12 15:39:15 +00:00
double_puppet_server_map = {};
login_shared_secret_map = {};
2022-05-03 19:25:44 +00:00
private_chat_portal_meta = true;
mute_bridging = true;
pinned_tag = "m.favourite";
archive_tag = "m.lowpriority";
allow_user_invite = true;
disappearing_messages_in_groups = true;
url_previews = true;
encryption = {
allow = true;
2023-03-18 09:18:02 +00:00
default = false;
require = false;
allow_key_sharing = true;
2022-05-03 19:25:44 +00:00
};
2022-11-24 09:21:48 +00:00
sync_with_custom_puppets = true;
sync_manual_marked_unread = true;
force_active_delivery_receipts = true;
parallel_member_sync = true;
extev_polls = 2;
send_whatsapp_edits = true;
2022-05-03 19:25:44 +00:00
permissions = {
2023-03-21 19:33:25 +00:00
"*" = "relay";
2022-05-03 19:25:44 +00:00
"@lotte:chir.rs" = "admin";
};
2023-03-21 19:33:25 +00:00
relay.enabled = true;
2022-05-03 19:25:44 +00:00
};
};
};
services.postgresql.ensureDatabases = [
"mautrix_whatsapp"
];
2022-06-12 15:39:15 +00:00
services.postgresql.ensureUsers = [
{
name = "mautrix-whatsapp";
ensurePermissions = {
"DATABASE mautrix_whatsapp" = "ALL PRIVILEGES";
};
}
];
2022-05-03 19:25:44 +00:00
}