nixos/home-manager/neovim/default.nix
ISnortPennies f353281d6b updated afk-cmds pkg
removed AFKCommands
moved moonfly plugin to correct location
switched from alacritty to st
2022-09-24 00:16:50 -04:00

70 lines
1.7 KiB
Nix

{pkgs, ... }:
let
vim-moonfly = pkgs.vimUtils.buildVimPlugin {
name = "vim-moonfly";
src = pkgs.fetchFromGitHub {
owner = "bluz71";
repo = "vim-moonfly-colors";
rev = "065c99b95355b33dfaa05bde11ad758e519b04a3";
sha256 = "sha256-TEYN8G/VNxitpPJPM7+O9AGLm6V7bPkiTlFG5op55pI=";
};
};
in
{
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
extraPackages = with pkgs; [gcc ripgrep fd];
plugins = with pkgs.vimPlugins; [
(nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars)) #syntax highlighting
rainbow nvim-ts-rainbow # rainbow for tree-sitter
nvim-colorizer-lua # colors
nvim-tree-lua # file browser
nvim-web-devicons # for tree-lua
vim-smoothie #smooth scrolling
undotree # better undotree
indentLine # indentlines
vim-smoothie #smooth scrolling
#non-trash auto completion
nvim-cmp
cmp-buffer
cmp-nvim-lsp
cmp-path
cmp-spell
cmp-treesitter
cmp-vsnip
vim-vsnip
lspkind-nvim
nvim-lspconfig
nvim-autopairs # auto brackets
telescope-nvim #search feature
telescope-fzy-native-nvim # search plugin
gitsigns-nvim #in buffer git blame
vim-moonfly #color scheme
lightline-vim #bottom bar
];
extraConfig = let
luaRequire = module:
builtins.readFile (builtins.toString
./config
+ "/${module}.lua");
luaConfig = builtins.concatStringsSep "\n" (map luaRequire [
"init"
"lspconfig"
"nvim-cmp"
]);
in ''
lua << EOF
${luaConfig}
EOF
'';
};
}