{ pkgs, ... }: { home.packages = with pkgs; [ #git gh hub colordiff ]; #programs.gh.enable = true; # adds read-only config to .config #programs.git.gitui.enable = true; programs.git.enable = true; programs.git.lfs.enable = true; programs.git.delta.enable = true; programs.git.delta.options.max-line-length = 2000; #programs.git.lfs.enable = true; #programs.git.signing #programs.git.userName = "pbsds" programs.git.userName = "Peder Bergebakken Sundt"; programs.git.userEmail = "pbsds@hotmail.com"; # https://jvns.ca/blog/2024/02/16/popular-git-config-options/ programs.git.extraConfig.rerere.enabled = true; #programs.git.extraConfig.help.autocorrect = "prompt"; programs.git.extraConfig.transfer.fsckobjects = true; programs.git.extraConfig.fetch.fsckobjects = true; programs.git.extraConfig.receive.fsckObjects = true; programs.git.extraConfig.branch.sort = "-committerdate"; programs.git.extraConfig.tag.sort = "taggerdate"; programs.git.extraConfig.fetch.prune = true; programs.git.extraConfig.fetch.prunetags = true; programs.git.extraConfig.log.date = "iso"; programs.git.iniContent.init.defaultBranch = "main"; programs.git.ignores = [ ".remote.toml" "result" "result-info" "result-doc" "result-man" "result-dev" "result-lib" "__pycache__" "*.pyc" #".envrc" ]; home.shellAliases = { # git gud gs = "git status"; gb = "git blame"; gl = "git log --oneline --color | head -n 30"; glg = "git log --all --decorate --oneline --graph"; gpra = "git pull --rebase --autostash"; gd = "git diff"; gdwd = "git diff --word-diff"; gdwdr = "git diff --word-diff --word-diff-regex=."; gds = "git diff --staged"; gdswd = "git diff --staged --word-diff"; gdswdr = "git diff --staged --word-diff --word-diff-regex=."; gcp = "git cherry-pick"; gca = "git commit --amend"; gcara = "git commit --amend --reset-author"; gpo = "git push origin"; gpasr = "git pull --autostash --rebase"; #gfr = "git fetch origin master && git rebase FETCH_HEAD"; gfr = "git pull --rebase"; gp = "git pull --rebase --autostash"; }; }