Unverified Commit cf431ef6 authored by Katalin Rebhan's avatar Katalin Rebhan
Browse files

nixos/dovecot: hotfix config defaults for sieve-less setups

The sieve_script_bin_path setting can only be set when the plugin is
loaded, so on sieve-less setups dovecot will refuse to start since
sieve_script_bin_path is an invalid setting. Don't set it there.
parent a01f198b
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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}"
                '';