From 4fb533cace0a1214f175102db493ca709f185276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Mon, 9 Oct 2023 15:42:05 +0300 Subject: [PATCH] nvim: migrate to lua --- shared/home/default.nix | 2 +- shared/home/init.lua | 76 +++++++++++++++++++++++++++++++++++++++++ shared/home/vimrc | 74 --------------------------------------- 3 files changed, 77 insertions(+), 75 deletions(-) create mode 100644 shared/home/init.lua delete mode 100644 shared/home/vimrc diff --git a/shared/home/default.nix b/shared/home/default.nix index d4c94a5..04955c9 100644 --- a/shared/home/default.nix +++ b/shared/home/default.nix @@ -48,7 +48,7 @@ ] else [] ); - extraConfig = builtins.readFile ./vimrc; + extraLuaConfig = builtins.readFile ./init.lua; }; programs.git = { diff --git a/shared/home/init.lua b/shared/home/init.lua new file mode 100644 index 0000000..d40e980 --- /dev/null +++ b/shared/home/init.lua @@ -0,0 +1,76 @@ +vim.api.nvim_exec([[ + syntax on + filetype plugin indent on + set et ts=4 sw=4 sts=4 nu hlsearch ruler ignorecase smartcase nomodeline bg=dark incsearch + set path=**/* grepprg=rg\ --vimgrep grepformat^=%f:%l:%c:%m backspace=2 nojs + set laststatus=1 + nnoremap \ gqj + command OLD :enew | setl buftype=nofile | 0put =v:oldfiles | nnoremap :e =getline('.') + + let g:gutentags_enabled = 0 + let g:gutentags_generate_on_new = 0 + let g:gutentags_cache_dir = '~/.vim/ctags' + let b:gutentags_file_list_command = 'git ls-files' + + call matchadd('ColorColumn', '\%81v', 100) + " thanks to drew de vault's vimrc, except swearing + set mouse= + set backupdir=~/.cache directory=~/.cache + "nnoremap Q :grep + nmap gs :grep + + " bits from vim-sensible + set autoindent smarttab nrformats-=octal + nnoremap :nohlsearch=has('diff')?'diffupdate':'' + set wildmenu sidescrolloff=5 display+=lastline encoding=utf-8 + set formatoptions+=j history=1000 tabpagemax=50 sessionoptions-=options + + " so Gdiff and vimdiff output are somewhat readable + if &diff + syntax off + endif + + if has("patch-8.1-0360") + set diffopt+=algorithm:patience + endif + + " html + au FileType html,gohtmltmpl setlocal ts=2 sw=2 sts=2 + + " ruby + au BufRead,BufNewFile Vagrantfile setfiletype ruby + + " puppet + au BufRead,BufNewFile *.j2 setfiletype django + + " avro + au BufRead,BufNewFile *.avsc setfiletype json + au BufRead,BufNewFile *.avsc setlocal ts=2 sw=2 sts=2 + + " redo + au BufRead,BufNewFile *.do setfiletype sh + + " go + au FileType go setlocal noet + au FileType go nnoremap :GoDef + au FileType go let g:go_template_autocreate = 0 + au FileType go let g:go_fmt_command = "goimports" + + " strace + au FileType strace setlocal nonu + + " yaml + au FileType yaml setlocal ts=2 sw=2 sts=2 + + " sql + au FileType sql setlocal formatprg=pg_format\ - + au FileType sql setlocal ts=2 sw=2 sts=2 + let g:loaded_sql_completion = 0 + let g:omni_sql_no_default_maps = 1 + + " mail + autocmd BufRead,BufNewFile *mutt-* setfiletype mail + + " TeX + au FileType tex setlocal spell spelllang=en_us ts=2 sw=2 sts=2 +]], false) diff --git a/shared/home/vimrc b/shared/home/vimrc deleted file mode 100644 index a50edc5..0000000 --- a/shared/home/vimrc +++ /dev/null @@ -1,74 +0,0 @@ -syntax on -filetype plugin indent on -set et ts=4 sw=4 sts=4 nu hlsearch ruler ignorecase smartcase nomodeline bg=dark incsearch -set path=**/* grepprg=rg\ --vimgrep grepformat^=%f:%l:%c:%m backspace=2 nojs -set laststatus=1 -nnoremap \ gqj -command OLD :enew | setl buftype=nofile | 0put =v:oldfiles | nnoremap :e =getline('.') - -let g:gutentags_enabled = 0 -let g:gutentags_generate_on_new = 0 -let g:gutentags_cache_dir = '~/.vim/ctags' -let b:gutentags_file_list_command = 'git ls-files' - -call matchadd('ColorColumn', '\%81v', 100) -" thanks to drew de vault's vimrc, except swearing -set mouse= -set backupdir=~/.cache directory=~/.cache -"nnoremap Q :grep -nmap gs :grep - -" bits from vim-sensible -set autoindent smarttab nrformats-=octal -nnoremap :nohlsearch=has('diff')?'diffupdate':'' -set wildmenu sidescrolloff=5 display+=lastline encoding=utf-8 -set formatoptions+=j history=1000 tabpagemax=50 sessionoptions-=options - -" so Gdiff and vimdiff output are somewhat readable -if &diff - syntax off -endif - -if has("patch-8.1-0360") - set diffopt+=algorithm:patience -endif - -" html -au FileType html,gohtmltmpl setlocal ts=2 sw=2 sts=2 - -" ruby -au BufRead,BufNewFile Vagrantfile setfiletype ruby - -" puppet -au BufRead,BufNewFile *.j2 setfiletype django - -" avro -au BufRead,BufNewFile *.avsc setfiletype json -au BufRead,BufNewFile *.avsc setlocal ts=2 sw=2 sts=2 - -" redo -au BufRead,BufNewFile *.do setfiletype sh - -" go -au FileType go setlocal noet -au FileType go nnoremap :GoDef -au FileType go let g:go_template_autocreate = 0 -au FileType go let g:go_fmt_command = "goimports" - -" strace -au FileType strace setlocal nonu - -" yaml -au FileType yaml setlocal ts=2 sw=2 sts=2 - -" sql -au FileType sql setlocal formatprg=pg_format\ - -au FileType sql setlocal ts=2 sw=2 sts=2 -let g:loaded_sql_completion = 0 -let g:omni_sql_no_default_maps = 1 - -" mail -autocmd BufRead,BufNewFile *mutt-* setfiletype mail - -" TeX -au FileType tex setlocal spell spelllang=en_us ts=2 sw=2 sts=2