with import { }; neovim.override { vimAlias = true; configure = { customRC = '' source ${pkgs.fzf}/share/vim-plugins/fzf/plugin/fzf.vim set hidden " langserver let g:LanguageClient_serverCommands = { \ 'go': ['gopls'], \ 'python': ['pyls'], \ 'rust': ['rust-analyzer'], \ } " basic builtin set background=dark set shiftwidth=4 set softtabstop=4 set tabstop=4 set expandtab set ttyfast set lazyredraw set regexpengine=1 set synmaxcol=500 set relativenumber set number set relativenumber set mouse=a set shortmess+=c set clipboard=unnamedplus " better search set incsearch set ignorecase set smartcase set gdefault " autocomplete autocmd BufEnter * call ncm2#enable_for_buffer() inoremap inoremap (pumvisible() ? "\\" : "\") set completeopt=noinsert,menuone,noselect let g:LanguageClient_completionPreferTextEdit = 1 let g:LanguageClient_diagnosticsSignsMax = 0 " securemodelines let g:secure_modelines_allowed_items = [ \ "textwidth", "tw", \ "softtabstop", "sts", \ "tabstop", "ts", \ "shiftwidth", "sw", \ "expandtab", "et", "noexpandtab", "noet", \ "filetype", "ft", \ "foldmethod", "fdm", \ "readonly", "ro", "noreadonly", "noro", \ "rightleft", "rl", "norightleft", "norl", \ "colorcolumn" \ ] " leader let mapleader = " " nnoremap :WhichKey '' noremap :Commands noremap :b# let g:which_key_map = {} let g:which_key_map.f = { 'name': '+files' } noremap ff :Files noremap fn :NnnPicker %:p:h noremap fc :saveas %:p:h let g:which_key_map.y = { 'name': '+yank' } noremap yp :read !wl-paste noremap yy :read !wl-paste noremap ya :w !wl-copy let g:which_key_map.b = { 'name': '+buffers' } noremap bb :Buffers noremap bh :History noremap bd :bd noremap bn :bn noremap bp :bp let g:which_key_map.m = { 'name': '+lang' } noremap md :call LanguageClient_textDocument_codeAction() noremap mc :call LanguageClient#textDocument_references() noremap mf :call LanguageClient#textDocument_formatting() noremap mgg :call LanguageClient#textDocument_definition() noremap mh :call LanguageClient#textDocument_documentHighlight() noremap mm :call LanguageClient#textDocument_hover() noremap mr :call LanguageClient#textDocument_rename() noremap ms :call LanguageClient#workspace_symbol() noremap ma :fzf_lsp_action noremap ml :fzf_lsp_layout let g:which_key_map.g = { 'name': '+git' } noremap gs :call LazyGit " lang specifics let g:rustfmt_autosave = 1 let g:rustfmt_emit_files = 1 let g:rustfmt_fail_silently = 0 ''; packages.myNvim = with pkgs.vimPlugins; { start = [ airline easymotion editorconfig-vim fzf-lsp-nvim fzf-vim fzfWrapper LanguageClient-neovim lazygit-nvim ncm2 nnn-vim surround syntastic vim-addon-nix vim-highlightedyank vim-which-key ]; }; }; }