Hello everyone!
So I’ve been trying to setup Thunderbird with home manager. You can guess the quality of the documentation if I say “I’ve been working on this for the past two days”.
In any case, thanks to LLMs, I’ve been able to work around the strong limitations of home manager in this case. (Databases and Profiles, … both didn’t give strong answers was to what option does, when it is necessary and in conjunction with what it needs to be provided.)
In any case, I managed to work around the problem. The thing I needed to achieve was to set the Authentication Method to OAuth2 by adding:
accounts.email.accounts."outlook-account".thunderbird.settings = id : {
"mail.server.server_${id}.authMethod" = 10;
"mail.smtpserver.smtp_${id}.authMethod" = 10;
};
The option accounts.email.accounts.<name>.imap.authentication confused me. It supports OAuth2 with xoauth2 - I’m assuming x is coming from xorg and some tooling there performing the OAuth flow. But setting it, does not map to Thunderbird. Thunderbird stays at Plain Password.
And this is as far as my rough googling got me. This post is meant as two things:
a) Information if someone encounters the same issue.
b) If you know more about it.
→ Is this just an unfinished feature and Thunderbird support will follow?
→ Is this a remnant of another feature that got removed because it is e.g. deprecated?
→ Does this belong to other email scope application just not Thunderbird?
The description that’s available is sparse to say the least:
Description
The authentication mechanism.
Type
null or string or one of “anonymous”, “apop”, “clear”, “cram_md5”, “digest_md5”, “gssapi”, “login”, “ntlm”, “plain”, “xoauth2”
Yeah, if anyone can shine a light on this issue that’d be awesome. Otherwise I found a workaround. Not pretty but works.
Best
AS2k