{ config, pkgs, ... }: { environment.variables = { EDITOR = "vim"; }; environment.systemPackages = with pkgs; [ ((vim_configurable.override { }).customize { name = "vim"; vimrcConfig.packages.myplugins = with pkgs.vimPlugins; { start = [ vim-nix ]; opt = [ ]; }; vimrcConfig.customRC = '' " basic commands bound to uppercase key command Q q command W w command Wq wq command WQ wq set number relativenumber set tabstop=4 set shiftwidth=4 set smartcase set colorcolumn=120 set nowrap syntax on highlight ColorColumn ctermbg=darkgray " set space as leader nnoremap let mapleader = " " " beautify indents :set list lcs=tab:\|\ "remove ex-mode shortcut nmap Q " quickfixlist binds nnoremap :cnext nnoremap :cprev " locallist binds nnoremap :lnext nnoremap :lprev " split keybinds nnoremap s :sp nnoremap v :vs nnoremap h h nnoremap j j nnoremap k k nnoremap l l ''; } ) ]; }