From 0c7c761f563bbbcce9e7a4650bea147ea141aeb8 Mon Sep 17 00:00:00 2001
From: Gabe Venberg <gabevenberg@gmail.com>
Date: Tue, 25 Feb 2025 12:47:05 +0100
Subject: [PATCH] added some more qol git settings.

---
 modules/home-manager/git.nix | 43 ++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 21 deletions(-)

diff --git a/modules/home-manager/git.nix b/modules/home-manager/git.nix
index ebb95dd..03dbb31 100644
--- a/modules/home-manager/git.nix
+++ b/modules/home-manager/git.nix
@@ -44,36 +44,37 @@
           line-numbers = true;
         };
       };
-      # difftastic.enable=true;
-      # difftastic.background="dark";
       userEmail = config.user.git.profile.email;
       userName = config.user.git.profile.name;
       extraConfig = {
-        init = {
-          defaultBranch = "main";
-        };
+        init.defaultBranch = "main";
         push = {
           autoSetupRemote = true;
-          default = "current";
+          default = "simple";
+          followTags = true;
         };
-        pull = {
-          ff = true;
+        fetch = {
+          prune = true;
+          pruneTags = true;
+          all = true;
         };
-        merge = {
-          conflictstyle = "zdiff3";
+        pull.ff = true;
+        merge.conflictstyle = "zdiff3";
+        diff = {
+          algorithm = "histogram";
+          colorMoved = "plain";
+          mnemonicPrefix = true;
+          renames = true;
         };
-        rebase = {
-          autosquash = true;
-        };
-        help = {
-          autocorrect = "prompt";
-        };
-        branch = {
-          sort = "-committerdate";
-        };
-        status = {
-          submodulesummary = true;
+        rerere = {
+          enabled = true;
+          autoupdate = true;
         };
+        rebase.autosquash = true;
+        help.autocorrect = "prompt";
+        branch.sort = "-committerdate";
+        tag.sort = "version:refname";
+        status.submodulesummary = true;
       };
       includes =
         if config.user.git.workProfile.enable