{
root = "/data/nginx/html_rory_gay";
enableACME = true;
addSSL = true;
extraConfig = ''autoindex on;'';
locations."= /.well-known/matrix/server".extraConfig = ''
more_set_headers 'Content-Type application/json';
more_set_headers 'Access-Control-Allow-Origin *';
return 200 '${builtins.toJSON { "m.server" = "matrix.rory.gay:443"; }}';
'';
locations."= /.well-known/matrix/client".extraConfig = ''
more_set_headers 'Content-Type application/json';
more_set_headers 'Access-Control-Allow-Origin *';
return 200 '${
builtins.toJSON {
"m.homeserver".base_url = "https://matrix.rory.gay";
"org.matrix.msc3575.proxy".url = "https://matrix.rory.gay";
}
}';
'';
locations."= /.well-known/matrix/support".extraConfig = ''
more_set_headers 'Content-Type application/json';
more_set_headers 'Access-Control-Allow-Origin *';
return 200 '${
builtins.toJSON {
admins = [
{
matrix_id = "@emma:rory.gay";
role = "admin";
}
{
matrix_id = "@alicia:rory.gay";
role = "admin";
}
{
matrix_id = "@root:rory.gay";
role = "admin";
}
{
matrix_id = "@rory:rory.gay";
role = "admin";
}
];
}
}';
'';
}