neomutt: fix sendMailCommand when msmtp is enabled
This resolves the error The option `accounts.email.accounts.xyz.neomutt.sendMailCommand` is defined both null and not null, in `…/home-manager/modules/accounts/email.nix' and `…/home-manager/modules/accounts/email.nix'. that would occur previously when both neomutt and msmtp were enabled for an account.
This commit is contained in:
parent
7a3e2cc063
commit
5be9aa417a
|
@ -8,7 +8,16 @@ with lib;
|
||||||
|
|
||||||
sendMailCommand = mkOption {
|
sendMailCommand = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = if config.msmtp.enable then
|
||||||
|
"msmtpq --read-envelope-from --read-recipients"
|
||||||
|
else
|
||||||
|
null;
|
||||||
|
defaultText = literalExample ''
|
||||||
|
if config.msmtp.enable then
|
||||||
|
"msmtpq --read-envelope-from --read-recipients"
|
||||||
|
else
|
||||||
|
null
|
||||||
|
'';
|
||||||
example = "msmtpq --read-envelope-from --read-recipients";
|
example = "msmtpq --read-envelope-from --read-recipients";
|
||||||
description = ''
|
description = ''
|
||||||
Command to send a mail. If not set, neomutt will be in charge of sending mails.
|
Command to send a mail. If not set, neomutt will be in charge of sending mails.
|
||||||
|
@ -24,11 +33,4 @@ with lib;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf config.neomutt.enable {
|
|
||||||
neomutt.sendMailCommand = mkOptionDefault (if config.msmtp.enable then
|
|
||||||
"msmtpq --read-envelope-from --read-recipients"
|
|
||||||
else
|
|
||||||
null);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
{ neomutt-simple = ./neomutt.nix; }
|
{
|
||||||
|
neomutt-simple = ./neomutt.nix;
|
||||||
|
neomutt-with-msmtp = ./neomutt-with-msmtp.nix;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Generated by Home Manager.
|
||||||
|
set ssl_force_tls = yes
|
||||||
|
set certificate_file=/etc/ssl/certs/ca-certificates.crt
|
||||||
|
|
||||||
|
# GPG section
|
||||||
|
set crypt_use_gpgme = yes
|
||||||
|
set crypt_autosign = no
|
||||||
|
set pgp_use_gpg_agent = yes
|
||||||
|
set mbox_type = Maildir
|
||||||
|
set sort = "threads"
|
||||||
|
|
||||||
|
# MTA section
|
||||||
|
set sendmail='msmtpq --read-envelope-from --read-recipients'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# MRA section
|
||||||
|
set folder='/home/hm-user/Mail/hm@example.com'
|
||||||
|
set from='hm@example.com'
|
||||||
|
set postponed='+Drafts'
|
||||||
|
set realname='H. M. Test'
|
||||||
|
set record='+Sent'
|
||||||
|
set spoolfile='+Inbox'
|
||||||
|
set trash='+Trash'
|
||||||
|
color status cyan default
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Extra configuration
|
||||||
|
color status cyan default
|
||||||
|
|
44
tests/modules/programs/neomutt/neomutt-with-msmtp.nix
Normal file
44
tests/modules/programs/neomutt/neomutt-with-msmtp.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ ../../accounts/email-test-accounts.nix ];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
home.username = "hm-user";
|
||||||
|
home.homeDirectory = "/home/hm-user";
|
||||||
|
xdg.configHome = mkForce "/home/hm-user/.config";
|
||||||
|
xdg.cacheHome = mkForce "/home/hm-user/.cache";
|
||||||
|
|
||||||
|
accounts.email.accounts = {
|
||||||
|
"hm@example.com" = {
|
||||||
|
primary = true;
|
||||||
|
msmtp.enable = true;
|
||||||
|
neomutt = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
color status cyan default
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
imap.port = 993;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.neomutt.enable = true;
|
||||||
|
|
||||||
|
nixpkgs.overlays =
|
||||||
|
[ (self: super: { neomutt = pkgs.writeScriptBin "dummy-neomutt" ""; }) ];
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertFileExists home-files/.config/neomutt/neomuttrc
|
||||||
|
assertFileExists home-files/.config/neomutt/hm@example.com
|
||||||
|
assertFileContent home-files/.config/neomutt/neomuttrc ${
|
||||||
|
./neomutt-expected.conf
|
||||||
|
}
|
||||||
|
assertFileContent home-files/.config/neomutt/hm@example.com ${
|
||||||
|
./hm-example.com-msmtp-expected.conf
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue