diff --git a/default.nix b/default.nix index 6361c47..fdfaee3 100644 --- a/default.nix +++ b/default.nix @@ -574,6 +574,14 @@ in ''; }; + useUTF8FolderNames = mkOption { + type = types.bool; + default = false; + description = '' + Store mailbox names on disk using UTF-8 instead of modified UTF-7 (mUTF-7). + ''; + }; + hierarchySeparator = mkOption { type = types.str; default = "."; diff --git a/mail-server/dovecot.nix b/mail-server/dovecot.nix index 771dedd..7d73ee2 100644 --- a/mail-server/dovecot.nix +++ b/mail-server/dovecot.nix @@ -29,10 +29,11 @@ let bool2int = x: if x then "1" else "0"; maildirLayoutAppendix = lib.optionalString cfg.useFsLayout ":LAYOUT=fs"; + maildirUTF8FolderNames = lib.optionalString cfg.useUTF8FolderNames ":UTF-8"; # maildir in format "/${domain}/${user}" dovecotMaildir = - "maildir:${cfg.mailDirectory}/%d/%n${maildirLayoutAppendix}" + "maildir:${cfg.mailDirectory}/%d/%n${maildirLayoutAppendix}${maildirUTF8FolderNames}" + (lib.optionalString (cfg.indexDir != null) ":INDEX=${cfg.indexDir}/%d/%n" );