diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix index a9dd9531fadf..7f7cc10d15d5 100644 --- a/nixos/modules/services/mail/dovecot.nix +++ b/nixos/modules/services/mail/dovecot.nix @@ -163,6 +163,11 @@ let ); isPre24 = versionOlder cfg.package.version "2.4"; + + # HACK: We can not auto-add the default for sieve_script_bin_path unless we have the pigeonhole plugin loaded. Solve this in a better way in the future + hasPigeonhole = builtins.any ( + pkg: pkg.pname or null == "dovecot-pigeonhole" + ) config.environment.systemPackages; in { imports = [ @@ -579,9 +584,9 @@ in # 2.4-only options sieve_script_bin_path = mkOption { - default = if isPre24 then null else "/tmp/dovecot-%{user|username|lower}"; + default = if isPre24 || !hasPigeonhole then null else "/tmp/dovecot-%{user|username|lower}"; defaultText = literalExpression '' - if isPre24 + if isPre24 || !hasPigeonhole then null else "/tmp/dovecot-%{user|username|lower}" '';