73 lines
2.1 KiB
Nix
73 lines
2.1 KiB
Nix
{ pkgs, ... }: {
|
|
programs.neovim = {
|
|
enable = true;
|
|
plugins = [
|
|
{
|
|
plugin = pkgs.vimPlugins.airline;
|
|
# config = "let g:airline#extensions#tabline#left_alt_sep = '>'";
|
|
}
|
|
pkgs.vimPlugins.vim-airline-themes
|
|
{
|
|
plugin = pkgs.vimPlugins.nightfox-nvim;
|
|
config = "colorscheme nightfox";
|
|
}
|
|
{
|
|
plugin = pkgs.vimPlugins.nvim-lspconfig;
|
|
type = "lua";
|
|
config = ''
|
|
local lspconfig = require('lspconfig')
|
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
|
lspconfig.pylsp.setup {capabilities=capabilities}
|
|
lspconfig.nil_ls.setup {capabilities=capabilities}
|
|
lspconfig.rust_analyzer.setup {capabilities=capabilities}
|
|
lspconfig.texlab.setup {capabilities=capabilities}
|
|
'';
|
|
}
|
|
pkgs.vimPlugins.nvim-treesitter.withAllGrammars
|
|
pkgs.vimPlugins.plenary-nvim
|
|
pkgs.vimPlugins.mini-nvim
|
|
pkgs.vimPlugins.telescope-nvim
|
|
pkgs.vimPlugins.gitsigns-nvim
|
|
pkgs.vimPlugins.nvim-tree-lua
|
|
|
|
# completion
|
|
pkgs.vimPlugins.nvim-cmp
|
|
|
|
{
|
|
plugin = pkgs.vimPlugins.cmp-nvim-lsp;
|
|
type = "lua";
|
|
config = ''
|
|
local cmp = require("cmp")
|
|
cmp.setup({
|
|
mapping = cmp.mapping.preset.insert({
|
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
|
["<C-o>"] = cmp.mapping.complete(),
|
|
["<C-e>"] = cmp.mapping.abort(),
|
|
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
|
}),
|
|
sources = cmp.config.sources({
|
|
{ name = "nvim_lsp" },
|
|
{ name = "buffer" }
|
|
})
|
|
})
|
|
'';
|
|
}
|
|
|
|
# pkgs.vimPlugins.fugitive
|
|
# pkgs.vimPlugins.surround
|
|
# {
|
|
# plugin = pkgs.vimPlugins.vim-airline-themes;
|
|
# config = "let g:airline_theme='nightfox'";
|
|
# }
|
|
];
|
|
# settings = { ignorecase = true; };
|
|
coc.enable = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
vimdiffAlias = true;
|
|
extraConfig = ''
|
|
set mouse=a
|
|
'';
|
|
};
|
|
}
|