nix machine / user configurations
1{ pkgs, ... }: 2{ 3 programs.git = { 4 enable = true; 5 extraConfig = { 6 pull.rebase = true; 7 safe.directory = "/etc/nixos"; 8 diff.external = "${pkgs.difftastic}/bin/difft"; 9 }; 10 lfs.enable = true; 11 aliases = { 12 a = "add -p"; 13 co = "checkout"; 14 cob = "checkout -b"; 15 f = "fetch -p"; 16 c = "commit"; 17 ps = "push"; 18 pl = "pull"; 19 rb = "rebase"; 20 ba = "branch -a"; 21 bd = "branch -d"; 22 bD = "branch -D"; 23 d = "diff"; 24 dc = "diff --cached"; 25 ds = "diff --staged"; 26 rs = "restore"; 27 rss = "restore --staged"; 28 s = "status -sb"; 29 ss = "stash"; 30 ssp = "stash pop"; 31 ssl = "stash list"; 32 ssd = "stash drop"; 33 # reset 34 rsoft = "reset --soft"; 35 rhard = "reset --hard"; 36 rs1ft = "soft HEAD~1"; 37 rh1rd = "hard HEAD~1"; 38 # logging 39 l = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"; 40 plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'"; 41 tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative"; 42 rank = "shortlog -sn --no-merges"; 43 # delete merged branches 44 bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d"; 45 }; 46 }; 47}