summaryrefslogtreecommitdiff
path: root/nix/modules/ngircd.nix
blob: 12c719eaa0eee391452dd13bab8619b929b35326 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ lib, config, ... }:
{
  services.ngircd = {
    enable = lib.mkDefault config.monorepo.profiles.server.enable;
    config = ''
      [Global]
      	Name = ${config.monorepo.vars.orgHost}
      	Info = NullRing IRC Instance
        Listen = ::,0.0.0.0
        MotdFile = /etc/motd.txt
      	Network = NullRing
      	Ports = 6667
      [Options]
      	PAM = no
      [SSL]
      	CertFile = /var/lib/acme/${config.monorepo.vars.orgHost}/fullchain.pem
      	CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3
      	KeyFile = /var/lib/acme/${config.monorepo.vars.orgHost}/key.pem
      	Ports = 6697
    '';
  };

  environment.etc."motd.txt" = {
    source = ../data/motd.txt;
    mode = "644";
    user = "ngircd";
    group = "ngircd";
  };

  networking.firewall.allowedTCPPorts =
    if (config.services.ngircd.enable == true) then [
      6697
      6667
    ] else [ ];
}