dotnix/apps/git.nix

62 lines
1.4 KiB
Nix
Raw Normal View History

{config, ...}: let
key = "0xB853ADA5DA7BBF7A";
insteadOf = prefix: domain: {
"https://${domain}/".insteadOf = "${prefix}:";
"git@${domain}:".insteadOf = "ssh:${prefix}:";
};
2023-06-28 20:48:01 +00:00
in {
programs.git = {
enable = true;
userName = "jolheiser";
userEmail = "john.olheiser@gmail.com";
signing = {
signByDefault = true;
key = key;
};
aliases = {
wt = "worktree";
ci = "commit -s -S -m";
br = "branch";
aa = "add .";
adog = "log --all --decorate --oneline --graph";
poh = "push origin HEAD";
cb = "checkout -b";
fu = "fetch upstream";
fo = "fetch origin";
dh = "diff HEAD";
2023-06-28 20:48:01 +00:00
};
lfs.enable = true;
ignores = [".idea/"];
2023-06-28 20:48:01 +00:00
extraConfig = {
init.defaultBranch = "main";
merge.conflictstyle = "diff3";
diff.colorMoved = "default";
core.editor = "hx";
push = {
default = "current";
gpgSign = "if-asked";
};
url =
insteadOf "gh" "github.com"
// insteadOf "jojo" "git.jojodev.com"
// insteadOf "tea" "gitea.com";
2023-06-28 20:48:01 +00:00
};
delta = {
enable = true;
options = {
features = "ctp-mocha";
navigate = true;
light = false;
line-numbers = true;
side-by-side = true;
};
};
includes = [
{
condition = "gitdir:~/ndlegis/";
path = "${config.xdg.configHome}/git/work-config";
}
];
2023-06-28 20:48:01 +00:00
};
}