Add jj.nvim, diffview.nvim, and code-review.nvim with <leader>v (+VCS) and <leader>r (+Review) keybinding groups

This commit is contained in:
2026-03-10 12:32:29 +00:00
parent c53d54865f
commit 82b7c96edf
6 changed files with 268 additions and 11 deletions

View File

@@ -0,0 +1,37 @@
{pkgs, ...}: let
code-review-nvim =
pkgs.vimUtils.buildVimPlugin {
pname = "code-review-nvim";
version = "unstable-2026-03-10";
src =
pkgs.fetchFromGitHub {
owner = "choplin";
repo = "code-review.nvim";
rev = "ed91462e20bd08c3be71efb11a4a7d00459f0b47";
hash = "sha256-WpbQswkUpB4Nblos8+5UE5I/PHUQOi+RQ+hj4CCdL4o=";
};
doCheck = false;
};
in {
programs.nixvim = {
extraPlugins = [
code-review-nvim
];
extraConfigLua = ''
require('code-review').setup({
comment = {
storage = {
backend = "file",
file = {
dir = ".code-review",
},
},
},
output = {
format = "minimal",
},
keymaps = false,
})
'';
};
}

View File

@@ -0,0 +1,26 @@
{pkgs, ...}: {
programs.nixvim = {
extraPlugins = with pkgs.vimPlugins; [
diffview-nvim
];
extraConfigLua = ''
require('diffview').setup({
enhanced_diff_hl = true,
view = {
default = { layout = "diff2_horizontal" },
merge_tool = { layout = "diff3_mixed", disable_diagnostics = true },
file_history = { layout = "diff2_horizontal" },
},
default_args = {
DiffviewOpen = { "--imply-local" },
},
hooks = {
diff_buf_read = function(bufnr)
vim.opt_local.wrap = false
vim.opt_local.list = false
end,
},
})
'';
};
}

View File

@@ -0,0 +1,42 @@
{pkgs, ...}: let
jj-nvim =
pkgs.vimUtils.buildVimPlugin {
pname = "jj-nvim";
version = "unstable-2026-03-10";
src =
pkgs.fetchFromGitHub {
owner = "NicolasGB";
repo = "jj.nvim";
rev = "bbba4051c862473637e98277f284d12b050588ca";
hash = "sha256-nokftWcAmmHX6UcH6O79xkLwbUpq1W8N9lf1e+NyGqE=";
};
doCheck = false;
};
in {
programs.nixvim = {
extraPlugins = [
jj-nvim
];
extraConfigLua = ''
require('jj').setup({
diff = {
backend = "diffview",
},
cmd = {
describe = {
editor = { type = "buffer" },
},
log = {
close_on_edit = false,
},
},
-- Disable default keymaps we set our own in mappings.nix
ui = {
log = {
keymaps = true,
},
},
})
'';
};
}

View File

@@ -27,11 +27,13 @@
{
{ mode = 'n', keys = '<Leader>e', desc = '+Explore/+Edit' },
{ mode = 'n', keys = '<Leader>f', desc = '+Find' },
{ mode = 'n', keys = '<Leader>g', desc = '+Git' },
{ mode = 'n', keys = '<Leader>l', desc = '+LSP' },
{ mode = 'x', keys = '<Leader>l', desc = '+LSP' },
{ mode = 'n', keys = '<Leader>o', desc = '+OpenCode' },
{ mode = 'x', keys = '<Leader>o', desc = '+OpenCode' },
{ mode = 'n', keys = '<Leader>v', desc = '+VCS' },
{ mode = 'n', keys = '<Leader>l', desc = '+LSP' },
{ mode = 'x', keys = '<Leader>l', desc = '+LSP' },
{ mode = 'n', keys = '<Leader>o', desc = '+OpenCode' },
{ mode = 'x', keys = '<Leader>o', desc = '+OpenCode' },
{ mode = 'n', keys = '<Leader>r', desc = '+Review' },
{ mode = 'v', keys = '<Leader>r', desc = '+Review' },
require("mini.clue").gen_clues.builtin_completion(),
require("mini.clue").gen_clues.g(),
require("mini.clue").gen_clues.marks(),