mirror of
https://github.com/nix-community/home-manager.git
synced 2025-03-09 10:16:55 +00:00
The Git module now supports SSH and X.509 signing in addition to OpenPGP/GnuPG, via setting the `programs.git.signing.format` option. It defaults to `openpgp` for now as a backwards compatibility measure, but I feel like we shouldn't enforce GPG as the default on everyone, especially for people who use SSH signing like me. Accordingly, `programs.git.signing.gpgPath` has been renamed to `programs.git.signing.signer`, as now the signer binary is not restricted to GnuPG. Users should only get a warning and everything should continue to work. Fixes #4221, supersedes #4235 Co-authored-by: Mario Rodas <marsam@users.noreply.github.com> Co-authored-by: Sumner Evans <me@sumnerevans.com> Co-authored-by: Leah Amelia Chen <hi@pluie.me>
23 lines
597 B
Nix
23 lines
597 B
Nix
{
|
|
programs.git = {
|
|
enable = true;
|
|
signing.signer = "path-to-gpg";
|
|
extraConfig = ''
|
|
This can be anything.
|
|
'';
|
|
userEmail = "user@example.org";
|
|
userName = "John Doe";
|
|
};
|
|
|
|
test.asserts.warnings.expected = [''
|
|
Using programs.git.extraConfig as a string option is
|
|
deprecated and will be removed in the future. Please
|
|
change to using it as an attribute set instead.
|
|
''];
|
|
|
|
nmt.script = ''
|
|
assertFileExists home-files/.config/git/config
|
|
assertFileContent home-files/.config/git/config \
|
|
${./git-with-str-extra-config-expected.conf}
|
|
'';
|
|
}
|