summaryrefslogtreecommitdiffstats
path: root/krebs/2configs/exim-smarthost.nix
blob: 82f8ec9424f219b684c72a91bd95299807c19cde (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
36
37
38
39
40
41
42
43
44
45
46
with import <stockholm/lib>;
{ config, ... }: let

  format = from: to: {
    inherit from;
    # TODO assert is-retiolum-mail-address to;
    to = concatMapStringsSep "," (getAttr "mail") (toList to);
  };

in {
  krebs.exim-smarthost.internet-aliases =
    mapAttrsToList format (with config.krebs.users; let
      brain-ml = [
        lass
        makefu
        tv
      ];
      eloop-ml = spam-ml;
      spam-ml = [
        lass
        makefu
        tv
      ];
    in {
      "brain@krebsco.de" = brain-ml;
      "eloop2022@krebsco.de" = eloop-ml;
      "root@eloop.org" = eloop-ml; # obsolete, use spam@eloop.org instead
      "spam@eloop.org" = eloop-ml;
      "youtube@eloop.org" = eloop-ml; # obsolete, use spam@eloop.org instead
      "postmaster@krebsco.de" = spam-ml; # RFC 822
      "lass@krebsco.de" = lass;
      "makefu@krebsco.de" = makefu;
      "spam@krebsco.de" = spam-ml;
      "tv@krebsco.de" = tv;
      # XXX These are no internet aliases
      # XXX exim-retiolum hosts should be able to relay to retiolum addresses
      "lass@retiolum" = lass;
      "makefu@retiolum" = makefu;
      "spam@retiolum" = spam-ml;
      "tv@retiolum" = tv;
      "lass@r" = lass;
      "makefu@r" = makefu;
      "spam@r" = spam-ml;
      "tv@r" = tv;
    });
}