diff --git a/clients/quadraticserver/matrix/continuwuity.nix b/clients/quadraticserver/matrix/continuwuity.nix index a4a5012..17a0f71 100644 --- a/clients/quadraticserver/matrix/continuwuity.nix +++ b/clients/quadraticserver/matrix/continuwuity.nix @@ -1,8 +1,17 @@ -{ +{ lib, pkgs, ... }: { + systemd.services.continuwuity.serviceConfig = { + MemoryMax = "5.5G"; + MemorySwapMax = "4.5G"; + TimeoutStartSec = "10m"; + Restart = lib.mkForce "always"; + ExecStartPost = "/bin/sh -c 'until ${lib.getExe pkgs.curl} -s -f https://matrix.federated.nexus/.well-known/matrix/client; do sleep 1; done'"; + }; + quad.matrix = rec { enable = true; domain = "federated.nexus"; settings = { + cache_capacity_modifier = 0.8; admins_list = [ "@nexusbot:federated.nexus" "@quadradical:federated.nexus" diff --git a/modules/server/continuwuity.nix b/modules/server/continuwuity.nix index 9e2afe0..49c6b81 100644 --- a/modules/server/continuwuity.nix +++ b/modules/server/continuwuity.nix @@ -18,72 +18,60 @@ }; }; - config = { - systemd.services.continuwuity.serviceConfig = { - MemoryHigh = "5G"; - MemoryMax = "5.5G"; - MemorySwapMax = "4.5G"; - TimeoutStartSec = "10m"; - Restart = lib.mkForce "always"; - ExecStartPost = "/bin/sh -c 'until ${lib.getExe pkgs.curl} -s -f https://matrix.federated.nexus/.well-known/matrix/client; do sleep 1; done'"; - }; - services = - let - subdomain = "matrix.${config.quad.matrix.domain}"; - socket = "/var/run/continuwuity/continuwuity.sock"; - in - { - matrix-continuwuity = { - enable = config.quad.matrix.enable; - package = inputs.continuwuity.packages.${pkgs.stdenv.hostPlatform.system}.default; - group = "caddy"; - settings.global = lib.recursiveUpdate { - server_name = config.quad.matrix.domain; - unix_socket_path = socket; + config.services = + let + subdomain = "matrix.${config.quad.matrix.domain}"; + socket = "/var/run/continuwuity/continuwuity.sock"; + in + { + matrix-continuwuity = { + enable = config.quad.matrix.enable; + package = inputs.continuwuity.packages.${pkgs.stdenv.hostPlatform.system}.default; + group = "caddy"; + settings.global = lib.recursiveUpdate { + server_name = config.quad.matrix.domain; + unix_socket_path = socket; - new_user_displayname_suffix = ""; + new_user_displayname_suffix = ""; - default_room_version = "12"; - forbidden_remote_server_names = [ - "freetard\\.net$" # racism, zip bomb attempts - ]; - ignore_messages_from_server_names = [ ]; - allow_joining_broken_rooms = true; + default_room_version = "12"; + forbidden_remote_server_names = [ + "freetard\\.net$" # racism, zip bomb attempts + ]; + ignore_messages_from_server_names = [ ]; + allow_joining_broken_rooms = true; - trusted_servers = [ - "starstruck.systems" - "maunium.net" - "codestorm.net" - "matrix.org" - ]; + trusted_servers = [ + "starstruck.systems" + "maunium.net" + "codestorm.net" + "matrix.org" + ]; - startup_netburst = false; - admins_from_room = false; + startup_netburst = false; + admins_from_room = false; - cache_capacity_modifier = 0.8; + url_preview_domain_explicit_allowlist = [ "*" ]; + url_preview_max_spider_size = 2097152; - url_preview_domain_explicit_allowlist = [ "*" ]; - url_preview_max_spider_size = 2097152; + max_request_size = 256000000; - max_request_size = 256000000; + dns_cache_entries = 0; - dns_cache_entries = 0; + allow_public_room_directory_over_federation = true; + lockdown_public_room_directory = true; - allow_public_room_directory_over_federation = true; - lockdown_public_room_directory = true; + allow_incoming_presence = false; + allow_outgoing_presence = false; + allow_local_presence = false; - allow_incoming_presence = false; - allow_outgoing_presence = false; - allow_local_presence = false; - - well_known = { - client = "https://${subdomain}"; - server = "${subdomain}:443"; - }; - } config.quad.matrix.settings; - }; - - caddy.virtualHosts."${subdomain}".extraConfig = "reverse_proxy unix/${socket}"; + well_known = { + client = "https://${subdomain}"; + server = "${subdomain}:443"; + }; + } config.quad.matrix.settings; }; - }; + + caddy.virtualHosts."${subdomain}".extraConfig = "reverse_proxy unix/${socket}"; + }; }