Files
NixMachines/machines/hippocampus/servers/public/matrix/client.nix

104 lines
3.3 KiB
Nix

{ config, pkgs, lib, ... }: {
services.nginx.virtualHosts.cinny = {
listen = [{
addr = "unix:/run/nginx/cinny.sock";
}];
locations."/" = {
root = pkgs.element-web.override {
conf = {
default_server_name = "glia.club";
default_server_config = {
m.homeserver = {
base_url = "https://chat.glia.club";
server_name = "glia.club";
};
};
disable_custom_urls = false;
disable_guests = true;
disable_login_language_selector = false;
disable_3pid_login = false;
force_verification = false;
brand = "Element";
integrations_ui_url = "https://scalar.vector.im/";
integrations_rest_url = "https://scalar.vector.im/api";
integrations_widgets_urls = [
"https://scalar.vector.im/_matrix/integrations/v1"
"https://scalar.vector.im/api"
"https://scalar-staging.vector.im/_matrix/integrations/v1"
"https://scalar-staging.vector.im/api"
];
default_widget_container_height = 280;
default_country_code = "GB";
show_labs_settings = true;
features = {
threadsActivityCentre = true;
feature_video_rooms = true;
feature_group_calls = true;
feature_element_call_video_rooms = true;
};
default_federate = false;
default_theme = "light";
room_directory = {
servers = ["glia.club"];
};
enable_presence_by_hs_url = {
"https://glia.club" = true;
"https://chat.glia.club" = true;
"https://matrix.org" = false;
"https://matrix-client.matrix.org" = false;
};
setting_defaults = {
breadcrumbs = false;
};
jitsi = {
preferred_domain = "meet.element.io";
};
element_call = {
url = "https://call.element.io";
brand = "Element Call";
};
map_style_url = "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx";
};
};
extraConfig = ''
index index.html;
# Set no-cache for the version, config and index.html
# so that browsers always check for a new copy of Element Web.
# NB http://your-domain/ and http://your-domain/? are also covered by this
location = /index.html {
add_header Cache-Control "no-cache";
}
location = /version {
add_header Cache-Control "no-cache";
}
# covers config.json and config.hostname.json requests as it is prefix.
location /config {
add_header Cache-Control "no-cache";
}
location /modules/ {
alias /modules/;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
'';
};
};
services.caddy.virtualHosts = {
"glia.club, glia.club:8448" = {
extraConfig = lib.mkAfter ''
reverse_proxy unix//run/nginx/cinny.sock
'';
};
"chat.glia.club" = {
extraConfig = ''
reverse_proxy unix//run/nginx/cinny.sock
'';
};
};
}