nix-config/home/features/coding/nixvim/plugins.nix
2024-12-02 20:15:01 +01:00

112 lines
2.3 KiB
Nix

{ pkgs, ... }: {
programs.nixvim.plugins = {
lualine.enable = true;
oil.enable = true;
nvim-surround.enable = true;
treesitter = {
enable = true;
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
markdown
# nix
vim
bash
lua
python
json
java
rust
cpp
c
css
csv
dockerfile
diff
gitignore
git_config
gitattributes
make
yaml
toml
typescript
xml
];
};
# Autopairs
nvim-autopairs = {
enable = true;
};
luasnip.enable = true;
lazygit.enable = true;
barbar.enable = true;
rainbow-delimiters.enable = true;
web-devicons.enable = true;
telescope = {
enable = true;
extensions = {
fzf-native = {
enable = true;
};
};
};
# Dashboard
alpha = {
enable = true;
theme = "dashboard";
};
# File tree
neo-tree = {
enable = true;
enableDiagnostics = false;
enableGitStatus = true;
enableModifiedMarkers = true;
enableRefreshOnWrite = true;
closeIfLastWindow = true;
popupBorderStyle = "rounded"; # Type: null or one of “NC”, “double”, “none”, “rounded”, “shadow”, “single”, “solid” or raw lua code
buffers = {
bindToCwd = false;
followCurrentFile = {
enabled = true;
};
};
window = {
width = 40;
height = 15;
autoExpandWidth = false;
mappings = {
"<space>" = "none";
};
};
};
# Todo comments
todo-comments = {
enable = true;
settings.colors = {
error = [ "DiagnosticError" "ErrorMsg" "#DC2626" ];
warning = [ "DiagnosticWarn" "WarningMsg" "#FBBF24" ];
info = [ "DiagnosticInfo" "#2563EB" ];
hint = [ "DiagnosticHint" "#10B981" ];
default = [ "Identifier" "#7C3AED" ];
test = [ "Identifier" "#FF00FF" ];
};
};
# Highlight word under cursor
illuminate = {
enable = true;
underCursor = false;
filetypesDenylist = [
"Outline"
"TelescopePrompt"
"alpha"
"harpoon"
"reason"
];
};
};
}