{ 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"; } ]; } }'; ''; }