install more nvim plugins

This commit is contained in:
wi11-holdsworth 2025-08-20 22:56:24 +10:00
parent 6181e8bd55
commit fd9e122fca

View file

@ -12,44 +12,83 @@ in
environment.variables.EDITOR = "nvim";
programs.nixvim = {
enable = true;
opts = {
shiftwidth = 2;
number = true;
relativenumber = true;
autoindent = true;
tabstop = 2;
expandtab = true;
clipboard = {
providers.wl-copy.enable = true;
register = "unnamedplus";
};
colorschemes.catppuccin = {
enable = true;
settings.background.dark = "mocha";
};
dependencies = {
tree-sitter.enable = true;
nodejs.enable = true;
gcc.enable = true;
};
diagnostic.settings.virtual_lines = true;
opts = {
autoindent = true;
expandtab = true;
number = true;
relativenumber = true;
shiftwidth = 2;
tabstop = 2;
};
plugins = {
# autoclose brackets
autoclose.enable = true;
# completion window
cmp = {
enable = true;
autoEnableSources = true;
settings = {
mapping = {
"<C-Space>" = "cmp.mapping.complete()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-e>" = "cmp.mapping.close()";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
};
cmp-nvim-lsp.enable = true;
cmp_luasnip.enable = true;
cmp-treesitter.enable = true;
cmp-async-path.enable = true;
cmp-npm.enable = true;
cmp-emoji.enable = true;
cmp-dictionary.enable = true;
cmp-calc.enable = true;
sources = [
{ name = "nvim_lsp"; }
{ name = "path"; }
{ name = "buffer"; }
];
};
};
# git changes in margin
gitsigns.enable = true;
# opens last edit position
lastplace.enable = true;
# lsp servers
lsp = {
enable = true;
inlayHints = true;
servers = {
nixd.enable = true;
rust_analyzer.enable = true;
rust_analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
};
};
lsp-format.enable = true;
autoclose.enable = true;
lsp-lines.enable = true;
lsp-signature.enable = true;
lspkind.enable = true;
# status bar
lualine.enable = true;
luasnip.enable = true;
# syntax highlighting
treesitter.enable = true;
lastplace.enable = true;
};
};
};