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"
19 wwwListing = "match=domain";
21 nntpServer = [ "nntps://news.${domain}" ];
22 nntp.cert = "/var/lib/acme/${domain}/fullchain.pem";
23 nntp.key = "/var/lib/acme/${domain}/key.pem";
24 nntp.extraGroups = [ groups.acme.name ];
29 "public-inbox+bistrot@${domain}"
33 Discussions publiques sans sujet particulier,
34 simplement pour la camaraderie à bord de Sourcephile.
36 url = "https://${domain}/mails/archives/bistrot";
37 newsgroup = "inbox.comp.sourcephile.bistrot";
41 "public-inbox+entraide@${domain}"
45 Discussions publiques pour l'entraide à bord de Sourcephile.
47 url = "https://public-inbox.${domain}/archives/entraide";
48 newsgroup = "inbox.comp.sourcephile.entraide";
52 "public-inbox+environnement@${domain}"
53 "environnement@${domain}"
56 Discussions publiques pour se soucier de l'environnement
57 des activités de Sourcephile.
59 url = "https://public-inbox.${domain}/archives/environnement";
60 newsgroup = "inbox.comp.sourcephile.environnement";
64 "public-inbox+infra@${domain}"
68 Discussions publiques à propos de l'infrastructure,
69 notamment informatique, de Sourcephile.
71 url = "https://public-inbox.${domain}/archives/infra";
72 newsgroup = "inbox.comp.sourcephile.infra";
76 "public-inbox+labo@${domain}"
80 Discussions publiques concernant les recherches scientifiques
81 et développements informatiques de Sourcephile.
83 url = "https://public-inbox.${domain}/archives/labo";
84 newsgroup = "inbox.comp.sourcephile.labo";
88 "public-inbox+membres@${domain}"
92 Discussions ou annonces publiques à l'attention
93 de l'ensemble des personnes à bord de Sourcephile.
95 url = "https://public-inbox.${domain}/archives/membres";
96 newsgroup = "inbox.comp.sourcephile.membres";
97 #config.coderepo = [ "sourcephile" ];
102 config.coderepo.sourcephile-nix = {
103 dir = "/var/lib/git/repositories/sourcephile.git";
104 cgitUrl = "https://${domain}/git/sourcephile";
108 security.acme.certs."${domain}" = {
109 postRun = "systemctl reload public-inbox-nntp";
111 systemd.services.public-inbox = {
112 wants = [ "acme-selfsigned-${domain}.service" "acme-${domain}.service"];
113 after = [ "acme-selfsigned-${domain}.service" ];