From d2e10248970d4873f574b1c0dc14bc3f00c0e5fe Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.dev>
Date: Fri, 1 Mar 2024 23:26:08 +0000
Subject: [PATCH] Changes after working Scott Chacon's FOSDEM talk

- https://blog.gitbutler.com/fosdem-git-talk
- https://www.youtube.com/watch?v=aolI_Rz0ZqY
---
 lib/shared/modules/git.nix | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/shared/modules/git.nix b/lib/shared/modules/git.nix
index aea28287..6b2a2d36 100644
--- a/lib/shared/modules/git.nix
+++ b/lib/shared/modules/git.nix
@@ -39,6 +39,7 @@
         assume = "update-index --assume-unchanged";
         assumed = "!git ls-files -v | grep '^[hsmrck?]' | cut -c 3-";
         b = "branch";
+        blame = "blame -w -C -C -C";
         browse = "!gh repo view --web";
         ca = "commit --amend --verbose";
         car = "commit --amend --no-edit";
@@ -73,6 +74,7 @@
         slap = "log --oneline --decorate --graph --all";
         slp = "log --oneline --decorate";
         staged = "diff --staged";
+        stash = "stash --all";
         unassume = "update-index --no-assume-unchanged";
         uncommit = "reset --soft HEAD^";
         unstage = "reset";
@@ -85,9 +87,11 @@
         branch = {
           autosetupmerge = true;
           autosetuprebase = "always";
+          sort = "-committerdate";
         };
         checkout.defaultRemote = "origin";
         color.ui = true;
+        column.ui = "auto";
         commit = {template = "~/.gitmessage";};
         core = {
           editor = "nvim";
@@ -97,9 +101,14 @@
         delta.line-numbers = true;
         diff.tool = "vimdiff";
         fetch.prune = true;
+        gpg.format = "ssh";
         grep.lineNumber = true;
         help.autocorrect = "1";
         init.defaultBranch = "main";
+        maintenance = {
+          auto = false;
+          strategy = "incremental";
+        };
         merge.ff = "only";
         push = {
           autoSetupRemote = true;
@@ -113,6 +122,7 @@
           autosquash = true;
           autostash = true;
         };
+        user.signingkey = "~/.ssh/id_rsa.pub";
       };
     };