Git: Difference between revisions

Klinger (talk | contribs)
Qweered (talk | contribs)
m cleaner
 
(2 intermediate revisions by one other user not shown)
Line 16: Line 16:


== Configuration ==
== Configuration ==
Git can be configured using [[Home Manager]]:
Git can be configured using [[Home Manager]]:


Line 56: Line 55:
   programs.git = {
   programs.git = {
     enable = true;
     enable = true;
    package = pkgs.git.override { withLibsecret = true; };
     extraConfig = {
     extraConfig = {
       credential.helper = "${
       credential.helper = "libsecret";
          pkgs.git.override { withLibsecret = true; }
        }/bin/git-credential-libsecret";
     };
     };
   };
   };
Line 83: Line 81:
       push = { autoSetupRemote = true; };
       push = { autoSetupRemote = true; };
     };
     };
  };
}
</syntaxhighlight>
=== Using your public SSH key as a signing key ===
You can naturally configure git to automatically sign your commits using your public SSH key like so:<syntaxhighlight lang="nix">
{
  programs.git = {
    enable = true;
    signing = {
      key = "ssh-ed25519 AAAAAAAAAAAA...AA username@hostname";
      signByDefault = true;
    };
    extraConfig = {
      gpg = {
        format = "ssh";
      };
    };
  };
}
</syntaxhighlight>However, note that this will also require Home Manager to manage your SSH configuration:<syntaxhighlight lang="nix">
{   
  programs.ssh = {
    enable = true;
    addKeysToAgent = "yes";
   };
   };
}
}