dovecot: migrate to dovecot 2.4

This commit is contained in:
Martin Weinelt
2026-04-18 16:15:29 +02:00
parent 7dce7fbd5a
commit f9d1435378
6 changed files with 391 additions and 359 deletions
+25 -30
View File
@@ -587,6 +587,7 @@ in
Full text search indexing with Xapian through the fts_flatcurve plugin.
This has significant performance and disk space cost.
'';
memoryLimit = mkOption {
type = types.nullOr types.int;
default = null;
@@ -603,31 +604,13 @@ in
default = true;
description = "Enable automatic indexing of messages as they are received or modified.";
};
autoIndexExclude = mkOption {
type = types.listOf types.str;
default = [ ];
example = [
"\\Trash"
"SomeFolder"
"Other/*"
];
description = ''
Mailboxes to exclude from automatic indexing.
'';
};
enforced = mkOption {
type = types.enum [
"yes"
"no"
"body"
];
default = "no";
fallback = mkOption {
type = types.bool;
default = true;
description = ''
Fail searches when no index is available. If set to
`body`, then only body searches (as opposed to
header) are affected. If set to `no`, searches may
fall back to a very slow brute force search.
Whether to fallback to slow non-indexed search, if FTS lookup and
indexing have failed.
'';
};
@@ -640,9 +623,11 @@ in
];
description = ''
A list of languages that the full text search should detect.
At least one language must be specified.
The language listed first is the default and is used when language recognition fails.
See <https://doc.dovecot.org/main/core/plugins/fts.html#fts_languages>.
At least one language must be specified. The language listed first is
the default and is used when language recognition fails.
See <https://doc.dovecot.org/main/core/plugins/fts.html#languages>.
'';
};
@@ -679,8 +664,8 @@ in
"stopwords"
];
description = ''
The list of filters to apply.
<https://doc.dovecot.org/main/core/plugins/fts.html#filter-configuration>.
The list of language filters to apply.
See <https://doc.dovecot.org/main/core/plugins/fts.html#filter-configuration>.
'';
};
};
@@ -825,9 +810,9 @@ in
directoryLayout = mkOption {
type = types.enum [
"fs"
"maildir++"
"Maildir++"
];
default = "maildir++";
default = "Maildir++";
description = ''
Sets whether dovecot should organize mail in subdirectories:
@@ -924,10 +909,12 @@ in
Trash = {
auto = "no";
special_use = "\\Trash";
fts_autoindex = false;
};
Junk = {
auto = "subscribe";
special_use = "\\Junk";
fts_autoindex = false;
};
Drafts = {
auto = "subscribe";
@@ -1784,5 +1771,13 @@ in
(mkChangedOptionModule [ "mailserver" "useFSLayout" ] [ "mailserver" "storage" "directoryLayout" ] (
config: if config.mailserver.useFSLayout then "fs" else "maildir++"
))
(mkRemovedOptionModule [ "mailserver" "fullTextSearch" "enforced" ] ''
Whether to fallback to non-indexed search is now controlled via
`mailserver.fullTextSearch.fallback`. Missing mails are now always indexed,
since flatcurve is very fast.
'')
(mkRemovedOptionModule [ "mailserver" "fullTextSearch" "autoIndexExclude" ] ''
Configure `fts_autoindex` on mail directories in `mailserver.mailboxes` instead.
'')
];
}