You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.5 KiB
Nix

{ config, lib, pkgs, ...}: {
config.systemd.services.copy-pounce-certs = {
description = "Create certificate directories for Pounce IRC bouncer";
wantedBy = [ "pounce-libera.service" "pounce-tilde.service" ];
after = [ "network.target" ];
serviceConfig.Type = "oneshot";
script = ''
if [ -d "/var/lib/pounce/" ]; then
rm -r /var/lib/pounce/
fi
mkdir -p /var/lib/pounce/certs/
mkdir -p /var/lib/pounce/certs/libera.irc.tempest.dev
mkdir -p /var/lib/pounce/certs/tilde.irc.tempest.dev
chown -R pounce:pounce /var/lib/pounce/
chmod -R 640 /var/lib/pounce/
CHAIN=/var/lib/acme/wildcard-irc.tempest.dev/fullchain.pem
PRIVKEY=/var/lib/acme/wildcard-irc.tempest.dev/key.pem
CERTS=/var/lib/pounce/certs
ln -s $CHAIN $CERTS/libera.irc.tempest.dev/fullchain.pem
ln -s $PRIVKEY $CERTS/libera.irc.tempest.dev/privkey.pem
ln -s $CHAIN $CERTS/tilde.irc.tempest.dev/fullchain.pem
ln -s $PRIVKEY $CERTS/tilde.irc.tempest.dev/privkey.pem
exit 0
'';
};
config.services.pounce = {
enable = true;
generateCerts = false;
externalHost = "irc.tempest.dev";
networks = {
libera.config = {
host = "irc.libera.chat";
nick = "tempest";
user = "ashe";
real = "Ashelyn [they/them]";
};
tilde.config = {
host = "irc.tilde.chat";
nick = "ashe";
user = "ashe";
real = "Ashelyn [they/them]";
};
};
};
}