1 { lib, pkgs, config, ... }:
3 cfg = config.myServices.irc;
7 irc.enable = lib.mkOption {
11 Whether to enable irc stuff.
16 config = lib.mkIf cfg.enable {
17 myServices.dns.zones."immae.eu".subdomains.irc =
18 with config.myServices.dns.helpers; ips servers.eldiron.ips.main;
20 myServices.chatonsProperties.services.bitlbee = {
21 file.datetime = "2022-08-27T19:00:00";
24 description = "An IRC to other chat networks gateway";
25 logo = "https://www.bitlbee.org/style/logo.png";
26 website = "irc.immae.eu";
28 status.description = "OK";
29 registration."" = ["MEMBER" "CLIENT"];
30 registration.load = "FULL";
31 install.type = "PACKAGE";
35 website = "https://www.bitlbee.org/";
36 license.url = "https://github.com/bitlbee/bitlbee/blob/master/COPYING";
37 license.name = "GNU General Public License v2.0";
38 version = pkgs.bitlbee.version;
39 source.url = "https://github.com/bitlbee/bitlbee";
40 modules = map (a: a.pname) config.services.bitlbee.plugins
41 ++ map (a: a.pname) config.services.bitlbee.libpurple_plugins;
44 security.acme.certs."irc" = {
45 domain = "irc.immae.eu";
47 systemctl restart stunnel.service
51 networking.firewall.allowedTCPPorts = [ 6697 ];
52 services.bitlbee = with pkgs; {
54 authMode = "Registered";
75 cert = "${config.security.acme.certs.irc.directory}/full.pem";