/
git.nix
51 lines (43 loc) · 1.07 KB
/
git.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{ pkgs, ... }:
{
programs.git = {
enable = true;
userName = "Brian Hicks";
userEmail = "brian@brianthicks.com";
aliases = {
aa = "add --all";
amend = "commit --amend";
ci = "commit";
co = "checkout";
dc = "diff --cached";
di = "diff";
gclone = ''!"gclone() { mkdir -p ~/code/$1; git clone git@github.com:$1.git ~/code/$1; }; gclone"'';
publish = "!git push -u origin $(git rev-parse --abbrev-ref HEAD)";
st = "status";
};
extraConfig = {
rerere.enabled = true;
"filter \"lfs\"" = {
clean = "git-lfs clean -- %f";
smudge = "git-lfs smudge -- %f";
process = "git-lfs filter-process";
required = true;
};
# magit
github.user = "BrianHicks";
};
ignores = [
"*.swp"
"*~"
".#*"
".DS_Store"
".direnv"
".envrc" # long-term this may come out, since some project have it checked in.
".python-version"
".ruby-version"
".vagrant"
"TAGS"
];
};
home.packages = with pkgs; [ git-lfs ];
}