nixos-config/home-manager/git.nix

46 lines
1.3 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, user, ... }:
{
programs = {
git = {
enable = true;
extraConfig = {
user.private.name = "Michael Mandl";
user.private.email = "mandlm@molez.net";
user.private.signingkey = "4AA25D647AA54CC7";
user.swp.name = "Michael Mandl";
user.swp.email = "mandl@vi-bim.de";
user.swp.signingkey = "4E60F44227F611B4";
core.editor = "nvim";
fetch.writeCommitGraph = true;
format.pretty = "format:%C(yellow)%h %Cblue%>(12)%ad %C(red)%G? %Cgreen%<(7,trunc)%aN%Cred%d %Creset%s";
init.defaultBranch = "main";
log.date = "relative";
pull.rebase = true;
rebase.autostash = true;
rerere.enabled = true;
worktree.guessRemote = true;
diff.external = "difft --background light";
diff.tool = "difftastic";
difftool.prompt = false;
difftool.difftastic.cmd = "difft --background light \"$LOCAL\" \"$REMOTE\"";
pager.difftool = true;
};
aliases = {
identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; git config user.signingkey \"$(git config user.$1.signingkey)\"; git config commit.gpgsign \"true\"; :";
};
ignores = [
".env"
".direnv"
"*.swp"
];
};
};
}