gerd.element: inital add of element chat

This commit is contained in:
eyjhb 2024-08-29 19:22:12 +02:00
parent 61224dbc26
commit d1a3353419
No known key found for this signature in database
GPG key ID: 609F508E3239F920
3 changed files with 16 additions and 21 deletions

View file

@ -20,6 +20,7 @@
./gerd/services/nextcloud.nix ./gerd/services/nextcloud.nix
./gerd/services/stalwart ./gerd/services/stalwart
./gerd/services/element.nix
./gerd/services/matrix-synapse.nix ./gerd/services/matrix-synapse.nix
]; ];

View file

@ -1,36 +1,28 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
svc_domain = ".${config.mine.shared.settings.domain}"; svc_domain = "chat.${config.mine.shared.settings.domain}";
pkg_element = pkgs.element-web.override {
conf = {
brand = "Fricloud chat";
default_server_config = {
"m.homeserver" = {
"base_url" = "https://fricloud.dk";
server_name = "fricloud.dk";
};
"m.identity_server" = {
"base_url" = "https://vector.im";
};
};
};
};
# configure element web client
pkg_element = pkgs.element-web.override {
conf = {
default_theme = "dark";
features.feature_latex_maths = true;
disable_guests = true;
default_server_name = config.mine.shared.settings.domain;
};
};
in { in {
services.nginx.virtualHosts."${svc_domain}" = { services.nginx.virtualHosts."${svc_domain}" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
locations."/". = { locations."/".root = pkg_element;
alias = "${pkg_element}/";
index = "index.html";
};
}; };
mine.shared.meta.element = { mine.shared.meta.element = {
name = "Element"; name = "Element";
description = "We host our own Element instance."; description = "We host our own Element instance, get on it and start chatting!";
url = "https://${svc_domain}"; url = "https://${svc_domain}";
package = let package = let

View file

@ -182,6 +182,8 @@ in {
matrix-synapse-config-authelia-secret.owner = matrix_synapse_user; matrix-synapse-config-authelia-secret.owner = matrix_synapse_user;
}; };
mine.shared.settings.matrix-synapse.domain = svc_domain;
mine.shared.meta.matrix-synapse = { mine.shared.meta.matrix-synapse = {
name = "Matrix Synapse"; name = "Matrix Synapse";
description = "We host our own Matrix homeserver using Synapse! Login using your favourite which supports OpenID."; description = "We host our own Matrix homeserver using Synapse! Login using your favourite which supports OpenID.";