1 { pkgs, lib, config, ... }:
2 let inherit (config.users) groups;
3 domain = "sourcephile.fr";
6 services.public-inbox = {
8 path = with pkgs; [ /*spamassassin*/ ];
9 #mda.args = [ "--no-precheck" ];
11 watch.spamCheck = null;
13 #config.publicinbox.css =
14 # [ "href=https://${domain}/lists/public-inbox.css" ];
17 "https://mails.${domain}/inbox"
18 "https://public-inbox.${domain}/inbox"
20 wwwListing = "match=domain";
21 config.publicinbox = {
22 css = [ "href=https://mails.${domain}/style/light.css" ];
25 nntpServer = [ "nntps://news.${domain}" ];
26 nntp.cert = "/var/lib/acme/${domain}/fullchain.pem";
27 nntp.key = "/var/lib/acme/${domain}/key.pem";
28 nntp.extraGroups = [ groups.acme.name ];
34 "public-inbox+atelier@${domain}"
38 discussions concernant le développement logiciel.
40 url = "https://mails.${domain}/inbox/atelier";
41 newsgroup = "inbox.comp.sourcephile.atelier";
46 "public-inbox+bar@${domain}"
50 discussions concernant l'informatique en général.
52 url = "https://mails.${domain}/inbox/bar";
53 newsgroup = "inbox.comp.sourcephile.bar";
58 "public-inbox+contact@${domain}"
62 discussions avec le grand public.
64 url = "https://mails.${domain}/inbox/contact";
65 newsgroup = "inbox.comp.sourcephile.contact";
66 #config.coderepo = [ "sourcephile" ];
71 "public-inbox+ecole@${domain}"
75 discussions pour s'entraider en informatique.
77 url = "https://mails.${domain}/inbox/ecole";
78 newsgroup = "inbox.comp.sourcephile.ecole";
82 "environnement@${domain}"
83 "public-inbox+environnement@${domain}"
86 environnement@${domain} :
87 discussions sur les impacts environnementaux de l'informatique.
89 url = "https://mails.${domain}/inbox/environnement";
90 newsgroup = "inbox.comp.sourcephile.environnement";
95 "public-inbox+labo@${domain}"
99 discussions concernant la science de l'informatique.
101 url = "https://mails.${domain}/inbox/labo";
102 newsgroup = "inbox.comp.sourcephile.labo";
107 "public-inbox+machines@${domain}"
111 discussions concernant l'administration technique de l'infrastructure informatique.
113 url = "https://mails.${domain}/inbox/machines";
114 newsgroup = "inbox.comp.sourcephile.machines";
119 "public-inbox+pont@${domain}"
123 discussions à l'attention de l'ensemble des personnes à bord.
125 url = "https://mails.${domain}/inbox/pont";
126 newsgroup = "inbox.comp.sourcephile.pont";
127 #config.coderepo = [ "sourcephile" ];
132 "public-inbox+test@${domain}"
136 une cible de test pour effectuer des tirs de mails.
138 url = "https://mails.${domain}/inbox/test";
139 newsgroup = "inbox.comp.sourcephile.test";
141 hide = ["www" "manifest"];
147 config.coderepo.sourcephile-nix = {
148 dir = "/var/lib/git/repositories/sourcephile.git";
149 cgitUrl = "https://${domain}/git/sourcephile";
153 security.acme.certs."${domain}" = {
154 postRun = "systemctl reload public-inbox-nntp";
156 systemd.services.public-inbox = {
157 wants = [ "acme-selfsigned-${domain}.service" "acme-${domain}.service"];
158 after = [ "acme-selfsigned-${domain}.service" ];