Merge pull request #167324 from alyssais/mailman-postfix

nixos/{postfix,mailman}: fix ordering between services
main
Linus Heckemann 2 years ago committed by GitHub
commit 5e513b4b24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      nixos/modules/services/mail/mailman.nix
  2. 39
      nixos/modules/services/mail/postfix.nix

@ -318,7 +318,9 @@ in {
systemd.services = {
mailman = {
description = "GNU Mailman Master Process";
after = [ "network.target" ];
before = lib.optional cfg.enablePostfix "postfix.service";
after = [ "network.target" ]
++ lib.optional cfg.enablePostfix "postfix-setup.service";
restartTriggers = [ config.environment.etc."mailman.cfg".source ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {

@ -723,23 +723,10 @@ in
{ ${setgidGroup}.gid = config.ids.gids.postdrop;
};
systemd.services.postfix =
{ description = "Postfix mail server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
path = [ pkgs.postfix ];
serviceConfig = {
Type = "forking";
Restart = "always";
PIDFile = "/var/lib/postfix/queue/pid/master.pid";
ExecStart = "${pkgs.postfix}/bin/postfix start";
ExecStop = "${pkgs.postfix}/bin/postfix stop";
ExecReload = "${pkgs.postfix}/bin/postfix reload";
};
preStart = ''
systemd.services.postfix-setup =
{ description = "Setup for Postfix mail server";
serviceConfig.Type = "oneshot";
script = ''
# Backwards compatibility
if [ ! -d /var/lib/postfix ] && [ -d /var/postfix ]; then
mkdir -p /var/lib
@ -777,6 +764,24 @@ in
'';
};
systemd.services.postfix =
{ description = "Postfix mail server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" "postfix-setup.service" ];
requires = [ "postfix-setup.service" ];
path = [ pkgs.postfix ];
serviceConfig = {
Type = "forking";
Restart = "always";
PIDFile = "/var/lib/postfix/queue/pid/master.pid";
ExecStart = "${pkgs.postfix}/bin/postfix start";
ExecStop = "${pkgs.postfix}/bin/postfix stop";
ExecReload = "${pkgs.postfix}/bin/postfix reload";
};
};
services.postfix.config = (mapAttrs (_: v: mkDefault v) {
compatibility_level = pkgs.postfix.version;
mail_owner = cfg.user;

Loading…
Cancel
Save