Add jj.nvim, diffview.nvim, and code-review.nvim with <leader>v (+VCS) and <leader>r (+Review) keybinding groups
This commit is contained in:
37
modules/_neovim/plugins/code-review.nix
Normal file
37
modules/_neovim/plugins/code-review.nix
Normal 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,
|
||||
})
|
||||
'';
|
||||
};
|
||||
}
|
||||
26
modules/_neovim/plugins/diffview.nix
Normal file
26
modules/_neovim/plugins/diffview.nix
Normal 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,
|
||||
},
|
||||
})
|
||||
'';
|
||||
};
|
||||
}
|
||||
42
modules/_neovim/plugins/jj-nvim.nix
Normal file
42
modules/_neovim/plugins/jj-nvim.nix
Normal 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,
|
||||
},
|
||||
},
|
||||
})
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user