mb: add neovim config
This commit is contained in:
parent
7351d5cff1
commit
cc470ff158
@ -5,6 +5,7 @@ in {
|
|||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
<stockholm/mb>
|
<stockholm/mb>
|
||||||
|
<stockholm/mb/2configs/nvim.nix>
|
||||||
];
|
];
|
||||||
|
|
||||||
krebs.build.host = config.krebs.hosts.orange;
|
krebs.build.host = config.krebs.hosts.orange;
|
||||||
@ -124,7 +125,6 @@ in {
|
|||||||
unstable.ponyc
|
unstable.ponyc
|
||||||
unstable.sublime3
|
unstable.sublime3
|
||||||
unstable.youtube-dl
|
unstable.youtube-dl
|
||||||
vim
|
|
||||||
virt-viewer
|
virt-viewer
|
||||||
virtmanager
|
virtmanager
|
||||||
vulnix
|
vulnix
|
||||||
|
@ -5,6 +5,7 @@ in {
|
|||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
<stockholm/mb>
|
<stockholm/mb>
|
||||||
|
<stockholm/mb/2config/nvim.nix>
|
||||||
];
|
];
|
||||||
|
|
||||||
krebs.build.host = config.krebs.hosts.p1nk;
|
krebs.build.host = config.krebs.hosts.p1nk;
|
||||||
@ -118,7 +119,6 @@ in {
|
|||||||
unstable.ponyc
|
unstable.ponyc
|
||||||
unstable.sublime3
|
unstable.sublime3
|
||||||
youtube-dl
|
youtube-dl
|
||||||
vim
|
|
||||||
virt-viewer
|
virt-viewer
|
||||||
virtmanager
|
virtmanager
|
||||||
vulnix
|
vulnix
|
||||||
|
446
mb/2configs/neovimrc
Normal file
446
mb/2configs/neovimrc
Normal file
@ -0,0 +1,446 @@
|
|||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Functions
|
||||||
|
"*****************************************************************************
|
||||||
|
|
||||||
|
function! GetBufferList()
|
||||||
|
redir =>buflist
|
||||||
|
silent! ls!
|
||||||
|
redir END
|
||||||
|
return buflist
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! ToggleList(bufname, pfx)
|
||||||
|
let buflist = GetBufferList()
|
||||||
|
for bufnum in map(filter(split(buflist, '\n'), 'v:val =~ "'.a:bufname.'"'), 'str2nr(matchstr(v:val, "\\d\\+"))')
|
||||||
|
if bufwinnr(bufnum) != -1
|
||||||
|
exec(a:pfx.'close')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
if a:pfx == 'l' && len(getloclist(0)) == 0
|
||||||
|
echohl ErrorMsg
|
||||||
|
echo "Location List is Empty."
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let winnr = winnr()
|
||||||
|
exec(a:pfx.'open')
|
||||||
|
if winnr() != winnr
|
||||||
|
wincmd p
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Basic Setup
|
||||||
|
"*****************************************************************************"
|
||||||
|
" General
|
||||||
|
let no_buffers_menu=1
|
||||||
|
syntax on
|
||||||
|
set ruler
|
||||||
|
set number
|
||||||
|
set mousemodel=popup
|
||||||
|
set t_Co=256
|
||||||
|
set guioptions=egmrti
|
||||||
|
set gfn=Monospace\ 10
|
||||||
|
|
||||||
|
" TODO: Testing if this works against automatically setting paste mode
|
||||||
|
" Issue: https://github.com/neovim/neovim/issues/7994
|
||||||
|
au InsertLeave * set nopaste
|
||||||
|
|
||||||
|
|
||||||
|
" undofile - This allows you to use undos after exiting and restarting
|
||||||
|
" This, like swap and backups, uses .vim-undo first, then ~/.vim/undo
|
||||||
|
" :help undo-persistence
|
||||||
|
if exists("+undofile")
|
||||||
|
if isdirectory($HOME . '/.vim/undo') == 0
|
||||||
|
:silent !mkdir -p ~/.vim/undo > /dev/null 2>&1
|
||||||
|
endif
|
||||||
|
set undodir=./.vim-undo//
|
||||||
|
set undodir+=~/.vim/undo//
|
||||||
|
set undofile
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Encoding
|
||||||
|
set encoding=utf-8
|
||||||
|
set fileencoding=utf-8
|
||||||
|
set fileencodings=utf-8
|
||||||
|
set bomb
|
||||||
|
set binary
|
||||||
|
|
||||||
|
" Fix backspace indent
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
|
||||||
|
" Tabs. May be overriten by autocmd rules
|
||||||
|
set tabstop=4
|
||||||
|
set softtabstop=0
|
||||||
|
set shiftwidth=4
|
||||||
|
set expandtab
|
||||||
|
|
||||||
|
" Map leader to ,
|
||||||
|
let mapleader=','
|
||||||
|
|
||||||
|
" Enable hidden buffers
|
||||||
|
set hidden
|
||||||
|
|
||||||
|
" Searching
|
||||||
|
set hlsearch
|
||||||
|
set incsearch
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" Directories for swp files
|
||||||
|
set nobackup
|
||||||
|
set noswapfile
|
||||||
|
|
||||||
|
set fileformats=unix,dos,mac
|
||||||
|
|
||||||
|
" File overview
|
||||||
|
set wildmode=list:longest,list:full
|
||||||
|
set wildignore+=*.o,*.obj,.git,*.rbc,*.pyc,__pycache__
|
||||||
|
|
||||||
|
" Shell to emulate
|
||||||
|
if exists('$SHELL')
|
||||||
|
set shell=$SHELL
|
||||||
|
else
|
||||||
|
set shell=/bin/bash
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Set color scheme
|
||||||
|
colorscheme molokai
|
||||||
|
|
||||||
|
"Show always Status bar
|
||||||
|
set laststatus=2
|
||||||
|
|
||||||
|
" Use modeline overrides
|
||||||
|
set modeline
|
||||||
|
set modelines=10
|
||||||
|
|
||||||
|
" Set terminal title
|
||||||
|
set title
|
||||||
|
set titleold="Terminal"
|
||||||
|
set titlestring=%F
|
||||||
|
|
||||||
|
" search will center on the line it's found in.
|
||||||
|
nnoremap n nzzzv
|
||||||
|
nnoremap N Nzzzv
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Abbreviations
|
||||||
|
"*****************************************************************************
|
||||||
|
" no one is really happy until you have this shortcuts
|
||||||
|
cnoreabbrev W! w!
|
||||||
|
cnoreabbrev Q! q!
|
||||||
|
cnoreabbrev Qall! qall!
|
||||||
|
cnoreabbrev Wq wq
|
||||||
|
cnoreabbrev Wa wa
|
||||||
|
cnoreabbrev wQ wq
|
||||||
|
cnoreabbrev WQ wq
|
||||||
|
cnoreabbrev W w
|
||||||
|
cnoreabbrev Q q
|
||||||
|
cnoreabbrev Qall qall
|
||||||
|
|
||||||
|
" NERDTree configuration
|
||||||
|
let g:NERDTreeChDirMode=2
|
||||||
|
let g:NERDTreeIgnore=['\.rbc$', '\~$', '\.pyc$', '\.db$', '\.sqlite$', '__pycache__']
|
||||||
|
let g:NERDTreeSortOrder=['^__\.py$', '\/$', '*', '\.swp$', '\.bak$', '\~$']
|
||||||
|
let g:NERDTreeShowBookmarks=1
|
||||||
|
let g:nerdtree_tabs_focus_on_files=1
|
||||||
|
let g:NERDTreeMapOpenInTabSilent = '<RightMouse>'
|
||||||
|
let g:NERDTreeWinSize = 50
|
||||||
|
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite
|
||||||
|
nnoremap <silent> <F1> :NERDTreeFind<CR>
|
||||||
|
nnoremap <silent> <F2> :NERDTreeToggle<CR>
|
||||||
|
|
||||||
|
" open terminal emulation
|
||||||
|
nnoremap <silent> <leader>sh :terminal<CR>:startinsert<CR>
|
||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Autocmd Rules
|
||||||
|
"*****************************************************************************
|
||||||
|
"" The PC is fast enough, do syntax highlight syncing from start unless 200 lines
|
||||||
|
augroup vimrc-sync-fromstart
|
||||||
|
autocmd!
|
||||||
|
autocmd BufEnter * :syntax sync maxlines=200
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Nasm filetype
|
||||||
|
augroup nasm
|
||||||
|
autocmd!
|
||||||
|
autocmd BufRead,BufNewFile *.nasm set ft=nasm
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Binary filetype
|
||||||
|
augroup Binary
|
||||||
|
au!
|
||||||
|
au BufReadPre *.bin,*.exe,*.elf let &bin=1
|
||||||
|
au BufReadPost *.bin,*.exe,*.elf if &bin | %!xxd
|
||||||
|
au BufReadPost *.bin,*.exe,*.elf set ft=xxd | endif
|
||||||
|
au BufWritePre *.bin,*.exe,*.elf if &bin | %!xxd -r
|
||||||
|
au BufWritePre *.bin,*.exe,*.elf endif
|
||||||
|
au BufWritePost *.bin,*.exe,*.elf if &bin | %!xxd
|
||||||
|
au BufWritePost *.bin,*.exe,*.elf set nomod | endif
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Binary filetype
|
||||||
|
augroup fasm
|
||||||
|
au!
|
||||||
|
au BufReadPost *.fasm set ft=fasm
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
augroup deoplete-update
|
||||||
|
autocmd!
|
||||||
|
autocmd VimEnter * UpdateRemotePlugin
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
"" Remember cursor position
|
||||||
|
augroup vimrc-remember-cursor-position
|
||||||
|
autocmd!
|
||||||
|
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
"" txt
|
||||||
|
" augroup vimrc-wrapping
|
||||||
|
" autocmd!
|
||||||
|
" autocmd BufRead,BufNewFile *.txt call s:setupWrapping()
|
||||||
|
" augroup END
|
||||||
|
|
||||||
|
"" make/cmake
|
||||||
|
augroup vimrc-make-cmake
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType make setlocal noexpandtab
|
||||||
|
autocmd BufNewFile,BufRead CMakeLists.txt setlocal filetype=cmake
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
set autoread
|
||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Mappings
|
||||||
|
"*****************************************************************************
|
||||||
|
|
||||||
|
" Split
|
||||||
|
noremap <Leader>h :<C-u>split<CR>
|
||||||
|
noremap <Leader>v :<C-u>vsplit<CR>
|
||||||
|
|
||||||
|
" Git
|
||||||
|
noremap <Leader>ga :Gwrite<CR>
|
||||||
|
noremap <Leader>gc :Gcommit<CR>
|
||||||
|
noremap <Leader>gsh :Gpush<CR>
|
||||||
|
noremap <Leader>gll :Gpull<CR>
|
||||||
|
noremap <Leader>gs :Gstatus<CR>
|
||||||
|
noremap <Leader>gb :Gblame<CR>
|
||||||
|
noremap <Leader>gd :Gvdiff<CR>
|
||||||
|
noremap <Leader>gr :Gremove<CR>
|
||||||
|
|
||||||
|
" Tabs
|
||||||
|
nnoremap <Tab> gt
|
||||||
|
nnoremap <S-Tab> gT
|
||||||
|
nnoremap <silent> <S-t> :tabnew<CR>
|
||||||
|
|
||||||
|
" Set working directory
|
||||||
|
nnoremap <leader>. :lcd %:p:h<CR>
|
||||||
|
|
||||||
|
" Opens an edit command with the path of the currently edited file filled in
|
||||||
|
noremap <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
|
||||||
|
|
||||||
|
" Opens a tab edit command with the path of the currently edited file filled
|
||||||
|
noremap <Leader>te :tabe <C-R>=expand("%:p:h") . "/" <CR>
|
||||||
|
|
||||||
|
" Tagbar
|
||||||
|
nmap <silent> <F3> :TagbarToggle<CR>
|
||||||
|
let g:tagbar_autofocus = 1
|
||||||
|
|
||||||
|
" Copy/Paste/Cut
|
||||||
|
set clipboard^=unnamed,unnamedplus
|
||||||
|
|
||||||
|
noremap YY "+y<CR>
|
||||||
|
noremap <leader>p "+gP<CR>
|
||||||
|
noremap XX "+x<CR>
|
||||||
|
|
||||||
|
" Enable mouse for vim
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
" Buffer nav
|
||||||
|
noremap <leader>z :bp<CR>
|
||||||
|
noremap <leader>q :bp<CR>
|
||||||
|
noremap <leader>x :bn<CR>
|
||||||
|
noremap <leader>w :bn<CR>
|
||||||
|
|
||||||
|
" Close buffer
|
||||||
|
noremap <leader>c :bd<CR>
|
||||||
|
|
||||||
|
" Clean search (highlight)
|
||||||
|
nnoremap <silent> <leader><space> :noh<cr>
|
||||||
|
|
||||||
|
" Switching windows
|
||||||
|
noremap <C-j> <C-w>j
|
||||||
|
noremap <C-k> <C-w>k
|
||||||
|
noremap <C-l> <C-w>l
|
||||||
|
noremap <C-h> <C-w>h
|
||||||
|
|
||||||
|
" Vmap for maintain Visual Mode after shifting > and <
|
||||||
|
vmap < <gv
|
||||||
|
vmap > >gv
|
||||||
|
|
||||||
|
" Move visual block
|
||||||
|
vnoremap J :m '>+1<CR>gv=gv
|
||||||
|
vnoremap K :m '<-2<CR>gv=gv
|
||||||
|
|
||||||
|
" Open current line on GitHub
|
||||||
|
nnoremap <Leader>o :.Gbrowse<CR>
|
||||||
|
|
||||||
|
|
||||||
|
" Save on strg+s if not in paste mode
|
||||||
|
nmap <c-s> :w<CR>
|
||||||
|
vmap <c-s> <Esc><c-s>gv
|
||||||
|
imap <c-s> <Esc><c-s>
|
||||||
|
|
||||||
|
" Quit on strg+q in normal mode
|
||||||
|
nnoremap <c-q> :q<cr>
|
||||||
|
|
||||||
|
" Strg+d to replace word under cursor
|
||||||
|
nnoremap <c-d> :%s/\<<C-r><C-w>\>//g<Left><Left>
|
||||||
|
|
||||||
|
" Strg+f ro find word under cursor
|
||||||
|
nnoremap <c-f> :/<C-r><C-w><Left><Left>
|
||||||
|
|
||||||
|
" Remove unneccessary spaces
|
||||||
|
nnoremap <silent> <F5> :let _s=@/ <Bar> :%s/\s\+$//e <Bar> :let @/=_s <Bar> :nohl <Bar> :unlet _s <CR>
|
||||||
|
|
||||||
|
" Reindent whole file with F6
|
||||||
|
map <F6> mzgg=G`z
|
||||||
|
|
||||||
|
" Toggle location list
|
||||||
|
nmap <silent> <F4> :call ToggleList("Quickfix List", 'c')<CR>
|
||||||
|
|
||||||
|
" Replacing text in visual mode doesn't copy it anymore
|
||||||
|
xmap p <Plug>ReplaceWithRegisterVisual
|
||||||
|
xmap <MiddleMouse> <Plug>ReplaceWithRegisterVisual
|
||||||
|
|
||||||
|
" ALE mappings
|
||||||
|
nmap <Leader>i <Plug>(ale_hover)
|
||||||
|
nmap <Leader>d <Plug>(ale_go_to_definition_in_tab)
|
||||||
|
nmap <Leader>rf <Plug>(ale_find_references)
|
||||||
|
nmap <silent><F7> <Plug>(ale_fix)
|
||||||
|
|
||||||
|
" Vim-Go mappings
|
||||||
|
au FileType go nmap <Leader>i :GoDoc<cr>
|
||||||
|
au FileType go nmap <Leader>d :GoDef<cr>
|
||||||
|
au FileType go nmap <Leader>rf :GoReferrers<cr>
|
||||||
|
|
||||||
|
|
||||||
|
"" Opens an edit command with the path of the currently edited file filled in
|
||||||
|
noremap <Leader>e :e <C-R>=expand("%:p:h") . "/" <CR>
|
||||||
|
|
||||||
|
" Use tab for navigatin in autocompletion window
|
||||||
|
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
||||||
|
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
||||||
|
|
||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Plugin settings
|
||||||
|
"*****************************************************************************
|
||||||
|
|
||||||
|
" vim-airline
|
||||||
|
set statusline+=%{fugitive#statusline()}
|
||||||
|
let g:airline_theme = 'powerlineish'
|
||||||
|
let g:airline#extensions#syntastic#enabled = 1
|
||||||
|
let g:airline#extensions#branch#enabled = 1
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
let g:airline#extensions#tagbar#enabled = 1
|
||||||
|
let g:airline_skip_empty_sections = 1
|
||||||
|
let g:airline#extensions#ale#enabled = 1
|
||||||
|
|
||||||
|
" show indent lines
|
||||||
|
let g:indent_guides_enable_on_vim_startup = 1
|
||||||
|
let g:indent_guides_auto_colors = 0
|
||||||
|
hi IndentGuidesOdd ctermbg=235
|
||||||
|
hi IndentGuidesEven ctermbg=235
|
||||||
|
let g:indent_guides_guide_size = 1
|
||||||
|
let g:indent_guides_start_level = 2
|
||||||
|
|
||||||
|
" Enable autocompletion
|
||||||
|
let g:deoplete#enable_at_startup = 1
|
||||||
|
set completeopt-=preview
|
||||||
|
|
||||||
|
" Ale no preview on hover
|
||||||
|
let g:ale_close_preview_on_insert = 0
|
||||||
|
let g:ale_cursor_detail = 0
|
||||||
|
|
||||||
|
" Ale skip if file size over 2G
|
||||||
|
let g:ale_maximum_file_size = "2147483648"
|
||||||
|
|
||||||
|
" Ale to loclist and quickfix
|
||||||
|
let g:ale_set_quickfix = 1
|
||||||
|
" let g:ale_set_loclist = 1
|
||||||
|
|
||||||
|
|
||||||
|
" Ale language server
|
||||||
|
let g:ale_linters = {
|
||||||
|
\ 'python': ['pyls'],
|
||||||
|
\ 'c': ['cquery'],
|
||||||
|
\ 'cpp': ['cquery'],
|
||||||
|
\ 'xml': ['xmllint']
|
||||||
|
\ }
|
||||||
|
|
||||||
|
|
||||||
|
" ALE fixers
|
||||||
|
let g:ale_fixers = { '*': ['remove_trailing_lines', 'trim_whitespace'] }
|
||||||
|
let g:ale_fixers.python = ['black']
|
||||||
|
let g:ale_fixers.go = ['gofmt']
|
||||||
|
let g:ale_fixers.c = ['clang-format']
|
||||||
|
let g:ale_fixers.cpp = ['clang-format']
|
||||||
|
let g:ale_fixers.json = ['jq']
|
||||||
|
let g:ale_fixers.xml = ['xmllint']
|
||||||
|
|
||||||
|
let g:ale_completion_enabled = 1
|
||||||
|
let g:ale_sign_error = '⤫'
|
||||||
|
let g:ale_sign_warning = '⚠'
|
||||||
|
let g:ale_lint_on_insert_leave = 1
|
||||||
|
|
||||||
|
" Vim-Go Settings
|
||||||
|
let g:go_auto_sameids = 1
|
||||||
|
let g:go_fmt_command = "goimports"
|
||||||
|
let g:go_auto_type_info = 1
|
||||||
|
|
||||||
|
" Disable syntastic for langserver supported languages
|
||||||
|
let g:syntastic_mode_map = {
|
||||||
|
\ "mode": "active",
|
||||||
|
\ "passive_filetypes": ["go", "python", "c", "cpp", "xml" ]
|
||||||
|
\ }
|
||||||
|
let g:syntastic_always_populate_loc_list = 1
|
||||||
|
let g:syntastic_auto_loc_list = 2
|
||||||
|
let g:syntastic_aggregate_errors = 1
|
||||||
|
let g:syntastic_check_on_open = 1
|
||||||
|
let g:syntastic_check_on_wq = 0
|
||||||
|
let g:syntastic_error_symbol='✗'
|
||||||
|
let g:syntastic_warning_symbol='⚠'
|
||||||
|
let g:syntastic_style_error_symbol = '✗'
|
||||||
|
let g:syntastic_style_warning_symbol = '⚠'
|
||||||
|
|
||||||
|
"*****************************************************************************
|
||||||
|
"" Shortcuts overview
|
||||||
|
"*****************************************************************************
|
||||||
|
" Shortcuts overview
|
||||||
|
" F1 --> Filetree find
|
||||||
|
" F2 --> Filetree toggle
|
||||||
|
" F3 --> Function overview
|
||||||
|
" F4 --> Toggle error bar
|
||||||
|
|
||||||
|
" F5 --> Remove trailing whitespaces
|
||||||
|
" F6 --> Reindent whole file
|
||||||
|
" F7 --> Format and lint file
|
||||||
|
" ,i --> Information about function
|
||||||
|
" ,d --> Jump to definition
|
||||||
|
" ,r --> Rename in all occurences
|
||||||
|
" ,rf --> Find references of function/variable
|
||||||
|
" ,e --> Change current file
|
||||||
|
" ,te --> Open file in new tab
|
||||||
|
" strg+f --> Find current selected word
|
||||||
|
" strg+d --> Replace current selected word
|
||||||
|
" strg+s --> Save file
|
||||||
|
" strg+q --> Close current file
|
||||||
|
" space+, --> Stop highlighting words after search
|
||||||
|
|
70
mb/2configs/nvim.nix
Normal file
70
mb/2configs/nvim.nix
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
{ pkgs, config, ... }: let
|
||||||
|
#unstable = import <nixos-unstable> { };
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.variables = {
|
||||||
|
EDITOR = ["nvim"];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: with pkgs;{
|
||||||
|
neovim_custom = neovim.override {
|
||||||
|
configure = {
|
||||||
|
customRC = builtins.readFile ./neovimrc;
|
||||||
|
|
||||||
|
packages.myVimPackage = with pkgs.vimPlugins;
|
||||||
|
{
|
||||||
|
# loaded on launch
|
||||||
|
start = [
|
||||||
|
nerdtree # file manager
|
||||||
|
commentary # comment stuff out based on language
|
||||||
|
fugitive # full git integration
|
||||||
|
vim-airline-themes # lean & mean status/tabline
|
||||||
|
vim-airline # status bar
|
||||||
|
gitgutter # git diff in the gutter (sign column)
|
||||||
|
vim-trailing-whitespace # trailing whitspaces in red
|
||||||
|
tagbar # F3 function overview
|
||||||
|
syntastic # Fallback to singlethreaded but huge syntax support
|
||||||
|
ReplaceWithRegister # For better copying/replacing
|
||||||
|
polyglot # Language pack
|
||||||
|
vim-indent-guides # for displaying indent levels
|
||||||
|
ale # threaded language client
|
||||||
|
vim-go # go linting
|
||||||
|
deoplete-go # go autocompletion completion
|
||||||
|
deoplete-nvim # general autocompletion
|
||||||
|
molokai # color scheme
|
||||||
|
];
|
||||||
|
|
||||||
|
# manually loadable by calling `:packadd $plugin-name`
|
||||||
|
opt = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
ctags
|
||||||
|
neovim_custom
|
||||||
|
jq # For fixing json files
|
||||||
|
xxd # .bin files will be displayed with xxd
|
||||||
|
shellcheck # Shell linting
|
||||||
|
ansible-lint # Ansible linting
|
||||||
|
unzip # To vim into unzipped files
|
||||||
|
nodePackages.jsonlint # json linting
|
||||||
|
#python36Packages.python-language-server # python linting
|
||||||
|
#python36Packages.pyls-mypy # Python static type checker
|
||||||
|
#python36Packages.black # Python code formatter
|
||||||
|
#python37Packages.yamllint # For linting yaml files
|
||||||
|
#python37Packages.libxml2 # For fixing yaml files
|
||||||
|
cquery # C/C++ support
|
||||||
|
clang-tools # C++ fixer
|
||||||
|
];
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
fonts = with pkgs; [
|
||||||
|
font-awesome_5
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user