34 lines
1.2 KiB
Nix
34 lines
1.2 KiB
Nix
{ ... }:
|
|
|
|
{
|
|
programs.git = {
|
|
enable = true;
|
|
signing = {
|
|
key = "5EFFB75F7C9B74EAA5C4637547940175096C1330";
|
|
signByDefault = true;
|
|
};
|
|
userEmail = "aliceghuston@gmail.com";
|
|
userName = "ahuston-0";
|
|
aliases = {
|
|
gone = ''
|
|
!git for-each-ref --format '%(refname:short) %(upstream)' | # dump all older branches
|
|
awk 'NF < 2 {print $1}' | # get nuked branches
|
|
grep -Pv "(^origin/|^origin$|stash)" | # filter out remotes & stash
|
|
sed 's/\\x27/\\x5C\\x27/' | # remove single quotes, for xargs reasons
|
|
xargs -r git branch -D # nuke the branches
|
|
# !git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | # dump all branches
|
|
# awk '$2 == "[gone]" {print $1}' | # get nuked branches
|
|
# sed 's/\\x27/\\x5C\\x27/' | # remove single quotes, for xargs reasons
|
|
# xargs -r git branch -D; # nuke the branches #
|
|
'';
|
|
};
|
|
extraConfig = {
|
|
push.autosetupremote = true;
|
|
pull.rebase = true;
|
|
color.ui = true;
|
|
init.defaultBranch = "main";
|
|
format.signoff = true;
|
|
};
|
|
};
|
|
}
|