This repository has no description
1.5 kB
60 lines
1{ 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.facts.services."lassul.us-dkim" = {
13 secret."lassul.us.dkim.priv" = { };
14 public."lassul.us.dkim.pub" = { };
15 generator.path = with pkgs; [
16 coreutils
17 openssl
18 ];
19 generator.script = ''
20 openssl genrsa -out "$secrets"/lassul.us.dkim.priv 2048
21 openssl rsa -in "$secrets"/lassul.us.dkim.priv -pubout -outform der 2>/dev/null | openssl base64 -A > "$facts"/lassul.us.dkim.pub
22 '';
23 };
24
25 krebs.exim-smarthost = {
26 enable = true;
27 primary_hostname = "lassul.us";
28 dkim = [
29 { domain = "lassul.us"; }
30 ];
31 ssl_cert = "/var/lib/acme/mail.lassul.us/fullchain.pem";
32 ssl_key = "/var/lib/acme/mail.lassul.us/key.pem";
33 local_domains = [
34 "localhost"
35 "lassul.us"
36 "ubikmedia.eu"
37 "ubikmedia.de"
38 "apanowicz.de"
39 "alewis.de"
40 "jarugadesign.de"
41 "beesmooth.ch"
42 "jla-trading.com"
43 ];
44 extraRouters = ''
45 forward_lassul_us:
46 driver = manualroute
47 domains = lassul.us
48 transport = remote_smtp
49 route_list = * orange.r
50 no_more
51
52 forward_ubik:
53 driver = manualroute
54 domains = ubikmedia.eu:ubikmedia.de:apanowicz.de:alewis.de:jarugadesign.de:beesmooth.ch:jla-trading.com
55 transport = remote_smtp
56 route_list = * ubik.r
57 no_more
58 '';
59 };
60}