67 lines
1.8 KiB
Nix
67 lines
1.8 KiB
Nix
args@{ config, pkgs, custom-utils, ... }:
|
|
|
|
let
|
|
ports = import ../ports.nix args;
|
|
signalPhoneNumber = "+4915566437153";
|
|
signalUser = "jalr";
|
|
in
|
|
{
|
|
sops.secrets = {
|
|
synapse-turn-shared-secret = {
|
|
owner = "matrix-synapse";
|
|
sopsFile = ../secrets.yaml;
|
|
};
|
|
matrix-sliding-sync = {
|
|
sopsFile = ../secrets.yaml;
|
|
};
|
|
};
|
|
jalr.matrix = {
|
|
enable = true;
|
|
fqdn = "matrix.jalr.de";
|
|
domain = "jalr.de";
|
|
synapse.port = ports.matrix-synapse.tcp;
|
|
sliding-sync = {
|
|
port = ports.matrix-sliding-sync.tcp;
|
|
secretFile = config.sops.secrets.matrix-sliding-sync.path;
|
|
};
|
|
turn = {
|
|
host = "turn.jalr.de";
|
|
sharedSecretFile = config.sops.secrets.synapse-turn-shared-secret.path;
|
|
};
|
|
mautrix-signal = {
|
|
enable = true;
|
|
port = ports.mautrix-signal.tcp;
|
|
settings.bridge = {
|
|
permissions = {
|
|
"@jalr:jalr.de" = "admin";
|
|
"jalr.de" = "user";
|
|
};
|
|
default_bridge_presence = false;
|
|
send_presence_on_typing = false;
|
|
};
|
|
};
|
|
};
|
|
|
|
systemd.services.signal-cli-receive = {
|
|
description = "Run signal-cli to receive messages";
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = signalUser;
|
|
CapabilityBoundingSet = null;
|
|
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
|
RestrictNamespaces = true;
|
|
SystemCallFilter = "@system-service";
|
|
};
|
|
script = "${pkgs.signal-cli}/bin/signal-cli -u ${signalPhoneNumber} receive";
|
|
};
|
|
systemd.timers.signal-cli-receive = {
|
|
description = "Run signal-cli to receive messages";
|
|
after = [ "network.target" ];
|
|
wantedBy = [ "timers.target" ];
|
|
timerConfig = {
|
|
Persistent = true;
|
|
OnCalendar = "*-*-* *:00:00";
|
|
Unit = config.systemd.services.signal-cli-receive.name;
|
|
};
|
|
};
|
|
}
|