with import {}; neovim.override { configure = { customRC = '' 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 " 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 :FZF noremap fc :saveas 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.b = { 'name': '+lang' } 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() " 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 fugitive fzf LanguageClient-neovim ncm2 surround syntastic vim-addon-nix vim-highlightedyank vim-which-key ]; }; }; }