diff options
Diffstat (limited to 'services/irc/gamja.nix')
| -rw-r--r-- | services/irc/gamja.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/services/irc/gamja.nix b/services/irc/gamja.nix new file mode 100644 index 0000000..779b5b2 --- /dev/null +++ b/services/irc/gamja.nix @@ -0,0 +1,45 @@ +{ me, pkgs, ... }: + +let + socketPort = "3030"; + + gamja = + let + gamjaConfig = { + server = { + url = "wss://${me.tailscale.domain}/gamja/socket"; + auth = "mandatory"; + nick = "mel"; + }; + }; + + faviconHtml = ''<link rel="shortcut icon" href="/gamja/favicon.png">''; + gamja-override = pkgs.gamja.overrideAttrs { + pname = "gamja-override"; + + fixupPhase = '' + sed -i 's:</head>:${faviconHtml}</head>:g' $out/index.html + cp ${../../assets/favicon.png} $out/favicon.png + ''; + }; + in + gamja-override.override { inherit gamjaConfig; }; + +in +{ + # gamja is tailnet interal + services.nginx.virtualHosts.renard.locations = { + "/gamja" = { + return = "301 $scheme://$host$request_uri/"; + }; + "/gamja/" = { + alias = "${gamja}/"; + }; + + "/gamja/socket" = { + proxyPass = "http://${me.tailscale.ip}:${socketPort}"; + proxyWebsockets = true; + recommendedProxySettings = true; + }; + }; +} |
