mirror of
https://github.com/nix-community/home-manager
synced 2024-11-06 03:09:45 +01:00
email: add support for JMAP
Co-authored-by: Eliza Velasquez <4576666+elizagamedev@users.noreply.github.com>
(cherry picked from commit 467617947d
)
This commit is contained in:
parent
ac2287df5a
commit
40ec43d367
1 changed files with 48 additions and 2 deletions
|
@ -123,6 +123,38 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jmapModule = types.submodule {
|
||||||
|
options = {
|
||||||
|
host = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
example = "jmap.example.org";
|
||||||
|
description = ''
|
||||||
|
Hostname of JMAP server.
|
||||||
|
</para><para>
|
||||||
|
If both this option and <xref
|
||||||
|
linkend="opt-accounts.email.accounts._name_.jmap.sessionUrl"/> are specified,
|
||||||
|
<code>host</code> is preferred by applications when establishing a
|
||||||
|
session.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
sessionUrl = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = null;
|
||||||
|
example = "https://jmap.example.org:443/.well-known/jmap";
|
||||||
|
description = ''
|
||||||
|
URL for the JMAP Session resource.
|
||||||
|
</para><para>
|
||||||
|
If both this option and <xref
|
||||||
|
linkend="opt-accounts.email.accounts._name_.jmap.host"/> are specified,
|
||||||
|
<code>host</code> is preferred by applications when establishing a
|
||||||
|
session.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
smtpModule = types.submodule {
|
smtpModule = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
host = mkOption {
|
host = mkOption {
|
||||||
|
@ -205,7 +237,7 @@ let
|
||||||
indicate the nature of the provider.
|
indicate the nature of the provider.
|
||||||
</para><para>
|
</para><para>
|
||||||
When this indicates a specific provider then, for example,
|
When this indicates a specific provider then, for example,
|
||||||
the IMAP and SMTP server configuration may be set
|
the IMAP, SMTP, and JMAP server configuration may be set
|
||||||
automatically.
|
automatically.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -234,7 +266,7 @@ let
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
The server username of this account. This will be used as
|
The server username of this account. This will be used as
|
||||||
the SMTP and IMAP user name.
|
the SMTP, IMAP, and JMAP user name.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -299,6 +331,14 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jmap = mkOption {
|
||||||
|
type = types.nullOr jmapModule;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
The JMAP configuration to use for this account.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
signature = mkOption {
|
signature = mkOption {
|
||||||
type = signatureModule;
|
type = signatureModule;
|
||||||
default = { };
|
default = { };
|
||||||
|
@ -343,10 +383,16 @@ let
|
||||||
host = "smtp.fastmail.com";
|
host = "smtp.fastmail.com";
|
||||||
port = if config.smtp.tls.useStartTls then 587 else 465;
|
port = if config.smtp.tls.useStartTls then 587 else 465;
|
||||||
};
|
};
|
||||||
|
|
||||||
imap = {
|
imap = {
|
||||||
host = "imap.fastmail.com";
|
host = "imap.fastmail.com";
|
||||||
port = 993;
|
port = 993;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jmap = {
|
||||||
|
host = "fastmail.com";
|
||||||
|
sessionUrl = "https://jmap.fastmail.com/.well-known/jmap";
|
||||||
|
};
|
||||||
})
|
})
|
||||||
(mkIf (config.flavor == "gmail.com") {
|
(mkIf (config.flavor == "gmail.com") {
|
||||||
userName = mkDefault config.address;
|
userName = mkDefault config.address;
|
||||||
|
|
Loading…
Reference in a new issue