{ pkgs, ... }: { programs.neovim = { enable = true; defaultEditor = true; viAlias = true; vimAlias = true; vimdiffAlias = true; extraConfig = '' " colorscheme elflord set autoindent set ruler set pastetoggle= set splitbelow set splitright set mouse= set hidden set expandtab set tabstop=2 set softtabstop=2 set listchars="eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣" set grepprg=ack\ -k set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 let g:syntastic_check_on_open = 1 let g:syntastic_check_on_wq = 0 let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] } "nnoremap E :SyntasticCheck :SyntasticToggleMode " Rust "let g:rustfmt_autosave = 1 let g:racer_cmd="~/.cargo/bin/racer" "let g:racer_experimental_completer = 1 au FileType rust nmap gd (rust-def) au FileType rust nmap gs (rust-def-split) au FileType rust nmap gx (rust-def-vertical) au FileType rust nmap gd (rust-doc) " Typescript au BufRead,BufNewFile *.ts setfiletype typescript " Options filetype plugin indent on syntax on ''; plugins = with pkgs.vimPlugins; [ vim-sensible vim-airline ]; }; catppuccin.nvim.enable = true; }