painless-neovim/nvf.nix

125 lines
2.8 KiB
Nix
Raw Normal View History

{pkgs, ...}: let
inherit (pkgs) vimPlugins;
in {
config.vim = {
extraPlugins = {
mini-statusline = {
package = vimPlugins.mini-nvim;
setup = "require('mini.statusline').setup {}";
};
2024-12-13 20:00:04 +00:00
nightfox = {
package = vimPlugins.nightfox-nvim;
2024-12-13 20:00:04 +00:00
setup = "vim.cmd('colorscheme carbonfox')";
};
};
theme = {
enable = true;
2024-12-01 17:35:08 +00:00
style = "dark";
};
terminal.toggleterm = {
enable = true;
lazygit.enable = true;
};
git = {
enable = true;
gitsigns.enable = true;
gitsigns.codeActions.enable = true;
vim-fugitive.enable = true;
};
lsp = {
enable = true;
formatOnSave = true;
lspSignature.enable = true;
lsplines.enable = true;
lspsaga.enable = true;
otter-nvim.enable = true;
nvim-docs-view.enable = true;
trouble.enable = true;
null-ls.enable = true;
};
debugger.nvim-dap = {
enable = true;
ui.enable = true;
};
languages = {
enableFormat = true;
enableLSP = true;
enableDAP = true;
enableTreesitter = true;
enableExtraDiagnostics = true;
nix.enable = true;
lua.enable = true;
ts.enable = true;
2024-12-13 19:32:21 +00:00
go.enable = true;
2024-12-20 22:50:21 +00:00
haskell.enable = true;
2025-01-14 17:26:20 +00:00
python.enable = true;
};
visuals = {
indent-blankline.enable = true;
nvim-web-devicons.enable = true;
fidget-nvim.enable = true;
};
notes = {
orgmode.enable = true;
todo-comments.enable = true;
};
ui = {
borders = {
enable = true;
globalStyle = "single";
};
noice.enable = true;
colorizer.enable = true;
illuminate.enable = true;
breadcrumbs = {
enable = true;
navbuddy.enable = true;
};
smartcolumn = {
enable = true;
setupOpts.custom_colorcolumn = {
nix = "110";
ruby = "120";
java = "130";
go = ["90" "130"];
};
};
fastaction.enable = true;
};
keymaps = [
{
key = ":";
mode = "n";
silent = true;
action = "q:";
}
{
key = "\\";
mode = "n";
silent = true;
action = ":";
}
];
treesitter = {
fold = true;
indent.enable = true;
context.enable = true;
highlight.enable = true;
incrementalSelection.enable = true;
};
dashboard.alpha.enable = true;
binds.whichKey.enable = true;
filetree.neo-tree.enable = true;
notify.nvim-notify.enable = true;
comments.comment-nvim.enable = true;
autocomplete.nvim-cmp.enable = true;
snippets.luasnip.enable = true;
projects.project-nvim.enable = true;
spellcheck.enable = true;
telescope.enable = true;
treesitter.enable = true;
viAlias = true;
vimAlias = true;
};
}