new_dots/home/modules/nvf.nix
2026-01-17 18:11:39 +01:00

165 lines
3.2 KiB
Nix

{
inputs,
pkgs,
...
}: {
imports = [
inputs.nvf.homeManagerModules.default
];
programs.nvf = {
enable = true;
enableManpages = true;
settings.vim = {
lsp = {
enable = true;
null-ls.enable = true;
formatOnSave = true;
lspkind.enable = false;
lightbulb.enable = true;
lspsaga.enable = true;
trouble.enable = true;
nvim-docs-view.enable = true;
harper-ls.enable = true;
};
debugger = {
nvim-dap = {
enable = true;
ui.enable = true;
};
};
options = {
tabstop = 2;
autoindent = true;
shiftwidth = 2;
};
clipboard = {
enable = true;
registers = "unnamedplus";
providers = {
xclip = {
enable = true;
package = pkgs.xclip;
};
};
};
languages = {
enableFormat = true;
enableTreesitter = false;
enableExtraDiagnostics = true;
nix.enable = true;
markdown.enable = true;
bash.enable = true;
nu.enable = true;
css.enable = true;
html = {
enable = true;
lsp.servers = [
"emmet-ls"
"superhtml"
];
};
python.enable = true;
rust = {
enable = true;
extensions.crates-nvim.enable = true;
};
};
visuals = {
nvim-web-devicons.enable = true;
nvim-cursorline.enable = true;
cinnamon-nvim.enable = true;
fidget-nvim.enable = true;
highlight-undo.enable = true;
indent-blankline.enable = true;
};
theme = {
enable = true;
name = "catppuccin";
style = "mocha";
transparent = true;
};
autopairs.nvim-autopairs.enable = true;
snippets.luasnip.enable = true;
telescope.enable = true;
autocomplete = {
nvim-cmp.enable = true;
};
binds = {
whichKey.enable = true;
cheatsheet.enable = true;
};
git = {
enable = true;
gitsigns.enable = true;
gitsigns.codeActions.enable = false;
neogit.enable = true;
};
dashboard = {
alpha.enable = true;
};
notify = {
nvim-notify.enable = true;
};
projects = {
project-nvim.enable = true;
};
comments.comment-nvim.enable = true;
utility = {
ccc.enable = true;
diffview-nvim.enable = true;
icon-picker.enable = true;
surround.enable = true;
multicursors.enable = true;
undotree.enable = true;
motion = {
hop.enable = true;
leap.enable = true;
precognition.enable = true;
};
images = {
img-clip.enable = true;
};
};
ui = {
borders.enable = true;
colorizer.enable = true;
illuminate.enable = true;
breadcrumbs = {
enable = true;
navbuddy.enable = true;
};
smartcolumn = {
enable = true;
};
fastaction.enable = true;
};
};
};
}