diff options
Diffstat (limited to 'infra/libkookie/home-manager/modules/programs/git.nix')
-rw-r--r-- | infra/libkookie/home-manager/modules/programs/git.nix | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/infra/libkookie/home-manager/modules/programs/git.nix b/infra/libkookie/home-manager/modules/programs/git.nix index 4b2912e65d79..d5f1bfeea6cf 100644 --- a/infra/libkookie/home-manager/modules/programs/git.nix +++ b/infra/libkookie/home-manager/modules/programs/git.nix @@ -276,21 +276,27 @@ in { genIdentity = name: account: with account; - nameValuePair "sendemail.${name}" ({ - smtpEncryption = if smtp.tls.enable then - (if smtp.tls.useStartTls - || versionOlder config.home.stateVersion "20.09" then - "tls" - else - "ssl") - else - ""; - smtpServer = smtp.host; - smtpUser = userName; + nameValuePair "sendemail.${name}" (if account.msmtp.enable then { + smtpServer = "${pkgs.msmtp}/bin/msmtp"; + envelopeSender = "auto"; from = address; - } // optionalAttrs (smtp.port != null) { - smtpServerPort = smtp.port; - }); + } else + { + smtpEncryption = if smtp.tls.enable then + (if smtp.tls.useStartTls + || versionOlder config.home.stateVersion "20.09" then + "tls" + else + "ssl") + else + ""; + smtpSslCertPath = mkIf smtp.tls.enable smtp.tls.certificatesFile; + smtpServer = smtp.host; + smtpUser = userName; + from = address; + } // optionalAttrs (smtp.port != null) { + smtpServerPort = smtp.port; + }); in mapAttrs' genIdentity (filterAttrs hasSmtp config.accounts.email.accounts); } |