oignon: iodine: install
[julm/julm-nix.git] / home-manager / profiles / git.nix
index 3b0252cc39ba2c97a1d705c1179882492b61cb2f..f7a89899b5519658698ee2d8fc90d6a00b326b5f 100644 (file)
@@ -3,31 +3,48 @@
 home.packages = [
   pkgs.git-chglog
   pkgs.git-crypt
+  pkgs.git-filter-repo
   pkgs.git-quick-stats
 ];
 programs.git = {
   enable = true;
   ignores = [ "*~" "*.swp" ];
-  package = pkgs.gitFull;
+  package = lib.mkDefault pkgs.gitMinimal;
   aliases = {
+    a = "add";
+    ap = "add -p";
     authors = "shortlog -s -n";
     bl = "git log -p -M --follow --stat --";
-    br = "branch";
-    ci = "commit";
-    ca = "commit --amend -C@";
+    b = "branch";
+    c = "commit";
+    ca = "commit --amend";
+    caa = "commit --amend -C@";
+    caaa = "commit --amend -C@ -a";
+    cf = "commit --fixup";
     co = "checkout";
+    d = "diff";
     dc = "diff --cached";
-    df = "diff";
     dh = "diff --histogram";
     dp = "diff --patience";
+    g = "grep";
     ign = "ls-files -o -i --exclude-standard";
+    l = "log";
     ll = "log --graph --decorate --pretty=oneline --abbrev-commit";
-    lp = "log -p";
-    s = "status -s";
+    lp = "log -p --pretty=fuller";
+    lpg = "log -p --pretty=fuller -g";
+    p = "push -v";
+    pf = "push -vf";
+    pu = "pull";
+    r = "reset";
+    rh = "reset --hard";
+    ri = "rebase -i";
+    rp = "reset -p";
+    s = "status";
     spull = "!git-svn fetch && git-svn rebase";
     spush = "!git-svn dcommit";
-    st = "status";
-    su = "status -uno";
+    ss = "status -s";
+    st = "status -uno";
+    sw = "switch";
     fetch-local = "!git fetch local && git tag -d $(git describe --exact-match 2>/dev/null >/dev/null) && git fetch --tags local";
     pull-local = "!git fetch-local && git checkout -B master local/master";
     pull-local-old = "!git fetch-local && git checkout HEAD'^' && git branch -f master local/master && git checkout master";