nix-config/features/synapse-matrix.nix
2024-07-19 13:59:34 +02:00

63 lines
1,008 B
Nix

{
pkgs,
config,
lib,
...
}:
#TODO: implement
let
baseUrl = "talk.hypervirtual.world";
in
{
sops.secrets.matrix-shared-secret = {
sopsFile = ../secrets/matrix.yaml;
format = "yaml";
};
services.matrix-synapse = {
enable = true;
settings = {
serverName = baseUrl;
public_baseurl = baseUrl;
enable_registration = false;
};
configureRedisLocally = true;
extras = [
"systemd"
"postgres"
"url-preview"
"user-search"
];
extraConfigFiles = [ "/run/secrets/matrix-shared-secret" ];
listeners = [
{
port = 8008;
bind_addresses = [ "::1" ];
type = "http";
tls = false;
x_forwarded = true;
resources = [
{
names = [
"client"
"federation"
];
compress = true;
}
];
}
];
};
services.postgres = {
enable = true;
package = pkgs.postgresql_15;
};
}