diff --git a/nixos/modules/services/mail/stalwart-mail.nix b/nixos/modules/services/mail/stalwart-mail.nix index 6a0725f32808..ed3c5389354c 100644 --- a/nixos/modules/services/mail/stalwart-mail.nix +++ b/nixos/modules/services/mail/stalwart-mail.nix @@ -81,11 +81,13 @@ in { services.stalwart-mail = { wantedBy = [ "multi-user.target" ]; after = [ "local-fs.target" "network.target" ]; + preStart = if useLegacyStorage then '' mkdir -p ${dataDir}/{queue,reports,data/blobs} '' else '' mkdir -p ${dataDir}/{queue,reports,db} ''; + serviceConfig = { ExecStart = [ "" diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix index 68e0d97bebb5..5ef0a24af0be 100644 --- a/pkgs/by-name/st/stalwart-mail/package.nix +++ b/pkgs/by-name/st/stalwart-mail/package.nix @@ -62,6 +62,13 @@ rustPlatform.buildRustPackage { ROCKSDB_LIB_DIR = "${rocksdb}/lib"; }; + postInstall = '' + mkdir -p $out/lib/systemd/system + + substitute resources/systemd/stalwart-mail.service $out/lib/systemd/system/stalwart-mail.service \ + --replace "__PATH__" "$out" + ''; + # Tests require reading to /etc/resolv.conf doCheck = false;