···2233{
44 imports = [
55- ./mautrix-telegram
55+ ./mautrix-telegram.nix
66 # ./mjolnir.nix # need to create the mod user
77 ./heisenbridge.nix
88 ];
99 environment.systemPackages = [ pkgs.matrix-synapse-tools.rust-synapse-compress-state ];
1010+ age.secrets.synapse-database-password.file = "${self}/secrets/synapse-database-password.age";
1111+ age.secrets.synapse-database-password.owner = "matrix-synapse";
1212+ age.secrets.synapse-database-password.file = "${self}/secrets/synapse-config.age";
1313+ age.secrets.synapse-database-password.owner = "matrix-synapse";
10141115 services.matrix-synapse = {
1216 enable = true;
···4549 "turn:turn.sealight.xyz:3478?transport=udp"
4650 "turn:turn.sealight.xyz:3478?transport=tcp"
4751 ];
4848- turn_shared_secret = config.services.coturn.static-auth-secret;
4949- extraConfig = ''
5050- max_upload_size: "50M"
5151- use_presence: false
5252- registration_shared_secret: "hD9HQGTTDxp0mQsQ5JDsfudWMDiubmZENOgPchIvfBvUlPxlvQSvjoO4wn2L1seU"; # TODO agenix
5353- '';
5252+ # turn_shared_secret = config.services.coturn.static-auth-secret;
5353+ extraConfig = "/run/agenix/synapse-config";
5454+ # Example config (saved as secret??)
5555+ # ''
5656+ # max_upload_size: "50M"
5757+ # use_presence: false
5858+ # registration_shared_secret: "hD9HQGTTDxp0mQsQ5JDsfudWMDiubmZENOgPchIvfBvUlPxlvQSvjoO4wn2L1seU";
5959+ # enable_registration_without_verification: true
6060+ # '';
5461 enable_metrics = true;
5555- enable_registration = false;
6262+ enable_registration = true;
5663 database = {
5764 name = "psycopg2";
5858- args.password = "Da0?H*9i{x?,]|kq@iBwlIzu"; # TODO agenix
6565+ args.passfile = "/run/agenix/synapse-database-password";
5966 };
6067 };
6168 ## coturn based TURN server integration (TURN server setup mentioned later),
···96103 # '';
97104 # };
981059999- security.acme.certs.${config.services.coturn.realm} = {
100100- /* insert here the right configuration to obtain a certificate */
101101- webroot = "/var/lib/acme/acme-challenge/";
102102- email = "anish+acme@lakhwara.com";
103103- postRun = "systemctl restart coturn.service";
104104- group = "turnserver";
105105- };
106106+ # security.acme.certs.${config.services.coturn.realm} = {
107107+ # /* insert here the right configuration to obtain a certificate */
108108+ # webroot = "/var/lib/acme/acme-challenge/";
109109+ # email = "anish+acme@lakhwara.com";
110110+ # postRun = "systemctl restart coturn.service";
111111+ # group = "turnserver";
112112+ # };
106113107114 # TODO fix up jitsi bridge stuff
108115 ## services.jitsi-meet = {
···119126 ## by default is matrix-synapse
120127 # TODO agenix
121128 initialScript = pkgs.writeText "synapse-init.sql" ''
122122- CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD "Da0?H*9i{x?,]|kq@iBwlIzu";
129129+ CREATE ROLE "matrix-synapse" WITH LOGIN PASSWORD "s0m3s3cur3p455w0rdth4tisch4ng3d";
123130 CREATE DATABASE "matrix-synapse" WITH OWNER "matrix-synapse"
124131 TEMPLATE template0
125132 LC_COLLATE = "C"
···202209 ## virtual host for Synapse
203210 "chat.sealight.xyz" = {
204211 forceSSL = true;
205205- enableACME = true; # TODO
206206- #useACMEHost = "sealight.xyz";
212212+ enableACME = true;
207213 locations."/" = {
208214 proxyPass = "http://localhost:8448";
209215 };
···211217 ## virtual host for Riot/Web
212218 "element.sealight.xyz" = {
213219 forceSSL = true;
214214- enableACME = true; # TODO
215215- #useACMEHost = "sealight.xyz";
216216- ## root points to the riot-web package content, also configured via Nix
220220+ enableACME = true;
221221+ ## root points to the element-web package content, also configured via Nix
217222 locations."/" = {
218223 root = pkgs.element-web;
219224 };
+3-1
profiles/matrix/mautrix-telegram.nix
···11{ config, lib, pkgs, ... }:
22{
33+ age.secrets.telegram-matrix-env.file = "${self}/secrets/telegram-matrix-env.age";
44+ age.secrets.telegram-matrix-env.owner = "mautrix-telegram";
35 services.mautrix-telegram = {
46 enable = true;
55- environmentFile = /etc/secrets/telegram.env; # TODO agenix
77+ environmentFile = "/run/agenix/telegram-matrix-env";
68 # TODO use pgsql
79 # The appservice is pre-configured to use SQLite by default. It's also possible to use PostgreSQL.
810 settings = {