diff --git a/modules/home/git.nix b/modules/home/git.nix index aa60766..2092249 100644 --- a/modules/home/git.nix +++ b/modules/home/git.nix @@ -125,6 +125,57 @@ in autoSetupRemote = true; }; + # Rebase settings + rebase = { + autoStash = true; + updateRefs = true; + }; + + # Rerere (Reuse Recorded Resolution) - automatically reuse conflict resolutions + rerere = { + enabled = true; + }; + + # Color settings + color = { + ui = "auto"; + branch = "auto"; + diff = "auto"; + status = "auto"; + }; + + # Diff settings + diff = { + compactionHeuristic = true; + algorithm = "patience"; + colorMoved = "default"; + }; + + # Merge settings + merge = { + conflictStyle = "zdiff3"; + }; + + # Fetch settings + fetch = { + prune = true; + showForcedUpdates = true; + }; + + # Advice settings (disable annoying messages) + advice = { + detachedHead = false; + statusHints = true; + addIgnoredFile = false; + }; + + # Blame settings + blame = { + colorLines = true; + markUnblamables = true; + markUnblamableLines = true; + }; + # GPG/SSH signing settings gpg = { format = "ssh";