refactor(config/nvim): move pack.add declarations into individual plugin files

The monolithic vim.pack.add() table in init.lua was removed and each
plugin/*.lua file now declares its own dependencies via vim.pack.add()
at the top. tools.lua was decomposed into per-plugin files (cmake.lua,
jupynvim.lua, just.lua, kulala.lua, mise.lua, neogit.lua, sshfs.lua,
trouble.lua, undotree.lua, zoxide.lua) each with their own config and
keymaps. This makes plugin files self-contained and easier to maintain.
This commit is contained in:
2026-07-23 12:16:30 -04:00
parent 0ae9a204aa
commit fe28d1bc73
45 changed files with 465 additions and 352 deletions
+1 -83
View File
@@ -114,96 +114,14 @@ vim.filetype.add({
})
vim.pack.add({
{ src = 'https://github.com/3rd/image.nvim' },
{ src = "https://github.com/folke/snacks.nvim" },
{ src = "https://github.com/folke/trouble.nvim" },
{ src = "https://github.com/olimorris/codecompanion.nvim" },
{ src = 'https://github.com/Civitasv/cmake-tools.nvim' },
{ src = 'https://github.com/Davidyz/VectorCode' },
{ src = 'https://github.com/Glhou/jjsigns.nvim', version = 'fix/skip-extra-lines' },
{ src = 'https://github.com/HakonHarnes/img-clip.nvim' },
{ src = 'https://github.com/JoosepAlviste/nvim-ts-context-commentstring' },
{ src = 'https://github.com/L3MON4D3/LuaSnip' },
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
{ src = 'https://github.com/NeogitOrg/neogit' },
{ src = 'https://github.com/PhantomYdn/fabric-ai.nvim' },
{ src = 'https://github.com/Saecki/crates.nvim' },
{ src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') },
{ src = 'https://github.com/SjB/orgmode', version = 'sjb-wip' },
{ src = 'https://github.com/SmiteshP/nvim-navic' },
{ src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' },
{ src = 'https://github.com/akinsho/org-bullets.nvim' },
{ src = 'https://github.com/akinsho/toggleterm.nvim' },
{ src = 'https://github.com/SjB/codecompanion-agentskills.nvim', version = 'support_disable_model_invocation_flag' },
{ src = 'https://github.com/carlos-algms/agentic.nvim' },
{ src = 'https://github.com/chipsenkbeil/org-roam.nvim' },
{ src = 'https://github.com/christoomey/vim-tmux-navigator' },
-- { src = 'https://github.com/copilotlsp-nvim/copilot-lsp' },
{ src = 'https://github.com/esmuellert/codediff.nvim' },
{ src = 'https://github.com/fang2hou/blink-copilot' },
{ src = 'https://github.com/folke/flash.nvim' },
{ src = 'https://github.com/folke/persistence.nvim' },
{ src = 'https://github.com/folke/todo-comments.nvim' },
{ src = 'https://github.com/folke/which-key.nvim' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/hat0uma/csvview.nvim' },
{ src = 'https://github.com/hedyhli/outline.nvim' },
{ src = 'https://github.com/iamcco/markdown-preview.nvim' },
{ src = 'https://github.com/j-hui/fidget.nvim' },
{ src = 'https://github.com/jay-babu/mason-nvim-dap.nvim' },
{ src = 'https://github.com/julienvincent/hunk.nvim' },
{ src = 'https://github.com/lervag/vimtex' },
{ src = 'https://github.com/lewis6991/gitsigns.nvim' },
{ src = 'https://github.com/mbbill/undotree' },
{ src = 'https://github.com/SjB/meow.review.nvim', version = 'fix-invalid-buffer-id' },
{ src = 'https://github.com/mfussenegger/nvim-ansible' },
{ src = 'https://github.com/mfussenegger/nvim-dap' },
{ src = 'https://github.com/mistweaverco/kulala.nvim' },
{ src = 'https://github.com/moyiz/blink-emoji.nvim' },
{ src = 'https://github.com/neovim/nvim-lspconfig' },
{ src = 'https://github.com/norcalli/nvim-colorizer.lua' },
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
{ src = 'https://github.com/nvim-lualine/lualine.nvim' },
{ src = 'https://github.com/nvim-mini/mini.ai' },
{ src = 'https://github.com/nvim-mini/mini.align' },
{ src = 'https://github.com/nvim-mini/mini.bracketed' },
{ src = 'https://github.com/nvim-mini/mini.extra' },
{ src = 'https://github.com/nvim-mini/mini.files' },
{ src = 'https://github.com/nvim-mini/mini.hipatterns' },
{ src = 'https://github.com/nvim-mini/mini.move' },
{ src = 'https://github.com/nvim-mini/mini.operators' },
{ src = 'https://github.com/nvim-mini/mini.sessions' },
{ src = 'https://github.com/nvim-mini/mini.splitjoin' },
{ src = 'https://github.com/nvim-mini/mini.surround' },
{ src = 'https://github.com/nvim-neotest/nvim-nio' },
{ src = 'https://github.com/nvim-pack/nvim-spectre' },
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' },
{ src = 'https://github.com/romus204/tree-sitter-manager.nvim' },
{ src = 'https://github.com/otavioschwanck/arrow.nvim' },
{ src = 'https://github.com/rafamadriz/friendly-snippets' },
{ src = 'https://github.com/rafikdraoui/jj-diffconflicts' },
{ src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
{ src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
{ src = 'https://github.com/rcarriga/nvim-dap-ui' },
{ src = 'https://github.com/salkin-mada/openscad.nvim' },
{ src = 'https://github.com/sheng-tse/jupynvim' },
{ src = 'https://github.com/sindrets/diffview.nvim' },
{ src = 'https://github.com/stevearc/conform.nvim' },
{ src = 'https://github.com/stevearc/overseer.nvim' },
{ src = 'https://github.com/stevearc/quicker.nvim' },
{ src = 'https://github.com/ten3roberts/window-picker.nvim' },
{ src = 'https://github.com/thunder-coding/zincoxide' },
{ src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' },
{ src = 'https://github.com/uhs-robert/sshfs.nvim' },
{ src = 'https://github.com/utilyre/barbecue.nvim' },
{ src = 'https://github.com/williamboman/mason-lspconfig.nvim' },
{ src = 'https://github.com/williamboman/mason.nvim' },
{ src = 'https://github.com/zbirenbaum/copilot.lua' },
{ src = 'https://plugins.ejri.dev/mise.nvim' },
})
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/carlos-algms/agentic.nvim' },
})
require('agentic').setup({
-- Available by default: "claude-agent-acp" | "gemini-acp" | "codex-acp" | "opencode-acp" | "cursor-acp" | "auggie-acp" | "mistral-vibe-acp"
provider = "opencode-acp", -- setting the name here is all you need to get started
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/otavioschwanck/arrow.nvim' },
})
require('arrow').setup({
show_icons = true,
leader_key = ';', -- Recommended to be a single key
+3
View File
@@ -1 +1,4 @@
vim.pack.add({
{ src = 'https://github.com/utilyre/barbecue.nvim' },
})
require('barbecue').setup()
+6
View File
@@ -1,3 +1,9 @@
vim.pack.add({
{ src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') },
{ src = 'https://github.com/fang2hou/blink-copilot' },
{ src = 'https://github.com/moyiz/blink-emoji.nvim' },
})
require('blink.cmp').setup({
enabled = function()
local filetype = vim.bo[0].filetype
+183
View File
@@ -0,0 +1,183 @@
vim.pack.add({
{ src = 'https://github.com/Civitasv/cmake-tools.nvim' },
{ src = 'https://github.com/stevearc/overseer.nvim' },
})
require("overseer").setup({
templates = { "builtin", "user" },
component_aliases = {
default = {
{ 'display_duration', detail_level = 2 },
'on_output_summarize',
'on_exit_set_status',
'on_complete_notify',
'on_result_diagnostics',
{'on_result_diagnostics_quickfix', open = true, close = true},
},
default_vscode = {
'default',
'on_result_diagnostics',
{'on_result_diagnostics_quickfix', open = true, close = true},
'on_complete_notify',
},
}
})
-- local pm = require("overseer.template.vscode.problem_matcher")
-- pm.register_problem_matcher("$rustc", {
-- fileLocation = { "autoDetect", "${cwd}" },
-- pattern = {
-- --regexp = "^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$",
-- -- vim_regexp = "\\v^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$",
-- regexp = "^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$",
-- vim_regexp = "\\v^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$",
-- file = 1,
-- line = 2,
-- column = 3,
-- }
-- })
local osys = require("cmake-tools.osys")
require("cmake-tools").setup {
cmake_command = "cmake", -- this is used to specify cmake command path
ctest_command = "ctest", -- this is used to specify ctest command path
cmake_use_preset = true,
cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt
cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate`
cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild`
-- support macro expansion:
-- ${kit}
-- ${kitGenerator}
-- ${variant:xx}
cmake_build_directory = function()
if osys.iswin32 then
return "out\\${variant:buildType}"
end
return "out/${variant:buildType}"
end, -- this is used to specify generate directory for cmake, allows macro expansion, can be a string or a function returning the string, relative to cwd.
cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir
cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false
cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage
cmake_variants_message = {
short = { show = true }, -- whether to show short message
long = { show = true, max_length = 40 }, -- whether to show long message
},
cmake_dap_configuration = { -- debug settings for cmake
name = "cpp",
type = "codelldb",
request = "launch",
stopOnEntry = false,
runInTerminal = true,
console = "integratedTerminal",
},
cmake_executor = { -- executor to use
name = "quickfix", -- name of the executor
opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values.
default_opts = { -- a list of default and possible values for executors
quickfix = {
show = "always", -- "always", "only_on_error"
position = "belowright", -- "vertical", "horizontal", "leftabove", "aboveleft", "rightbelow", "belowright", "topleft", "botright", use `:h vertical` for example to see help on them
size = 10,
encoding = "utf-8", -- if encoding is not "utf-8", it will be converted to "utf-8" using `vim.fn.iconv`
auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful.
},
toggleterm = {
direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float'
close_on_exit = false, -- whether close the terminal when exit
auto_scroll = true, -- whether auto scroll to the bottom
singleton = true, -- single instance, autocloses the opened one, if present
},
overseer = {
new_task_opts = {
strategy = {
"toggleterm",
direction = "horizontal",
autos_croll = true,
quit_on_exit = "success"
}
}, -- options to pass into the `overseer.new_task` command
on_new_task = function(task)
require("overseer").open(
{ enter = false, direction = "right" }
)
end, -- a function that gets overseer.Task when it is created, before calling `task:start`
},
terminal = {
name = "Main Terminal",
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
split_direction = "horizontal", -- "horizontal", "vertical"
split_size = 11,
-- Window handling
single_terminal_per_instance = true, -- Single viewport, multiple windows
single_terminal_per_tab = true, -- Single viewport per tab
keep_terminal_static_location = true, -- Static location of the viewport if avialable
auto_resize = true, -- Resize the terminal if it already exists
-- Running Tasks
start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
focus = false, -- Focus on terminal when cmake task is launched.
do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter.
}, -- terminal executor uses the values in cmake_terminal
},
},
cmake_runner = { -- runner to use
name = "terminal", -- name of the runner
opts = {}, -- the options the runner will get, possible values depend on the runner type. See `default_opts` for possible values.
default_opts = { -- a list of default and possible values for runners
quickfix = {
show = "always", -- "always", "only_on_error"
position = "belowright", -- "bottom", "top"
size = 10,
encoding = "utf-8",
auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful.
},
toggleterm = {
direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float'
close_on_exit = false, -- whether close the terminal when exit
auto_scroll = true, -- whether auto scroll to the bottom
singleton = true, -- single instance, autocloses the opened one, if present
},
overseer = {
new_task_opts = {
strategy = {
"toggleterm",
direction = "horizontal",
autos_croll = true,
quit_on_exit = "success"
}
}, -- options to pass into the `overseer.new_task` command
on_new_task = function(task)
end, -- a function that gets overseer.Task when it is created, before calling `task:start`
},
terminal = {
name = "Main Terminal",
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
split_direction = "horizontal", -- "horizontal", "vertical"
split_size = 11,
-- Window handling
single_terminal_per_instance = true, -- Single viewport, multiple windows
single_terminal_per_tab = true, -- Single viewport per tab
keep_terminal_static_location = true, -- Static location of the viewport if avialable
auto_resize = true, -- Resize the terminal if it already exists
-- Running Tasks
start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
focus = false, -- Focus on terminal when cmake task is launched.
do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter.
},
},
},
cmake_notifications = {
runner = { enabled = true },
executor = { enabled = true },
spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display
refresh_rate_ms = 100, -- how often to iterate icons
},
cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner)
}
vim.keymap.set('n', "<leader>uo", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" })
vim.keymap.set('n', "<F5>", "<cmd>OverseerRun<CR>", { desc = "Run Overseer" })
vim.keymap.set('n', "<F6>", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" })
+7
View File
@@ -1,3 +1,10 @@
vim.pack.add({
{ src = "https://github.com/olimorris/codecompanion.nvim" },
{ src = 'https://github.com/Davidyz/VectorCode' },
{ src = 'https://github.com/SjB/codecompanion-agentskills.nvim', version = 'support_disable_model_invocation_flag' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
})
vim.keymap.set({'n', 'v'}, '<leader>mct', '<cmd>CodeCompanionChat Toggle<cr>', { noremap = true, silent = true, desc = "CC Toggle" })
vim.keymap.set({'n', 'v'}, '<leader>mca', '<cmd>CodeCompanionActions<cr>', { noremap = true, silent = true, desc = "CC Action" })
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/stevearc/conform.nvim' },
})
local conform = require('conform')
+5
View File
@@ -1,3 +1,8 @@
vim.pack.add({
{ src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' },
{ src = 'https://github.com/zbirenbaum/copilot.lua' },
-- { src = 'https://github.com/copilotlsp-nvim/copilot-lsp' },
})
vim.g.copilot_nes_debounce = 500
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/Saecki/crates.nvim' },
})
local crates = require("crates")
local opts = { silent = true }
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/hat0uma/csvview.nvim' },
})
require('csvview').setup({
parser = { comments = { "#", "//" } },
+4
View File
@@ -1,4 +1,8 @@
if vim.fn.executable("fabric-ai") == 1 then
vim.pack.add({
{ src = 'https://github.com/PhantomYdn/fabric-ai.nvim' },
})
require('fabric-ai').setup({
-- Default configuration (all optional)
fabric_path = "fabric-ai", -- Path to Fabric CLI
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/folke/flash.nvim' },
})
require('flash').setup({
modes = {
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/lewis6991/gitsigns.nvim' },
})
vim.keymap.set({ 'n' }, '<leader>ug', "Gitsigns toggle_signs", { desc = 'Gitsigns toggle' })
+6 -1
View File
@@ -1,5 +1,10 @@
if vim.fn.executable("jj") == 1 then
vim.pack.add({ { src = 'https://github.com/NicolasGB/jj.nvim' } })
vim.pack.add({
{ src = 'https://github.com/Glhou/jjsigns.nvim', version = 'fix/skip-extra-lines' },
{ src = 'https://github.com/julienvincent/hunk.nvim' },
{ src = 'https://github.com/NicolasGB/jj.nvim' },
{ src = 'https://github.com/rafikdraoui/jj-diffconflicts' },
})
local cmd = require("jj.cmd")
local annotate = require("jj.annotate")
+19
View File
@@ -0,0 +1,19 @@
vim.pack.add({
{ src = 'https://github.com/sheng-tse/jupynvim' },
})
vim.api.nvim_create_autocmd('PackChanged', {
callback = function()
local core = vim.fn.stdpath("data") .. "/site/pack/core/opt/jupynvim/core"
vim.fn.system({
"cargo", "build", "--release",
"--manifest-path", core .. "/Cargo.toml",
})
end
})
require("jupynvim").setup({
log_level = "debug",
image_renderer = "placeholder", -- "placeholder", "kitty", or "chafa"
})
+14
View File
@@ -0,0 +1,14 @@
if vim.fn.executable("just") == 1 then
vim.pack.add({ { src = 'https://github.com/al1-ce/just.nvim' } })
require("just").setup({
fidget_message_limit = 32, -- limit for length of fidget progress message
open_qf_on_error = true, -- opens quickfix when task fails
open_qf_on_run = true, -- opens quickfix when running `run` task (`:JustRun`)
open_qf_on_any = false; -- opens quickfix when running any task (overrides other open_qf options)
autoscroll_qf = true, -- automatically scroll quickfix window on output
register_commands = true, -- if set to true then commands (:Just*) will be registered
notify = vim.notify, -- what to use to show messages/errors
})
end
+5
View File
@@ -0,0 +1,5 @@
vim.pack.add({
{ src = 'https://github.com/mistweaverco/kulala.nvim' },
})
require('kulala').setup()
+10
View File
@@ -1,3 +1,13 @@
vim.pack.add({
{ src = 'https://github.com/williamboman/mason-lspconfig.nvim' },
{ src = 'https://github.com/williamboman/mason.nvim' },
{ src = 'https://github.com/neovim/nvim-lspconfig' },
{ src = 'https://github.com/rcarriga/nvim-dap-ui' },
{ src = 'https://github.com/mfussenegger/nvim-dap' },
{ src = 'https://github.com/jay-babu/mason-nvim-dap.nvim' },
{ src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' },
})
vim.keymap.set("i", "<C-.>", function()
if not vim.lsp.inline_completion.get() then
return "<C-.>"
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/nvim-lualine/lualine.nvim' },
})
local function truncate_branch_name(branch)
if not branch or branch == "" then
return ""
+5
View File
@@ -1,3 +1,8 @@
vim.pack.add({
{ src = 'https://github.com/L3MON4D3/LuaSnip' },
{ src = 'https://github.com/rafamadriz/friendly-snippets' },
})
-- build = "make install_jsregexp",
require('luasnip.loaders.from_vscode').lazy_load()
require('luasnip.loaders.from_vscode').lazy_load({ paths = "./json_snippets" })
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/iamcco/markdown-preview.nvim' },
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
})
vim.g.mkdp_filetypes = { "markdown" }
vim.keymap.set("n", "<leader>xmp", "<cmd>MarkdownPreview<CR>", { desc ="Markdown Preview" })
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/SjB/meow.review.nvim', version = 'fix-invalid-buffer-id' },
})
require("meow.review").setup({
-- Your custom configuration goes here
})
+14
View File
@@ -1,3 +1,17 @@
vim.pack.add({
{ src = 'https://github.com/nvim-mini/mini.ai' },
{ src = 'https://github.com/nvim-mini/mini.align' },
{ src = 'https://github.com/nvim-mini/mini.bracketed' },
{ src = 'https://github.com/nvim-mini/mini.extra' },
{ src = 'https://github.com/nvim-mini/mini.files' },
{ src = 'https://github.com/nvim-mini/mini.hipatterns' },
{ src = 'https://github.com/nvim-mini/mini.move' },
{ src = 'https://github.com/nvim-mini/mini.operators' },
{ src = 'https://github.com/nvim-mini/mini.sessions' },
{ src = 'https://github.com/nvim-mini/mini.splitjoin' },
{ src = 'https://github.com/nvim-mini/mini.surround' },
})
local MiniExtra = require('mini.extra')
local ai = require('mini.ai')
local spec_treesitter = ai.gen_spec.treesitter
+13
View File
@@ -0,0 +1,13 @@
if vim.fn.executable("mise") == 1 then
vim.pack.add({
{ src = 'https://plugins.ejri.dev/mise.nvim' },
})
require('mise').setup({
unset_vars = true,
load_on_setup = true,
force_run = true,
})
vim.keymap.set({'n'}, '<leader>xM', '<cmd>Lazy reload mise.nvim<cr>', { desc = "Reload mise environment" })
end
+25
View File
@@ -0,0 +1,25 @@
vim.pack.add({
{ src = 'https://github.com/NeogitOrg/neogit' },
{ src = 'https://github.com/sindrets/diffview.nvim' },
})
require('neogit').setup({
-- disable_context_highlighting = true,
disable_commit_confirmation = true,
disable_insert_on_commit = false,
disable_signs = true,
integrations = { diffview = true, fz_lua = false },
auto_refresh = false,
console_timeout = 5000,
auto_show_console = false,
sections = {
stashes = {
folded = false,
},
recent = { folded = false },
},
})
vim.keymap.set({'n'}, '<leader>vn', '<cmd>Neogit kind=auto<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>vN', '<cmd>Neogit kind=floating<cr>', { desc = 'Neogit' })
+4
View File
@@ -1,2 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/mfussenegger/nvim-ansible' },
})
vim.keymap.set('v', '<leader>xa', function() require('ansible').run() end, { buffer = true, silent = true, desc = 'execute via ansible' })
vim.keymap.set('n', '<leader>xa', ":w<CR> :lua require('ansible').run()<CR>", { buffer = true, silent = true, desc = 'execute via ansible' })
+4
View File
@@ -1,2 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/salkin-mada/openscad.nvim' },
})
vim.g.openscad_load_snippets = true
require("openscad").setup({})
+5 -1
View File
@@ -1,4 +1,8 @@
vim.pack.add({
{ src = 'https://github.com/SjB/orgmode', version = 'sjb-wip' },
{ src = 'https://github.com/chipsenkbeil/org-roam.nvim' },
{ src = 'https://github.com/akinsho/org-bullets.nvim' },
})
require('orgmode').setup({
ui = {
input = {
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/hedyhli/outline.nvim' },
})
require('outline').setup({
symbol_folding = {
-- Unfold entire symbol tree by default with false, otherwise enter a
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/folke/persistence.nvim' },
})
require("persistence").setup({
dir = vim.fn.expand(vim.fn.stdpath("state") .. "/sessions/"), -- directory where session files are saved
options = { "buffers", "curdir", "tabpages", "winsize" }, -- sessionoptions used when saving sessions
+3
View File
@@ -1 +1,4 @@
vim.pack.add({
{ src = 'https://github.com/stevearc/quicker.nvim' },
})
require('quicker').setup()
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = "https://github.com/folke/snacks.nvim" },
})
require('snacks').setup({
animate = {
enabled = false,
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/nvim-pack/nvim-spectre' },
})
vim.keymap.set({ 'n' }, "<leader>sr", function() require("spectre").open() end, { desc = "Replace in files (Spectre)" })
+14
View File
@@ -0,0 +1,14 @@
vim.pack.add({
{ src = 'https://github.com/uhs-robert/sshfs.nvim' },
})
require('sshfs').setup({
mounts = {
base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created
},
lead_prefix = "<leader>t",
-- Refer to the configuration section below
-- or leave empty for defaults
})
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/akinsho/toggleterm.nvim' },
})
require("toggleterm").setup({
-- highlights = require("rose-pine.plugins.toggleterm"),
size = 20,
+4 -267
View File
@@ -1,275 +1,12 @@
require('kulala').setup()
if vim.fn.executable("just") == 1 then
vim.pack.add({ { src = 'https://github.com/al1-ce/just.nvim' } })
require("just").setup({
fidget_message_limit = 32, -- limit for length of fidget progress message
open_qf_on_error = true, -- opens quickfix when task fails
open_qf_on_run = true, -- opens quickfix when running `run` task (`:JustRun`)
open_qf_on_any = false; -- opens quickfix when running any task (overrides other open_qf options)
autoscroll_qf = true, -- automatically scroll quickfix window on output
register_commands = true, -- if set to true then commands (:Just*) will be registered
notify = vim.notify, -- what to use to show messages/errors
})
end
vim.pack.add({
{ src = 'https://github.com/3rd/image.nvim' },
{ src = 'https://github.com/HakonHarnes/img-clip.nvim' },
})
require('img-clip').setup()
require('image').setup({
backend = "sixel"
})
require('sshfs').setup({
mounts = {
base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created
},
lead_prefix = "<leader>t",
-- Refer to the configuration section below
-- or leave empty for defaults
})
require('mise').setup({
unset_vars = true,
load_on_setup = true,
force_run = true,
})
require('neogit').setup({
-- disable_context_highlighting = true,
disable_commit_confirmation = true,
disable_insert_on_commit = false,
disable_signs = true,
integrations = { diffview = true, fz_lua = false },
auto_refresh = false,
console_timeout = 5000,
auto_show_console = false,
sections = {
stashes = {
folded = false,
},
recent = { folded = false },
},
})
if vim.fn.executable("zoxide") == 1 then
require('zincoxide').setup({
zincoxide_cmd = "zoxide",
complete = true,
behaviour = "tabs",
})
end
require('trouble').setup({
defaults = {
auto_close = true,
auto_open = true,
},
})
vim.api.nvim_create_autocmd('PackChanged', {
callback = function()
local core = vim.fn.stdpath("data") .. "/site/pack/core/opt/jupynvim/core"
vim.fn.system({
"cargo", "build", "--release",
"--manifest-path", core .. "/Cargo.toml",
})
end
})
require("jupynvim").setup({
log_level = "debug",
image_renderer = "placeholder", -- "placeholder", "kitty", or "chafa"
})
require("overseer").setup({
templates = { "builtin", "user" },
component_aliases = {
default = {
{ 'display_duration', detail_level = 2 },
'on_output_summarize',
'on_exit_set_status',
'on_complete_notify',
'on_result_diagnostics',
{'on_result_diagnostics_quickfix', open = true, close = true},
},
default_vscode = {
'default',
'on_result_diagnostics',
{'on_result_diagnostics_quickfix', open = true, close = true},
'on_complete_notify',
},
}
})
-- local pm = require("overseer.template.vscode.problem_matcher")
-- pm.register_problem_matcher("$rustc", {
-- fileLocation = { "autoDetect", "${cwd}" },
-- pattern = {
-- --regexp = "^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$",
-- -- vim_regexp = "\\v^(.*?)-->\\s+(.*?):(\\d+):(\\d+)$",
-- regexp = "^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$",
-- vim_regexp = "\\v^\\s+-->\\s*([^:]*):(\\d+):(\\d+)$",
-- file = 1,
-- line = 2,
-- column = 3,
-- }
-- })
local osys = require("cmake-tools.osys")
require("cmake-tools").setup {
cmake_command = "cmake", -- this is used to specify cmake command path
ctest_command = "ctest", -- this is used to specify ctest command path
cmake_use_preset = true,
cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt
cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate`
cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild`
-- support macro expansion:
-- ${kit}
-- ${kitGenerator}
-- ${variant:xx}
cmake_build_directory = function()
if osys.iswin32 then
return "out\\${variant:buildType}"
end
return "out/${variant:buildType}"
end, -- this is used to specify generate directory for cmake, allows macro expansion, can be a string or a function returning the string, relative to cwd.
cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir
cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false
cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage
cmake_variants_message = {
short = { show = true }, -- whether to show short message
long = { show = true, max_length = 40 }, -- whether to show long message
},
cmake_dap_configuration = { -- debug settings for cmake
name = "cpp",
type = "codelldb",
request = "launch",
stopOnEntry = false,
runInTerminal = true,
console = "integratedTerminal",
},
cmake_executor = { -- executor to use
name = "quickfix", -- name of the executor
opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values.
default_opts = { -- a list of default and possible values for executors
quickfix = {
show = "always", -- "always", "only_on_error"
position = "belowright", -- "vertical", "horizontal", "leftabove", "aboveleft", "rightbelow", "belowright", "topleft", "botright", use `:h vertical` for example to see help on them
size = 10,
encoding = "utf-8", -- if encoding is not "utf-8", it will be converted to "utf-8" using `vim.fn.iconv`
auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful.
},
toggleterm = {
direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float'
close_on_exit = false, -- whether close the terminal when exit
auto_scroll = true, -- whether auto scroll to the bottom
singleton = true, -- single instance, autocloses the opened one, if present
},
overseer = {
new_task_opts = {
strategy = {
"toggleterm",
direction = "horizontal",
autos_croll = true,
quit_on_exit = "success"
}
}, -- options to pass into the `overseer.new_task` command
on_new_task = function(task)
require("overseer").open(
{ enter = false, direction = "right" }
)
end, -- a function that gets overseer.Task when it is created, before calling `task:start`
},
terminal = {
name = "Main Terminal",
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
split_direction = "horizontal", -- "horizontal", "vertical"
split_size = 11,
-- Window handling
single_terminal_per_instance = true, -- Single viewport, multiple windows
single_terminal_per_tab = true, -- Single viewport per tab
keep_terminal_static_location = true, -- Static location of the viewport if avialable
auto_resize = true, -- Resize the terminal if it already exists
-- Running Tasks
start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
focus = false, -- Focus on terminal when cmake task is launched.
do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter.
}, -- terminal executor uses the values in cmake_terminal
},
},
cmake_runner = { -- runner to use
name = "terminal", -- name of the runner
opts = {}, -- the options the runner will get, possible values depend on the runner type. See `default_opts` for possible values.
default_opts = { -- a list of default and possible values for runners
quickfix = {
show = "always", -- "always", "only_on_error"
position = "belowright", -- "bottom", "top"
size = 10,
encoding = "utf-8",
auto_close_when_success = true, -- typically, you can use it with the "always" option; it will auto-close the quickfix buffer if the execution is successful.
},
toggleterm = {
direction = "float", -- 'vertical' | 'horizontal' | 'tab' | 'float'
close_on_exit = false, -- whether close the terminal when exit
auto_scroll = true, -- whether auto scroll to the bottom
singleton = true, -- single instance, autocloses the opened one, if present
},
overseer = {
new_task_opts = {
strategy = {
"toggleterm",
direction = "horizontal",
autos_croll = true,
quit_on_exit = "success"
}
}, -- options to pass into the `overseer.new_task` command
on_new_task = function(task)
end, -- a function that gets overseer.Task when it is created, before calling `task:start`
},
terminal = {
name = "Main Terminal",
prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name
split_direction = "horizontal", -- "horizontal", "vertical"
split_size = 11,
-- Window handling
single_terminal_per_instance = true, -- Single viewport, multiple windows
single_terminal_per_tab = true, -- Single viewport per tab
keep_terminal_static_location = true, -- Static location of the viewport if avialable
auto_resize = true, -- Resize the terminal if it already exists
-- Running Tasks
start_insert = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun
focus = false, -- Focus on terminal when cmake task is launched.
do_not_add_newline = false, -- Do not hit enter on the command inserted when using :CMakeRun, allowing a chance to review or modify the command before hitting enter.
},
},
},
cmake_notifications = {
runner = { enabled = true },
executor = { enabled = true },
spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display
refresh_rate_ms = 100, -- how often to iterate icons
},
cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner)
}
vim.keymap.set({'n'}, '<leader>vn', '<cmd>Neogit kind=auto<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>vN', '<cmd>Neogit kind=floating<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>kp', '<cmd>PasteImage<cr>', { desc = "Paste image from system clipboard" })
vim.keymap.set({'n'}, '<leader>xM', '<cmd>Lazy reload mise.nvim<cr>', { desc = "Reload mise environment" })
vim.keymap.set({'n'}, '<leader>uu', vim.cmd.UndotreeToggle, { desc = 'Undo Tree toggle' })
vim.keymap.set('n', "<leader>cx", "<cmd>Trouble diagnostics toggle<cr>", { desc = "Diagnostics (Trouble)" })
vim.keymap.set('n', "<leader>cX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", { desc = "Buffer Diagnostics (Trouble)" })
vim.keymap.set('n', "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", { desc = "Symbols (Trouble)" })
vim.keymap.set('n', "<leader>cl", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", { desc = "LSP Definitions / references / ... (Trouble)" })
vim.keymap.set('n', "<leader>cL", "<cmd>Trouble loclist toggle<cr>", { desc = "Location List (Trouble)" })
vim.keymap.set('n', "<leader>cQ", "<cmd>Trouble qflist toggle<cr>", { desc = "Quickfix List (Trouble)" })
vim.keymap.set('n', "<leader>uo", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" })
vim.keymap.set('n', "<F5>", "<cmd>OverseerRun<CR>", { desc = "Run Overseer" })
vim.keymap.set('n', "<F6>", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" })
+9
View File
@@ -1,3 +1,12 @@
vim.pack.add({
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' },
{ src = 'https://github.com/romus204/tree-sitter-manager.nvim' },
{ src = 'https://github.com/JoosepAlviste/nvim-ts-context-commentstring' },
})
require("tree-sitter-manager").setup({
-- Default Options
-- ensure_installed = {}, -- list of parsers to install at the start of a neovim session
+18
View File
@@ -0,0 +1,18 @@
vim.pack.add({
{ src = "https://github.com/folke/trouble.nvim" },
})
require('trouble').setup({
defaults = {
auto_close = true,
auto_open = true,
},
})
vim.keymap.set('n', "<leader>cx", "<cmd>Trouble diagnostics toggle<cr>", { desc = "Diagnostics (Trouble)" })
vim.keymap.set('n', "<leader>cX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", { desc = "Buffer Diagnostics (Trouble)" })
vim.keymap.set('n', "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", { desc = "Symbols (Trouble)" })
vim.keymap.set('n', "<leader>cl", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", { desc = "LSP Definitions / references / ... (Trouble)" })
vim.keymap.set('n', "<leader>cL", "<cmd>Trouble loclist toggle<cr>", { desc = "Location List (Trouble)" })
vim.keymap.set('n', "<leader>cQ", "<cmd>Trouble qflist toggle<cr>", { desc = "Quickfix List (Trouble)" })
+5
View File
@@ -0,0 +1,5 @@
vim.pack.add({
{ src = 'https://github.com/mbbill/undotree' },
})
vim.keymap.set({'n'}, '<leader>uu', vim.cmd.UndotreeToggle, { desc = 'Undo Tree toggle' })
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/christoomey/vim-tmux-navigator' },
})
vim.keymap.set('n', "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" )
vim.keymap.set('n', "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" )
vim.keymap.set('n', "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" )
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/lervag/vimtex' },
})
vim.g.tex_flavor = "latex"
vim.g.vimtex_view_method = "zathura" -- Change to your preferred PDF viewer
vim.g.vimtex_quickfix_mode = 0 -- Disable quickfix window
+4
View File
@@ -1,3 +1,7 @@
vim.pack.add({
{ src = 'https://github.com/folke/which-key.nvim' },
})
require('which-key').setup({
icons = {
-- set icon mappings to true if you have a Nerd Font
+3
View File
@@ -1,3 +1,6 @@
vim.pack.add({
{ src = 'https://github.com/ten3roberts/window-picker.nvim' },
})
require('window-picker').setup({
-- Default keys to annotate, keys will be used in order. The default uses the
+11
View File
@@ -0,0 +1,11 @@
if vim.fn.executable("zoxide") == 1 then
vim.pack.add({
{ src = 'https://github.com/thunder-coding/zincoxide' },
})
require('zincoxide').setup({
zincoxide_cmd = "zoxide",
complete = true,
behaviour = "tabs",
})
end