From 41e3554448016b75d990a2b8413fabbd15b8d1e2 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Wed, 25 Sep 2024 21:27:38 +0200 Subject: common/git: install and configure jujutsu --- common/commandline/git.nix | 63 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 3 deletions(-) (limited to 'common') diff --git a/common/commandline/git.nix b/common/commandline/git.nix index ca8a745..159b5dd 100644 --- a/common/commandline/git.nix +++ b/common/commandline/git.nix @@ -88,8 +88,65 @@ _inputs: ]; # TODO: move common to NixOS' programs.git.config - home-manager.users.minijackson.programs.git.signing = { - signByDefault = true; - key = "minijackson@riseup.net"; + home-manager.users.minijackson.programs = { + git.signing = { + signByDefault = true; + key = "minijackson@riseup.net"; + }; + + jujutsu = { + enable = true; + package = pkgs.unstable.jujutsu; + settings = { + merge-tools = { + difft.diff-args = [ + "--color=always" + "$left" + "$right" + ]; + nvim = { + diff-args = [ "-d" ]; + diff-invocation-mode = "file-by-file"; + merge-args = [ + "-f" + "-d" + "$output" + "-M" + "$left" + "$base" + "$right" + "-c" + "wincmd J" + "-c" + "set modifiable" + "-c" + "set write" + ]; + merge-tool-edits-conflict-markers = true; + }; + }; + + ui = { + default-command = [ + "log" + "--reversed" + ]; + # TODO: setup hunk.nvim as diff-editor + diff-editor = "nvim"; + diff.tool = "difft"; + }; + + signing = { + sign-all = true; + backend = "gpg"; + key = "minijackson@riseup.net"; + }; + + user = { + email = "minijackson@riseup.net"; + name = "Minijackson"; + }; + }; + }; }; } -- cgit v1.2.3