1
0
mirror of https://github.com/nix-community/home-manager synced 2024-06-01 04:23:34 +02:00

git: sendemail: add realName inside From field

We currently have no way of specifying the sender's name inside
the From field, making a patch sent through `git send-email` appear
as coming from "xxx@domain.com".

In this commit we make this field follow the standard `realName <email>`
format.

Signed-off-by: Léo DUBOIN <leo@duboin.com>
This commit is contained in:
Léo DUBOIN 2024-04-26 23:01:04 +02:00
parent 0c5704ecee
commit 4621236f47
No known key found for this signature in database
GPG Key ID: 0958BE3F44DE460A
5 changed files with 11 additions and 10 deletions

View File

@ -392,7 +392,7 @@ in {
nameValuePair "sendemail.${name}" (if account.msmtp.enable then {
smtpServer = "${pkgs.msmtp}/bin/msmtp";
envelopeSender = "auto";
from = address;
from = "${realName} <${address}>";
} else
{
smtpEncryption = if smtp.tls.enable then
@ -407,7 +407,7 @@ in {
mkIf smtp.tls.enable (toString smtp.tls.certificatesFile);
smtpServer = smtp.host;
smtpUser = userName;
from = address;
from = "${realName} <${address}>";
} // optionalAttrs (smtp.port != null) {
smtpServerPort = smtp.port;
});

View File

@ -1,12 +1,12 @@
[sendemail "hm-account"]
from = "hm@example.org"
from = "H. M. Test Jr. <hm@example.org>"
smtpEncryption = "tls"
smtpServer = "smtp.example.org"
smtpSslCertPath = "/etc/test/certificates.crt"
smtpUser = "home.manager.jr"
[sendemail "hm@example.com"]
from = "hm@example.com"
from = "H. M. Test <hm@example.com>"
smtpEncryption = "ssl"
smtpServer = "smtp.example.com"
smtpSslCertPath = "/etc/ssl/certs/ca-certificates.crt"

View File

@ -33,8 +33,8 @@ with lib;
./git-with-email-expected.conf
}
assertGitConfig "sendemail.hm@example.com.from" "hm@example.com"
assertGitConfig "sendemail.hm-account.from" "hm@example.org"
assertGitConfig "sendemail.hm@example.com.from" "H. M. Test <hm@example.com>"
assertGitConfig "sendemail.hm-account.from" "H. M. Test Jr. <hm@example.org>"
'';
};
}

View File

@ -1,5 +1,5 @@
[sendemail "hm-account"]
from = "hm@example.org"
from = "H. M. Test Jr. <hm@example.org>"
smtpEncryption = "tls"
smtpServer = "smtp.example.org"
smtpSslCertPath = "/etc/ssl/certs/ca-certificates.crt"
@ -7,7 +7,7 @@
[sendemail "hm@example.com"]
envelopeSender = "auto"
from = "hm@example.com"
from = "H. M. Test <hm@example.com>"
smtpServer = "@msmtp@/bin/msmtp"
[user]

View File

@ -7,6 +7,7 @@ with lib;
config = {
accounts.email.accounts."hm@example.com".msmtp.enable = true;
programs.git = {
enable = true;
package = pkgs.gitMinimal;
@ -33,8 +34,8 @@ with lib;
assertFileContent home-files/.config/git/config \
${./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@example.com.from" "H. M. Test <hm@example.com>"
assertGitConfig "sendemail.hm-account.from" "H. M. Test Jr. <hm@example.org>"
assertGitConfig "sendemail.hm@example.com.smtpServer" "${pkgs.msmtp}/bin/msmtp"
assertGitConfig "sendemail.hm@example.com.envelopeSender" "auto"
'';