From 5d8d946d3e0672ca625ef852e44d1d433a2495c7 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Fri, 13 Mar 2026 00:17:10 +0100 Subject: [PATCH] Improve git diff tooling, add jj config --- git/config | 13 +++++++------ jj/config.toml | 17 +++++++++++++++++ nix/home/default.nix | 6 +++++- zsh/.zshrc | 4 ++-- 4 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 jj/config.toml diff --git a/git/config b/git/config index c4f7cd9..d80aa6a 100644 --- a/git/config +++ b/git/config @@ -7,6 +7,7 @@ whitespace = error preloadindex = true untrackedCache = true + pager = delta [status] branch = true @@ -19,15 +20,15 @@ interHunkContext = 10 algorithm = histogram -[pager] - diff = diff-so-fancy | $PAGER - -[diff-so-fancy] - markEmptyLines = false - stripLeadingSymbols = false +[delta] + navigate = true + dark = false + side-by-side = true + pager = "less --RAW-CONTROL-CHARS --quit-if-one-screen" [interactive] singleKey = true + diffFilter = delta --color-only [push] autoSetupRemote = true diff --git a/jj/config.toml b/jj/config.toml new file mode 100644 index 0000000..acf2053 --- /dev/null +++ b/jj/config.toml @@ -0,0 +1,17 @@ +[user] +name = "Martin Larsson" +email = "larssonmartin1998@gmail.com" + +[ui] +editor = "nvim" +pager = "delta" +diff-formatter = ":git" +default-command = "log" + +[diff] +context-lines = 10 + +[merge-tools.nvim] +program = "nvim" +merge-args = ["$output"] +merge-tool-edits-conflict-markers = true diff --git a/nix/home/default.nix b/nix/home/default.nix index 0f64dba..cd18a13 100644 --- a/nix/home/default.nix +++ b/nix/home/default.nix @@ -53,6 +53,10 @@ let ".config/git" "git" ] + [ + ".config/jj" + "jj" + ] [ ".config/colorsync" "colorsync" @@ -130,7 +134,7 @@ in bc cmatrix svelte-language-server - diff-so-fancy + delta obsidian helix xh diff --git a/zsh/.zshrc b/zsh/.zshrc index 07dd03d..497812c 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -149,8 +149,8 @@ alias ga="git add" alias gap="git add --patch" alias gi="git init" alias gcl="git clone" -alias gd="git diff --output-indicator-new=' ' --output-indicator-old=' '" -alias gds="git diff --staged --output-indicator-new=' ' --output-indicator-old=' '" +alias gd="git diff" +alias gds="git diff --staged" alias gl="git log --all --graph --pretty=format:'%C(magenta)%h %C(white) %an %ar%C(auto) %D%n%s%n'" alias gm="git merge" alias gr="git rebase"