diff --git a/modules/default.nix b/modules/default.nix index 1154dfb..f06bdf1 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -2,6 +2,7 @@ admin = ./admin.nix; backup = ./backup.nix; homePage = ./homepage.nix; + element = ./element.nix; fido2 = ./fido2.nix; fileShare = ./fileShare.nix; networking = ./networking.nix; diff --git a/modules/element.nix b/modules/element.nix new file mode 100644 index 0000000..834ada3 --- /dev/null +++ b/modules/element.nix @@ -0,0 +1,35 @@ +{ config, pkgs, lib, ... }: +let + cfg = config.dadada.element; +in { + options.dadada.element = { + enable = lib.mkEnableOption "Enable element webapp"; + }; + config = lib.mkIf cfg.enable { + services.nginx.virtualHosts."element.${config.networking.domain}" = { + enableACME = true; + forceSSL = true; + serverAliases = [ + "element.${config.networking.domain}" + ]; + + root = pkgs.element-web.override { + conf = { + default_server_config."m.homeserver" = { + "base_url" = "matrix.stratum0.org"; + "server_name" = "Stratum 0"; + }; + }; + }; + + locations = { + "/robots.txt" = { + extraConfig = '' + add_header Content-Type text/plain; + return 200 "User-agent: *\nDisallow: /\n"; + ''; + }; + }; + }; + }; +} diff --git a/modules/module-list.nix b/modules/module-list.nix index 98bf13a..4650c02 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -1,6 +1,7 @@ [ ./admin.nix ./backup.nix + ./element.nix ./fido2.nix ./fileShare.nix ./homepage.nix