System/home-manager/modules/programs/git.nix
2024-11-29 05:31:19 +00:00

92 lines
1.7 KiB
Nix

{ }:
{
config,
lib,
pkgs,
...
}:
{
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = lib.mkDefault "Nathan McCarty";
userEmail = lib.mkDefault "thatonelutenist@stranger.systems";
ignores = [
"**/*~"
"*~"
"*_archive"
"/auto/"
"auto-save-list"
".cask/"
".dir-locals.el"
"dist/"
"**/.DS_Store"
"*.elc"
"/elpa/"
"/.emacs.desktop"
"/.emacs.desktop.lock"
"/eshell/history"
"/eshell/lastdir"
"flycheck_*.el"
"*_flymake.*"
"/network-security.data"
".org-id-locations"
".persp"
".projectile"
"*.rel"
"/server/"
"tramp"
"\\#*\\#"
];
delta.enable = true;
lfs.enable = true;
extraConfig = {
init = {
defaultBranch = "trunk";
};
log = {
showSignature = true;
abbrevCommit = true;
follow = true;
decorate = false;
};
rerere = {
enable = true;
autoupdate = true;
};
merge = {
ff = "only";
conflictstyle = "diff3";
};
push = {
default = "simple";
followTags = true;
};
pull = {
rebase = true;
};
status = {
showUntrackedFiles = "all";
};
transfer = {
fsckobjects = true;
};
color = {
ui = "auto";
};
diff = {
mnemonicPrefix = true;
renames = true;
wordRegex = ".";
submodule = "log";
};
# credential = { helper = "cache"; };
# Disable annoying safe directory nonsense
safe = {
directory = "*";
};
};
};
}