{ 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') lspconfig.pylsp.setup {} lspconfig.nil_ls.setup {} lspconfig.rust_analyzer.setup {} lspconfig.texlab.setup {} ''; } 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 # 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 ''; }; }