feat: roughly set up virtual aliases to use.

Will need to see if I cna get the idea merged in upstream.

Closes https://gitlab.skynet.ie/compsoc1/skynet/nixos/-/issues/22
This commit is contained in:
silver 2023-10-09 17:53:22 +01:00
parent 78ab6de860
commit bece34b65e
3 changed files with 88 additions and 6 deletions

View file

@ -15,12 +15,20 @@ with lib; let
# thought you could escape racket?
create_filter = groups: create_filter_join (create_filter_array groups);
create_skynet_email = accounts: (map (account: "${account}@skynet.ie") accounts);
create_skynet_email_admin = create_skynet_email config.users.admin;
create_skynet_email_committee = create_skynet_email config.users.committee;
in {
imports = [
./dns.nix
./acme.nix
./nginx.nix
inputs.simple-nixos-mailserver.nixosModule
# for teh config
../config/users.nix
];
options.services.skynet_email = {
@ -226,6 +234,77 @@ in {
cfg.domain
];
extraVirtualAliases = {
"abuse@skynet.ie" =
[
"abuse_int@skynet.ie"
]
++ create_skynet_email_admin;
"accounts@skynet.ie" =
[
"accounts_int@skynet.ie"
]
++ create_skynet_email_committee;
"compsoc@skynet.ie" =
[
"compsoc_int@skynet.ie"
]
++ create_skynet_email_committee;
"contact@skynet.ie" =
[
"contact_int@skynet.ie"
]
++ create_skynet_email_committee;
"dbadmin@skynet.ie" =
[
"dbadmin_int@skynet.ie"
]
++ create_skynet_email_admin;
"dnsadm@skynet.ie" =
[
"dnsadm_int@skynet.ie"
]
++ create_skynet_email_admin;
"hostmaster@skynet.ie" =
[
"hostmaster_int@skynet.ie"
]
++ create_skynet_email_admin;
"intersocsrep@skynet.ie" =
[
"intersocsrep_int@skynet.ie"
]
++ create_skynet_email_committee;
"mailman@skynet.ie" =
[
"mailman_int@skynet.ie"
]
++ create_skynet_email_admin;
"security@skynet.ie" =
[
"security_int@skynet.ie"
]
++ create_skynet_email_admin;
"sysadm@skynet.ie" =
[
"sysadm_int@skynet.ie"
]
++ create_skynet_email_admin;
"webadmin@skynet.ie" =
[
"webadmin_int@skynet.ie"
]
++ create_skynet_email_admin;
};
# use the letsencrypt certs
certificateScheme = "acme";