misc_nixos-mailserver/mail-server.nix

40 lines
895 B
Nix
Raw Normal View History

2016-07-21 16:27:57 +00:00
let
domain = "example.com";
host_prefix = "mail";
login_accounts = [ "user1" "user2" ];
vmail_id_start = 5000;
vmail_user_name = "vmail";
vmail_group_name = "vmail";
mail_dir = "/var/vmail";
cert_file = "mail-server.crt";
key_file = "mail-server.key";
in
let
vmail_user = [{
name = vmail_user_name;
isNormalUser = false;
uid = vmail_id_start;
home = mail_dir;
createHome = true;
group = vmail_group_name;
}];
accountsToUser = x: {
name = x + "@" + domain;
isNormalUser = false;
group = vmail_group_name;
};
mail_user = map accountsToUser login_accounts;
in
{
2016-07-21 16:30:32 +00:00
networking.hostName = host_prefix + "." + domain;
2016-07-21 16:31:46 +00:00
environment.systemPackages = with pkgs; [
dovecot opendkim openssh postfix clamav rspamd rmilter
];
2016-07-21 16:35:29 +00:00
# set the vmail gid to a specific value
users.groups = {
vmail = { gid = vmail_id_start; };
}
2016-07-21 16:27:57 +00:00
}