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://public-inbox.${domain}/archives"
18 "https://${domain}/mails/archives"
20 wwwListing = "match=domain";
21 config.publicinbox = {
22 css = [ "href=https://public-inbox.${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+bistrot@${domain}"
37 Discussions publiques sans sujet particulier,
38 simplement pour la camaraderie à bord de Sourcephile.
40 url = "https://${domain}/mails/archives/bistrot";
41 newsgroup = "inbox.comp.sourcephile.bistrot";
46 "public-inbox+entraide@${domain}"
49 Discussions publiques pour l'entraide à bord de Sourcephile.
51 url = "https://public-inbox.${domain}/archives/entraide";
52 newsgroup = "inbox.comp.sourcephile.entraide";
56 "environnement@${domain}"
57 "public-inbox+environnement@${domain}"
60 Discussions publiques pour se soucier de l'environnement
61 des activités de Sourcephile.
63 url = "https://public-inbox.${domain}/archives/environnement";
64 newsgroup = "inbox.comp.sourcephile.environnement";
69 "public-inbox+infra@${domain}"
72 Discussions publiques à propos de l'infrastructure,
73 notamment informatique, de Sourcephile.
75 url = "https://public-inbox.${domain}/archives/infra";
76 newsgroup = "inbox.comp.sourcephile.infra";
81 "public-inbox+labo@${domain}"
84 Discussions publiques concernant les recherches scientifiques
85 et développements informatiques de Sourcephile.
87 url = "https://public-inbox.${domain}/archives/labo";
88 newsgroup = "inbox.comp.sourcephile.labo";
93 "public-inbox+membres@${domain}"
96 Discussions ou annonces publiques à l'attention
97 de l'ensemble des personnes à bord de Sourcephile.
99 url = "https://public-inbox.${domain}/archives/membres";
100 newsgroup = "inbox.comp.sourcephile.membres";
101 #config.coderepo = [ "sourcephile" ];
106 config.coderepo.sourcephile-nix = {
107 dir = "/var/lib/git/repositories/sourcephile.git";
108 cgitUrl = "https://${domain}/git/sourcephile";
112 security.acme.certs."${domain}" = {
113 postRun = "systemctl reload public-inbox-nntp";
115 systemd.services.public-inbox = {
116 wants = [ "acme-selfsigned-${domain}.service" "acme-${domain}.service"];
117 after = [ "acme-selfsigned-${domain}.service" ];