49 lines
1.2 KiB
Nix
49 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
useremail,
|
|
...
|
|
}: {
|
|
# `programs.git` will generate the config file: ~/.config/git/config
|
|
# to make git use this config file, `~/.gitconfig` should not exist!
|
|
#
|
|
# https://git-scm.com/docs/git-config#Documentation/git-config.txt---global
|
|
home.activation.removeExistingGitconfig = lib.hm.dag.entryBefore ["checkLinkTargets"] ''
|
|
rm -f ~/.gitconfig
|
|
'';
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "Wyatt J. Miller";
|
|
userEmail = useremail;
|
|
|
|
extraConfig = {
|
|
init.defaultBranch = "master";
|
|
push.autoSetupRemote = true;
|
|
pull.rebase = true;
|
|
};
|
|
|
|
ignores = [
|
|
".DS_Store"
|
|
".direnv"
|
|
".idea"
|
|
];
|
|
|
|
aliases = {
|
|
# common aliases
|
|
br = "branch";
|
|
co = "checkout";
|
|
st = "status";
|
|
ls = "log --pretty=format:\"%C(yellow)%h%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate";
|
|
ll = "log --pretty=format:\"%C(yellow)%h%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate --numstat";
|
|
cm = "commit -m";
|
|
ca = "commit -am";
|
|
dc = "diff --cached";
|
|
amend = "commit --amend -m";
|
|
|
|
# aliases for submodule
|
|
update = "submodule update --init --recursive";
|
|
foreach = "submodule foreach";
|
|
};
|
|
};
|
|
}
|