added soju IRC bouncer and a couple of IRC clients.

This commit is contained in:
Gabe Venberg 2025-10-30 15:28:06 +01:00
parent 5da8f42240
commit 63060d1a68
11 changed files with 86 additions and 4 deletions

35
configs/nixos/soju.nix Normal file
View file

@ -0,0 +1,35 @@
{
inputs,
config,
pkgs,
lib,
...
}: let
domain = "irc.venberg.xyz";
port = 6697;
certDir = config.security.acme.certs.${domain}.directory;
in {
security.acme.certs.${domain} = {
reloadServices = ["soju.service"];
group = config.services.nginx.group;
};
# webserver for http challenge
services.nginx.virtualHosts.${domain} = {
forceSSL = true;
useACMEHost = domain;
locations."/.well-known/".root = "/var/lib/acme/acme-challenge/";
};
networking.firewall.allowedTCPPorts = [port 80];
services.soju = {
enable = true;
hostName = domain;
listen = [":${builtins.toString port}"];
tlsCertificate = "/run/credentials/soju.service/cert.pem";
tlsCertificateKey = "/run/credentials/soju.service/key.pem";
enableMessageLogging = true;
};
systemd.services.soju.serviceConfig.LoadCredential = [
"cert.pem:${certDir}/cert.pem"
"key.pem:${certDir}/key.pem"
];
}