{ me, pkgs, ... }: let socketPort = "3030"; gamja = let gamjaConfig = { server = { url = "wss://gamja.rnrd.fyi/socket"; auth = "mandatory"; nick = "mel"; }; }; faviconHtml = ''''; gamja-override = pkgs.gamja.overrideAttrs { pname = "gamja-override"; fixupPhase = '' sed -i 's::${faviconHtml}:g' $out/index.html cp ${../../assets/favicon.png} $out/favicon.png ''; }; in gamja-override.override { inherit gamjaConfig; }; in { services.nginx.virtualHosts."gamja.rnrd.fyi" = { useACMEHost = "rnrd.fyi"; forceSSL = true; listenAddresses = [ me.tailscale.ip ]; locations = { "/" = { root = gamja; }; "/socket" = { proxyPass = "http://${me.tailscale.ip}:${socketPort}"; proxyWebsockets = true; recommendedProxySettings = true; }; }; }; }