49 lines
1.4 KiB
Lua
49 lines
1.4 KiB
Lua
-- User custom plugin configurations and overrides
|
|
return {
|
|
-- Disable Mason on NixOS (all LSPs/formatters/linters are managed declaratively via Nix)
|
|
{ "mason.nvim", enabled = false },
|
|
{ "mason-lspconfig.nvim", enabled = false },
|
|
{ "mason-nvim-dap.nvim", enabled = false },
|
|
|
|
-- Treesitter configuration tailored for NixOS
|
|
{
|
|
"nvim-treesitter/nvim-treesitter",
|
|
opts = function(_, opts)
|
|
-- Nix provides all precompiled grammars in ~/.config/nvim/parser and rtp.
|
|
-- Clear LazyVim's default ensure_installed list to prevent compile triggers on startup.
|
|
opts.ensure_installed = {}
|
|
opts.auto_install = false
|
|
opts.sync_install = false
|
|
opts.highlight = {
|
|
enable = true,
|
|
additional_vim_regex_highlighting = false,
|
|
}
|
|
opts.indent = { enable = true }
|
|
end,
|
|
},
|
|
|
|
-- Example: Telescope / fzf configuration
|
|
{
|
|
"nvim-telescope/telescope.nvim",
|
|
opts = {
|
|
defaults = {
|
|
layout_strategy = "horizontal",
|
|
layout_config = { prompt_position = "top" },
|
|
sorting_strategy = "ascending",
|
|
winblend = 0,
|
|
},
|
|
},
|
|
},
|
|
|
|
-- Linting configuration (graceful fallback if linters are not yet in PATH)
|
|
{
|
|
"mfussenegger/nvim-lint",
|
|
opts = function(_, opts)
|
|
opts.linters_by_ft = opts.linters_by_ft or {}
|
|
if vim.fn.executable("statix") == 0 then
|
|
opts.linters_by_ft["nix"] = {}
|
|
end
|
|
end,
|
|
},
|
|
}
|