aerc-accounts: support for maildirpp (#4653)

* aerc-accounts: support for maildirpp

aerc-accounts now is aware of the mbsync.subFolders setting

* aerc: Adds test for maildirpp format

---------

Co-authored-by: lgehr <lgehr@mailbox.org>
This commit is contained in:
lgehr 2023-12-22 18:14:39 +01:00 committed by GitHub
parent fb5ac0c870
commit 07c322a7cf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 4 deletions

View file

@ -145,6 +145,11 @@ in {
"maildir://${config.accounts.email.maildirBasePath}/${cfg.maildir.path}";
};
maildirpp = cfg: {
source =
"maildirpp://${config.accounts.email.maildirBasePath}/${cfg.maildir.path}/Inbox";
};
imap = { userName, imap, passwordCommand, aerc, ... }@cfg:
let
loginMethod' =
@ -207,7 +212,10 @@ in {
// (optAttr "aliases" account.aliases);
sourceCfg = account:
if account.mbsync.enable || account.offlineimap.enable then
if account.mbsync.enable && account.mbsync.flatten == null
&& account.mbsync.subFolders == "Maildir++" then
mkConfig.maildirpp account
else if account.mbsync.enable || account.offlineimap.enable then
mkConfig.maildir account
else if account.imap != null then
mkConfig.imap account

View file

@ -54,9 +54,17 @@ from = Foo Bar <addr@mail.invalid>
outgoing = smtp+insecure+plain://foobar@smtp.host.invalid:42
outgoing-cred-cmd = echo PaSsWorD!
[i_maildir-mbsync]
[i1_maildir-mbsync]
from = Foo Bar <addr@mail.invalid>
source = maildir:///home/hm-user/Maildir/i_maildir-mbsync
source = maildir:///home/hm-user/Maildir/i1_maildir-mbsync
[i2_maildirpp-mbsync]
from = Foo Bar <addr@mail.invalid>
source = maildirpp:///home/hm-user/Maildir/i2_maildirpp-mbsync/Inbox
[i3_maildir_flatten-mbsync]
from = Foo Bar <addr@mail.invalid>
source = maildir:///home/hm-user/Maildir/i3_maildir_flatten-mbsync
[j_maildir-offlineimap]
from = Foo Bar <addr@mail.invalid>

View file

@ -202,7 +202,16 @@ with lib;
tls.useStartTls = true;
};
};
i_maildir-mbsync = basics // { mbsync.enable = true; };
i1_maildir-mbsync = basics // { mbsync.enable = true; };
i2_maildirpp-mbsync = basics // {
mbsync.enable = true;
mbsync.subFolders = "Maildir++";
};
i3_maildir_flatten-mbsync = basics // {
mbsync.enable = true;
mbsync.subFolders = "Maildir++";
mbsync.flatten = ".";
};
j_maildir-offlineimap = basics // { offlineimap.enable = true; };
k_notEnabled = basics // { aerc.enable = false; };
l_smtp-auth-none = basics // {