This repository has no description
1.7 kB
64 lines
1{ config, pkgs, ... }:
2{
3 security.acme.certs."mail.lassul.us" = {
4 group = "lasscert";
5 webroot = "/var/lib/acme/acme-challenge";
6 };
7 users.groups.lasscert.members = [
8 "exim"
9 "nginx"
10 ];
11
12 clan.core.vars.generators.lassul-us-dkim = {
13 files."lassul.us.dkim.priv" = { };
14 files."lassul.us.dkim.pub" = { };
15 migrateFact = "lassul.us-dkim";
16 runtimeInputs = with pkgs; [
17 coreutils
18 openssl
19 ];
20 script = ''
21 openssl genrsa -out "$out"/lassul.us.dkim.priv 2048
22 openssl rsa -in "$out"/lassul.us.dkim.priv -pubout -outform der 2>/dev/null | openssl base64 -A > "$out"/lassul.us.dkim.pub
23 '';
24 };
25
26 krebs.exim-smarthost = {
27 enable = true;
28 primary_hostname = "lassul.us";
29 dkim = [
30 {
31 domain = "lassul.us";
32 private_key = config.clan.core.vars.generators.lassul-us-dkim.files."lassul.us.dkim.priv".path;
33 }
34 ];
35 ssl_cert = "/var/lib/acme/mail.lassul.us/fullchain.pem";
36 ssl_key = "/var/lib/acme/mail.lassul.us/key.pem";
37 local_domains = [
38 "localhost"
39 "lassul.us"
40 "ubikmedia.eu"
41 "ubikmedia.de"
42 "apanowicz.de"
43 "alewis.de"
44 "jarugadesign.de"
45 "beesmooth.ch"
46 "jla-trading.com"
47 ];
48 extraRouters = ''
49 forward_lassul_us:
50 driver = manualroute
51 domains = lassul.us
52 transport = remote_smtp
53 route_list = * orange.r
54 no_more
55
56 forward_ubik:
57 driver = manualroute
58 domains = ubikmedia.eu:ubikmedia.de:apanowicz.de:alewis.de:jarugadesign.de:beesmooth.ch:jla-trading.com
59 transport = remote_smtp
60 route_list = * ubik.r
61 no_more
62 '';
63 };
64}