From c33921ffdab70e058a30a9edd0acb73b2e46198d Mon Sep 17 00:00:00 2001 From: Ivan Golikov Date: Sat, 12 Sep 2026 01:29:08 +0200 Subject: [PATCH 1/6] feature: fish: Added tide plugin --- home.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home.nix b/home.nix index e86a0ec..8683e0d 100644 --- a/home.nix +++ b/home.nix @@ -95,6 +95,17 @@ shellInitLast = '' zoxide init fish | source ''; + plugins = [ + { + name = "tide"; + src = pkgs.fetchFromGitHub { + owner = "plttn"; + repo = "tide"; + rev = "v7"; + sha256 = "sha256-R2oIGbDPF81NurJ5R2Jos6P5mxYTyb1n1cpI1AZ35H4="; + }; + } + ]; }; fonts.fontconfig.enable = true; From 5ba46b5dd3d1370c347753e1608877d9e43daf38 Mon Sep 17 00:00:00 2001 From: Ivan Golikov Date: Sat, 12 Sep 2026 01:34:15 +0200 Subject: [PATCH 2/6] feature: fish: Added fish-git-abbr plugin --- home.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/home.nix b/home.nix index 8683e0d..dfc6f7e 100644 --- a/home.nix +++ b/home.nix @@ -105,6 +105,15 @@ sha256 = "sha256-R2oIGbDPF81NurJ5R2Jos6P5mxYTyb1n1cpI1AZ35H4="; }; } + { + name = "fish-git-abbr"; + src = pkgs.fetchFromGitHub { + owner = "lewisacidic"; + repo = "fish-git-abbr"; + rev = "dc590a5b9d9d2095f95f7d90608b48e55bea0b0e"; + hash = "sha256-6z3Wr2t8CP85xVEp6UCYaM2KC9PX4MDyx19f/wjHkb0="; + }; + } ]; }; From 9918331044d476bcf8496db3070b05328c46676c Mon Sep 17 00:00:00 2001 From: Ivan Golikov Date: Sat, 12 Sep 2026 03:07:03 +0200 Subject: [PATCH 3/6] lint: flake.nix: Indentation fix --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index a2f6d85..8df2b00 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ { self, nixpkgs, home-manager, nix4nvchad, ... }@inputs: let system = "x86_64-linux"; - pkgs = import nixpkgs { system = "x86_64-linux"; config = { allowUnfree = true; }; }; + pkgs = import nixpkgs { system = "x86_64-linux"; config = { allowUnfree = true; }; }; in { homeConfigurations."ivan" = home-manager.lib.homeManagerConfiguration { From e4be7647163ce29a03d323bb6dad4f07c15527d7 Mon Sep 17 00:00:00 2001 From: Ivan Golikov Date: Sat, 12 Sep 2026 03:07:41 +0200 Subject: [PATCH 4/6] chore: home.nix: Using better parameter name --- home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.nix b/home.nix index dfc6f7e..a8c6bce 100644 --- a/home.nix +++ b/home.nix @@ -102,7 +102,7 @@ owner = "plttn"; repo = "tide"; rev = "v7"; - sha256 = "sha256-R2oIGbDPF81NurJ5R2Jos6P5mxYTyb1n1cpI1AZ35H4="; + hash = "sha256-R2oIGbDPF81NurJ5R2Jos6P5mxYTyb1n1cpI1AZ35H4="; }; } { From ecde3dc29b55f4fb17cec7cbde75b6041f155038 Mon Sep 17 00:00:00 2001 From: Ivan Golikov Date: Sat, 12 Sep 2026 03:44:26 +0200 Subject: [PATCH 5/6] feature: fish: Added fzf-fish plugin --- home.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home.nix b/home.nix index a8c6bce..3570179 100644 --- a/home.nix +++ b/home.nix @@ -38,6 +38,8 @@ github-copilot-cli nerd-fonts.iosevka-term fzf + fd + bat # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the # # parentheses. Maybe you want to install Nerd Fonts with a limited number of @@ -114,6 +116,15 @@ hash = "sha256-6z3Wr2t8CP85xVEp6UCYaM2KC9PX4MDyx19f/wjHkb0="; }; } + { + name = "fzf-fish"; + src = pkgs.fetchFromGitHub { + owner = "PatrickF1"; + repo = "fzf.fish"; + rev = "v11.0"; + hash = "sha256-H7HgYT+okuVXo2SinrSs+hxAKCn4Q4su7oMbebKd/7s="; + }; + } ]; }; From 6699bf3dcfca4341a4f510ae804a8c03a128a0f6 Mon Sep 17 00:00:00 2001 From: Ivan Golikov Date: Sat, 12 Sep 2026 03:46:03 +0200 Subject: [PATCH 6/6] feature: git: Using delta as difftool This also enables highlighting in the fzf-fish for git-related searches --- dotfiles/.gitconfig | 23 ++++++++++------------- home.nix | 4 ++++ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/dotfiles/.gitconfig b/dotfiles/.gitconfig index 25d20f1..130fa13 100644 --- a/dotfiles/.gitconfig +++ b/dotfiles/.gitconfig @@ -5,25 +5,22 @@ [push] default = current -[diff] - external = difft - tool = difftastic - -[difftool] - prompt = false - -[difftool "difftastic"] - cmd = difft "$LOCAL" "$REMOTE" - -[pager] - difftool = true - [credential] helper = cache --timeout=600 [core] editor = nvim autocrlf = input + pager = delta [init] defaultBranch = main + +[interactive] + diffFilter = delta --color-only + +[delta] + navigate = true # use n and N to move between diff sections + +[merge] + conflictStyle = zdiff3 diff --git a/home.nix b/home.nix index 3570179..447e25a 100644 --- a/home.nix +++ b/home.nix @@ -40,6 +40,7 @@ fzf fd bat + delta # # It is sometimes useful to fine-tune packages, for example, by applying # # overrides. You can do that directly here, just don't forget the # # parentheses. Maybe you want to install Nerd Fonts with a limited number of @@ -94,6 +95,9 @@ programs.home-manager.enable = true; programs.fish = { enable = true; + shellInit = '' + set fzf_diff_highlighter delta --paging=never --width=20 + ''; shellInitLast = '' zoxide init fish | source '';