himalaya: fix notmuch backend
Previously, IMAP was preferred over notmuch, even if notmuch was
configured, causing problems with setting account flavor (which
automatically sets IMAP settings). The new backend order is:
notmuch > IMAP > maildir
This also fixes the notmuch DB path being set to the wrong location.
The notmuch DB is located at the maildir base path, not in each
account's maildir.
This commit is contained in:
parent
98282a481d
commit
24805d3ca7
2 changed files with 11 additions and 7 deletions
|
|
@ -8,14 +8,18 @@ let
|
|||
# attrs util that removes entries containing a null value
|
||||
compactAttrs = lib.filterAttrs (_: val: !isNull val);
|
||||
|
||||
# Needed for notmuch config, because the DB is here, and not in each account's dir
|
||||
maildirBasePath = config.accounts.email.maildirBasePath;
|
||||
|
||||
# make a himalaya config from a home-manager email account config
|
||||
mkAccountConfig = _: account:
|
||||
let
|
||||
imapEnabled = !isNull account.imap;
|
||||
maildirEnabled = !imapEnabled && !isNull account.maildir
|
||||
&& !account.notmuch.enable;
|
||||
notmuchEnabled = !imapEnabled && !isNull account.maildir
|
||||
&& account.notmuch.enable;
|
||||
# Use notmuch if it's enabled, otherwise fallback to IMAP then maildir
|
||||
# Maildir is always set, so there's no easy way to detect if it's being used
|
||||
notmuchEnabled = account.notmuch.enable;
|
||||
imapEnabled = !isNull account.imap && !notmuchEnabled;
|
||||
maildirEnabled = !isNull account.maildir && !imapEnabled
|
||||
&& !notmuchEnabled;
|
||||
|
||||
globalConfig = {
|
||||
email = account.address;
|
||||
|
|
@ -55,7 +59,7 @@ let
|
|||
|
||||
notmuchConfig = lib.optionalAttrs notmuchEnabled (compactAttrs {
|
||||
backend = "notmuch";
|
||||
notmuch-db-path = account.maildir.absPath;
|
||||
notmuch-db-path = maildirBasePath;
|
||||
});
|
||||
|
||||
smtpConfig = lib.optionalAttrs (!isNull account.smtp) (compactAttrs {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ backend = "notmuch"
|
|||
default = true
|
||||
display-name = "H. M. Test"
|
||||
email = "hm@example.com"
|
||||
notmuch-db-path = "/home/hm-user/Maildir/hm@example.com"
|
||||
notmuch-db-path = "/home/hm-user/Maildir"
|
||||
sender = "sendmail"
|
||||
sendmail-cmd = "msmtp"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue