{ pkgs, ... }: { enable = true; defaultEditor = true; plugins = [ pkgs.vimPlugins.indentLine pkgs.vimPlugins.vim-gitgutter ]; settings = let vimCache = "~/.cache/vim"; in { background = "dark"; backupdir = [ "${vimCache}/backup/" ]; copyindent = false; directory = [ "~/.cache/vim/swap/" ]; expandtab = true; hidden = false; history = 420; ignorecase = false; modeline = true; mouse = "a"; mousefocus = false; mousehide = false; mousemodel = "popup_setpos"; number = true; relativenumber = true; shiftwidth = 4; smartcase = false; tabstop = 4; undodir = [ "~/.cache/vim/undo/" ]; undofile = false; }; extraConfig = '' set updatetime=100 set signcolumn=yes set termguicolors set cursorline colorscheme darcula let g:indentLine_char = '▏' let g:c_no_ansi = 1 let g:c_functions = 1 let g:c_no_c99 = 1 let g:c_no_bsd = 1 let g:c_no_c11 = 1 let g:c_gnu = 1 ''; }