{ pkgs, vhackPackages, }: { mkUser = user: serverName: { nodes, lib, ... }: { imports = [ ./acme/client.nix ]; environment.systemPackages = [ vhackPackages.fetchmail-common-name pkgs.msmtp pkgs.procmail pkgs.bind pkgs.openssl ]; networking.nameservers = lib.mkForce [ nodes.name_server.networking.primaryIPAddress nodes.name_server.networking.primaryIPv6Address ]; users.users."${user}" = {isNormalUser = true;}; systemd.tmpfiles.rules = [ "d /home/${user}/mail 0700 ${user} users - -" "L /home/${user}/.fetchmailrc - - - - /etc/homeSetup/.fetchmailrc" "L /home/${user}/.procmailrc - - - - /etc/homeSetup/.procmailrc" "L /home/${user}/.msmtprc - - - - /etc/homeSetup/.msmtprc" ]; environment.etc = { "homeSetup/.fetchmailrc" = { text = '' poll "${serverName}.server.com" protocol IMAP username "${user}" password "${user}-password" ssl mda procmail; ''; mode = "0600"; inherit user; }; "homeSetup/.procmailrc" = { text = '' DEFAULT=$HOME/mail ''; mode = "0600"; inherit user; }; "homeSetup/.msmtprc" = { text = '' account ${user} host ${serverName}.server.com domain ${user}.com port 465 from ${user}@${user}.com user ${user} password ${user}-password auth on tls on tls_starttls off ''; mode = "0600"; inherit user; }; }; }; }