nixos-configuration/modules/matrix/mautrix-signal.nix
2025-10-06 15:27:56 +02:00

49 lines
1.2 KiB
Nix

{ config, lib, ... }:
let
cfg = config.jalr.matrix;
synapseCfg = config.services.matrix-synapse.settings;
dataDir = "/var/lib/mautrix-signal";
in
lib.mkIf cfg.mautrix-signal.enable {
services.mautrix-signal = {
enable = true;
registerToSynapse = true;
settings = {
homeserver = {
address = synapseCfg.public_baseurl;
domain = synapseCfg.server_name;
};
database = {
type = "sqlite3-fk-wal";
uri = "file:${dataDir}/mautrix-signal.db?_txlock=immediate";
};
appservice = rec {
hostname = "127.0.0.1";
inherit (cfg.mautrix-signal) port;
address = "http://${hostname}:${toString port}";
provisioning.shared_secret = "disable";
};
bridge = {
encryption = {
allow = true;
default = true;
};
verification_levels = {
receive = "cross-signed-tofu";
send = "cross-signed-tofu";
share = "cross-signed-tofu";
};
};
logging = {
version = 1;
min_level = "info";
writers = lib.singleton {
type = "stdout";
format = "pretty-colored";
time_format = " ";
};
};
} // cfg.mautrix-signal.settings;
};
}