summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2019-10-31 23:24:52 +0100
committerFlorian Klink <flokli@flokli.de>2019-11-08 15:05:18 +0100
commite349b6e0fe2f385fbbf765e025937a6da7d27e2b (patch)
treef42b55bc921e4ca1f7364fe605d7bb66258212ce
parentc62815d35fb7c12f4ba0bbd75d83e74ff9586d93 (diff)
downloadnixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.tar
nixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.tar.gz
nixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.tar.bz2
nixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.tar.lz
nixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.tar.xz
nixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.tar.zst
nixpkgs-e349b6e0fe2f385fbbf765e025937a6da7d27e2b.zip
nixos/opensmtpd: refactor to use tmpfiles to set up spool directories
-rw-r--r--nixos/modules/services/mail/opensmtpd.nix18
1 files changed, 6 insertions, 12 deletions
diff --git a/nixos/modules/services/mail/opensmtpd.nix b/nixos/modules/services/mail/opensmtpd.nix
index a870550ba50..1fabe2da45c 100644
--- a/nixos/modules/services/mail/opensmtpd.nix
+++ b/nixos/modules/services/mail/opensmtpd.nix
@@ -101,6 +101,12 @@ in {
       };
     };
 
+    systemd.tmpfiles.rules = [
+      "d /var/spool/smtpd 711 root - - -"
+      "d /var/spool/smtpd/offline 770 root smtpq - -"
+      "d /var/spool/smtpd/purge 700 smtpq root - -"
+    ];
+
     systemd.services.opensmtpd = let
       procEnv = pkgs.buildEnv {
         name = "opensmtpd-procs";
@@ -110,18 +116,6 @@ in {
     in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-      preStart = ''
-        mkdir -p /var/spool/smtpd
-        chmod 711 /var/spool/smtpd
-
-        mkdir -p /var/spool/smtpd/offline
-        chown root.smtpq /var/spool/smtpd/offline
-        chmod 770 /var/spool/smtpd/offline
-
-        mkdir -p /var/spool/smtpd/purge
-        chown smtpq.root /var/spool/smtpd/purge
-        chmod 700 /var/spool/smtpd/purge
-      '';
       serviceConfig.ExecStart = "${cfg.package}/sbin/smtpd -d -f ${conf} ${args}";
       environment.OPENSMTPD_PROC_PATH = "${procEnv}/libexec/opensmtpd";
     };