nichts/nyx/hosts/gaea/system/programs/neovim/default.nix
2024-04-09 23:11:33 +02:00

73 lines
1.7 KiB
Nix

{pkgs, ...}: let
inherit (builtins) readFile;
in {
programs = {
neovim = {
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
configure = {
customRC = ''
" -- init --
${readFile ./config/init.vim}
" -- mappings --
${readFile ./config/maps.vim}
" -- plugin configs --
${readFile ./config/plugins.vim}
'';
packages.myVimPackage = with pkgs.vimPlugins; {
start = [
# general utils
direnv-vim # direnv for vim
dressing-nvim # better UI components
leap-nvim # navigation
lualine-nvim # statusline
tabular # align text according to regexp
undotree # undo history
vim-css-color # highlight CSS colors
vim-signature # marks on signcolumn
which-key-nvim # mapping manager and cheatsheet
vim-sneak
# completion
nvim-cmp
cmp-buffer
cmp-cmdline
cmp-nvim-lsp
cmp-path
cmp_luasnip
comment-nvim
todo-comments-nvim
luasnip
friendly-snippets
nvim-lspconfig
nvim-lint
fidget-nvim
aerial-nvim
telescope-nvim # list of files interface
telescope-file-browser-nvim
telescope-fzy-native-nvim
vim-fugitive # git in vim
gitsigns-nvim
targets-vim # text objects
vim-surround
vim-expand-region
nvim-treesitter.withAllGrammars # better highlighting
];
};
};
};
};
}