Self-host your own digital island
1{ lib, config, ... }: 2 3with lib; 4 5{ 6 imports = [ 7 ./dns/default.nix 8 ./mailserver/default.nix 9 ./mastodon.nix 10 ./mailserver.nix 11 ./gitea.nix 12 ./dns.nix 13 ./matrix.nix 14 ./turn.nix 15 ./wireguard/server.nix 16 ./wireguard/default.nix 17 ]; 18 19 options.eilean = with types; { 20 username = mkOption { 21 type = str; 22 }; 23 secretsDir = mkOption { 24 type = path; 25 }; 26 serverIpv4 = mkOption { 27 type = str; 28 }; 29 serverIpv6 = mkOption { 30 type = str; 31 }; 32 publicInterface = mkOption { 33 type = str; 34 }; 35 }; 36 37 config = { 38 security.acme.defaults.email = "${config.eilean.username}@${config.networking.domain}"; 39 }; 40}