summary refs log tree commit diff stats
path: root/modules/matrix/matrix.nix
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-04-09 16:02:53 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-04-09 16:02:53 +0200
commit141c10e17c9aaca4b422f2bcb204b73e0e1ada2a (patch)
tree8ded92a9ba93ee6ee6c22fb55729f0cd8ec7a513 /modules/matrix/matrix.nix
parent96d0c89447d00e7cee5d26b5cb1e08f01deae768 (diff)
downloadnosix-141c10e17c9aaca4b422f2bcb204b73e0e1ada2a.tar.gz
nosix-141c10e17c9aaca4b422f2bcb204b73e0e1ada2a.zip
add matrix server with signal and whatsapp bridges
Diffstat (limited to 'modules/matrix/matrix.nix')
-rw-r--r--modules/matrix/matrix.nix41
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/matrix/matrix.nix b/modules/matrix/matrix.nix
new file mode 100644
index 0000000..34acafd
--- /dev/null
+++ b/modules/matrix/matrix.nix
@@ -0,0 +1,41 @@
+{ pkgs, libs, config, ... }:
+{
+
+  imports = 
+    [
+      ./mautrix-whatsapp.nix
+      ./mautrix-signal.nix
+      ./element.nix
+    ];
+
+  nixpkgs.config.permittedInsecurePackages = [ "olm-3.2.16" ];
+
+  services.postgresql = {
+    enable = true;
+  };
+
+  services.matrix-synapse = {
+    enable = true;
+    settings = {
+      server_name = "krinitsin.com";
+      public_baseurl = "https://matrix.krinitsin.com/";
+      presence.enabled = false;
+    };
+    extraConfigFiles = [ "/secret/matrix" ];
+  };
+
+  services.nginx.virtualHosts."matrix.krinitsin.com" = {
+    forceSSL = true;
+    useACMEHost = "krinitsin.com";
+    locations."/".proxyPass = "http://localhost:8008";
+  };
+
+  security.acme.certs."krinitsin.com".extraDomainNames = [ "matrix.krinitsin.com" ];
+
+  services.monit.config = ''
+    check process synapse with matching "synapse"
+    start program = "${pkgs.systemd}/bin/systemctl start synapse"
+    stop program = "${pkgs.systemd}/bin/systemctl stop synapse"
+  '';
+
+}