miovim/config/plugins.nix
2025-07-07 17:41:41 +02:00

173 lines
2.9 KiB
Nix

{
lib,
config,
pkgs,
...
}:
{
plugins = {
lsp = {
enable = true;
servers = {
asm_lsp.enable = true;
gopls.enable = true;
java_language_server.enable = true;
rust_analyzer = {
enable = true;
installRustc = true;
installCargo = true;
};
nil_ls.enable = true;
marksman.enable = true;
clangd = {
enable = true;
};
};
};
grug-far = {
enable = true;
};
conform-nvim = {
enable = true;
settings = {
notify_no_formatters = true;
formatters_by_ft = {
rust = [ "rustfmt" ];
lua = [ "stylua" ];
python = [
"autoflake"
"autopep8"
"ruff_fix"
"ruff_organize_imports"
"ruff_format"
];
javascript = {
__unkeyed-1 = "prettierd";
__unkeyed-2 = "prettier";
stop_after_first = true;
};
nix = {
__unkeyed-1 = "alejandra";
__unkeyed-2 = "nixfmt";
stop_after_first = true;
};
markdown = [ "markdownlint-cli2" ];
};
};
};
markdown-preview = {
enable = true;
};
cmp = {
enable = true;
autoEnableSources = true;
};
barbar.enable = true;
gitsigns.enable = true;
comment = {
enable = true;
};
treesitter = {
enable = true;
folding = true;
grammarPackages = pkgs.vimPlugins.nvim-treesitter.passthru.allGrammars;
settings = {
auto_install = true;
};
};
web-devicons = {
enable = true;
};
emmet = {
enable = true;
};
nvim-autopairs = {
enable = true;
};
cord = {
enable = true;
};
chadtree = {
enable = true;
view.openDirection = "right";
keymap.openFileFolder.collapse = [ "l" ];
};
fzf-lua = {
enable = true;
};
notify = {
enable = true;
};
lualine.enable = true;
neotest = {
enable = true;
adapters = {
bash.enable = true;
rust.enable = true;
python.enable = true;
java.enable = true;
vitest.enable = true;
go.enable = true;
};
};
lsp-lines.enable = true;
which-key = {
enable = true;
};
lazygit.enable = true;
mini.enable = true;
dap = {
enable = true;
adapters = {
executables = {
on_config = { };
};
servers = { };
};
};
dap-ui = {
enable = true;
};
dap-python = {
enable = true;
};
toggleterm = {
enable = true;
};
trouble = {
enable = true;
settings = {
auto_jump = true;
auto_refresh = true;
};
};
todo-comments = {
enable = true;
};
};
}