diff --git a/modules/programs/git.nix b/modules/programs/git.nix index 53728060a..b3e552bd0 100644 --- a/modules/programs/git.nix +++ b/modules/programs/git.nix @@ -407,7 +407,10 @@ in { mkIf smtp.tls.enable (toString smtp.tls.certificatesFile); smtpServer = smtp.host; smtpUser = userName; - from = address; + from = if (builtins.stringLength realName == 0) then + address + else + "${realName} <${address}>"; } // optionalAttrs (smtp.port != null) { smtpServerPort = smtp.port; }); diff --git a/tests/modules/programs/git/git-with-email-expected.conf b/tests/modules/programs/git/git-with-email-expected.conf index c34ab1d79..f10e43e4b 100644 --- a/tests/modules/programs/git/git-with-email-expected.conf +++ b/tests/modules/programs/git/git-with-email-expected.conf @@ -6,7 +6,7 @@ smtpUser = "home.manager.jr" [sendemail "hm@example.com"] - from = "hm@example.com" + from = "H. M. Test " smtpEncryption = "ssl" smtpServer = "smtp.example.com" smtpSslCertPath = "/etc/ssl/certs/ca-certificates.crt" diff --git a/tests/modules/programs/git/git-with-email.nix b/tests/modules/programs/git/git-with-email.nix index ec18ecb92..82fcd17a5 100644 --- a/tests/modules/programs/git/git-with-email.nix +++ b/tests/modules/programs/git/git-with-email.nix @@ -6,8 +6,10 @@ with lib; imports = [ ../../accounts/email-test-accounts.nix ]; config = { - accounts.email.accounts.hm-account.smtp.tls.certificatesFile = - "/etc/test/certificates.crt"; + accounts.email.accounts.hm-account = { + smtp.tls.certificatesFile = "/etc/test/certificates.crt"; + realName = mkForce ""; + }; programs.git = { enable = true; package = pkgs.gitMinimal; @@ -33,7 +35,7 @@ with lib; ./git-with-email-expected.conf } - assertGitConfig "sendemail.hm@example.com.from" "hm@example.com" + assertGitConfig "sendemail.hm@example.com.from" "H. M. Test " assertGitConfig "sendemail.hm-account.from" "hm@example.org" ''; }; diff --git a/tests/modules/programs/git/git-with-msmtp-expected.conf b/tests/modules/programs/git/git-with-msmtp-expected.conf index 1f2c7b794..e837d14ae 100644 --- a/tests/modules/programs/git/git-with-msmtp-expected.conf +++ b/tests/modules/programs/git/git-with-msmtp-expected.conf @@ -1,5 +1,5 @@ [sendemail "hm-account"] - from = "hm@example.org" + from = "H. M. Test Jr. " smtpEncryption = "tls" smtpServer = "smtp.example.org" smtpSslCertPath = "/etc/ssl/certs/ca-certificates.crt" diff --git a/tests/modules/programs/git/git-with-msmtp.nix b/tests/modules/programs/git/git-with-msmtp.nix index dc6ba465e..85d12723b 100644 --- a/tests/modules/programs/git/git-with-msmtp.nix +++ b/tests/modules/programs/git/git-with-msmtp.nix @@ -6,7 +6,11 @@ with lib; imports = [ ../../accounts/email-test-accounts.nix ]; config = { - accounts.email.accounts."hm@example.com".msmtp.enable = true; + accounts.email.accounts."hm@example.com" = { + msmtp.enable = true; + realName = mkForce ""; + }; + programs.git = { enable = true; package = pkgs.gitMinimal; @@ -34,7 +38,7 @@ with lib; ${./git-with-msmtp-expected.conf} assertGitConfig "sendemail.hm@example.com.from" "hm@example.com" - assertGitConfig "sendemail.hm-account.from" "hm@example.org" + assertGitConfig "sendemail.hm-account.from" "H. M. Test Jr. " assertGitConfig "sendemail.hm@example.com.smtpServer" "${pkgs.msmtp}/bin/msmtp" assertGitConfig "sendemail.hm@example.com.envelopeSender" "auto" '';