1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-30 11:37:44 +00:00
ncc/hosts/best/cinny/default.nix

70 lines
1.6 KiB
Nix

{ config, lib, pkgs, ... }: let
inherit (lib) flip merge;
inherit (lib.strings) toJSON;
fqdn = "cinny.rgbcu.be";
root = pkgs.cinny;
cinnyConfig = {
allowCustomHomeservers = false;
homeserverList = [ "rgbcu.be" ];
defaultHomeserver = 0;
hashRouter = {
enabled = false;
basename = "/";
};
featuredCommunities = {
openAsDefault = false;
servers = [
"rgbcu.be"
"matrix.org"
"privatevoid.net"
"notashelf.dev"
"outfoxxed.me"
];
spaces = [
"#nixos-fallout:privatevoid.net"
"#ferronweb:matrix.org"
];
rooms = [
"#ferronweb-general:matrix.org"
"#ferronweb-development:matrix.org"
];
};
};
in {
nixpkgs.overlays = [(self: super: {
cinny-unwrapped = super.cinny-unwrapped.overrideAttrs (old: {
patches = old.patches or [] ++ [
./all-styles.patch
];
});
})];
services.nginx.virtualHosts.${fqdn} = merge config.services.nginx.sslTemplate {
inherit root;
locations."= /config.json".extraConfig = /* nginx */ ''
default_type application/json;
return 200 '${toJSON cinnyConfig}';
'';
extraConfig = /* nginx */ ''
rewrite ^/config.json$ /config.json break;
rewrite ^/manifest.json$ /manifest.json break;
rewrite ^/sw.js$ /sw.js break;
rewrite ^/pdf.worker.min.js$ /pdf.worker.min.js break;
rewrite ^/public/(.*)$ /public/$1 break;
rewrite ^/assets/(.*)$ /assets/$1 break;
rewrite ^(.+)$ /index.html break;
'';
};
}