sieve: move cfg.sieveDirectory into home directory of virtual users

This commit is contained in:
emilylange
2026-04-12 04:07:05 +02:00
parent 260f38128e
commit e4aa2d1517
4 changed files with 7 additions and 44 deletions
-29
View File
@@ -16,32 +16,12 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.mailserver;
virtualMailUsersActivationScript =
pkgs.writeScript "activate-virtual-mail-users"
# bash
''
#!${pkgs.stdenv.shell}
set -euo pipefail
# Prevent world-readable paths, even temporarily.
umask 007
# Create directory to store user sieve scripts if it doesn't exist
if (! test -d "${cfg.sieveDirectory}"); then
mkdir "${cfg.sieveDirectory}"
chown "${cfg.storage.owner}:${cfg.storage.group}" "${cfg.sieveDirectory}"
chmod 770 "${cfg.sieveDirectory}"
fi
'';
in
{
config = lib.mkIf cfg.enable {
@@ -80,14 +60,5 @@ in
home = cfg.storage.path;
createHome = true;
};
systemd.services.activate-virtual-mail-users = {
wantedBy = [ "multi-user.target" ];
before = [ "dovecot.service" ];
serviceConfig = {
ExecStart = virtualMailUsersActivationScript;
};
enable = true;
};
};
}