*: add config
This commit is contained in:
commit
80c42c7e45
22 changed files with 3229 additions and 0 deletions
196
configuration/common/pkg/neovim.nix
Normal file
196
configuration/common/pkg/neovim.nix
Normal file
|
@ -0,0 +1,196 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
commonPkgs = with pkgs; [
|
||||
neovim
|
||||
];
|
||||
goPkgs = with pkgs.goPackages; [
|
||||
go
|
||||
tools.bin
|
||||
godef.bin
|
||||
godep.bin
|
||||
];
|
||||
pythonPkgs = with pkgs.python2Packages; [
|
||||
blockdiag
|
||||
seqdiag
|
||||
actdiag
|
||||
nwdiag
|
||||
#packetdiag
|
||||
#rackdiag
|
||||
];
|
||||
|
||||
in {
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
neovim = pkgs.neovim.override {
|
||||
vimAlias = true;
|
||||
configure = {
|
||||
# add custom .vimrc lines like this:
|
||||
customRC = ''
|
||||
set nocompatible
|
||||
|
||||
" leader
|
||||
let mapleader = ','
|
||||
|
||||
set hidden
|
||||
syntax on
|
||||
set hlsearch
|
||||
set number
|
||||
|
||||
" mappings to stop insert mode
|
||||
imap jjj <ESC>
|
||||
imap kkk <ESC>
|
||||
imap lll <ESC>
|
||||
imap hhh <ESC>
|
||||
set scroll=11
|
||||
|
||||
noremap <C-n> :tabn<CR>
|
||||
noremap <C-p> :tabp<CR>
|
||||
let g:ctrlp_map = '<tab>'
|
||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||
\ 'file': '\v\.(exe|so|dll)$$',
|
||||
\ }
|
||||
|
||||
"let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' }
|
||||
"let g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'
|
||||
|
||||
" allways show status line
|
||||
set ls=2
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set softtabstop=4
|
||||
set expandtab
|
||||
"set textwidth=80
|
||||
|
||||
" GoDef mappings
|
||||
au FileType go nmap <Leader>gds <Plug>(go-def-split)
|
||||
au FileType go nmap <Leader>gdv <Plug>(go-def-vertical)
|
||||
au FileType go nmap <Leader>gdt <Plug>(go-def-tab)
|
||||
|
||||
let g:tagbar_type_go = {
|
||||
\ 'ctagstype' : 'go',
|
||||
\ 'kinds' : [
|
||||
\ 'p:package',
|
||||
\ 'i:imports:1',
|
||||
\ 'c:constants',
|
||||
\ 'v:variables',
|
||||
\ 't:types',
|
||||
\ 'n:interfaces',
|
||||
\ 'w:fields',
|
||||
\ 'e:embedded',
|
||||
\ 'm:methods',
|
||||
\ 'r:constructor',
|
||||
\ 'f:functions'
|
||||
\ ],
|
||||
\ 'sro' : '.',
|
||||
\ 'kind2scope' : {
|
||||
\ 't' : 'ctype',
|
||||
\ 'n' : 'ntype'
|
||||
\ },
|
||||
\ 'scope2kind' : {
|
||||
\ 'ctype' : 't',
|
||||
\ 'ntype' : 'n'
|
||||
\ },
|
||||
\ 'ctagsbin' : 'gotags',
|
||||
\ 'ctagsargs' : '-sort -silent'
|
||||
\ }
|
||||
|
||||
|
||||
" syntastic
|
||||
au FileType qf setlocal wrap linebreak
|
||||
let g:syntastic_always_populate_loc_list = 1
|
||||
let g:syntastic_auto_loc_list = 0
|
||||
let g:syntastic_check_on_open = 1
|
||||
let g:syntastic_check_on_wq = 0
|
||||
if has("gui_running")
|
||||
set mouse=a
|
||||
else
|
||||
set mouse=
|
||||
endif
|
||||
|
||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||
\ 'file': '\v\.(exe|so|dll)$$',
|
||||
\ }
|
||||
|
||||
let g:go_fmt_command = "goimports"
|
||||
|
||||
"au BufRead,BufNewFile *.txt,*.md,*.markdown setlocal spell spelllang=de_de,en_us
|
||||
|
||||
" sync default register to clipboard
|
||||
if has('unnamedplus')
|
||||
set clipboard=unnamedplus
|
||||
else
|
||||
set clipboard=unnamed
|
||||
endif
|
||||
|
||||
let g:rbpt_colorpairs = [
|
||||
\ ['brown', 'RoyalBlue3'],
|
||||
\ ['Darkblue', 'SeaGreen3'],
|
||||
\ ['darkgray', 'DarkOrchid3'],
|
||||
\ ['darkgreen', 'firebrick3'],
|
||||
\ ['darkcyan', 'RoyalBlue3'],
|
||||
\ ['darkred', 'SeaGreen3'],
|
||||
\ ['darkmagenta', 'DarkOrchid3'],
|
||||
\ ['brown', 'firebrick3'],
|
||||
\ ['gray', 'RoyalBlue3'],
|
||||
\ ['black', 'SeaGreen3'],
|
||||
\ ['darkmagenta', 'DarkOrchid3'],
|
||||
\ ['Darkblue', 'firebrick3'],
|
||||
\ ['darkgreen', 'RoyalBlue3'],
|
||||
\ ['darkcyan', 'SeaGreen3'],
|
||||
\ ['darkred', 'DarkOrchid3'],
|
||||
\ ['red', 'firebrick3'],
|
||||
\ ]
|
||||
let g:rbpt_max = 16
|
||||
let g:rbpt_loadcmd_toggle = 0
|
||||
|
||||
au VimEnter * RainbowParenthesesToggle
|
||||
au Syntax * RainbowParenthesesLoadRound
|
||||
au Syntax * RainbowParenthesesLoadSquare
|
||||
au Syntax * RainbowParenthesesLoadBraces
|
||||
|
||||
set t_ut=
|
||||
colorscheme PaperColor
|
||||
|
||||
" Python {{{
|
||||
augroup ft_python
|
||||
au!
|
||||
au FileType python setlocal omnifunc=pythoncomplete#Complete
|
||||
au FileType python setlocal define=^\s*\\(def\\\\|class\\)
|
||||
augroup END
|
||||
" }}}
|
||||
'';
|
||||
|
||||
# vam.knownPlugins = pkgs.vimPlugins; # optional
|
||||
vam.pluginDictionaries = [ # full ducomentation at github.com/MarcWeber/vim-addon-manager
|
||||
"vim-addon-vim2nix"
|
||||
"youcompleteme"
|
||||
"vim-airline"
|
||||
"vim-addon-nix"
|
||||
"ctrlp"
|
||||
"vim-go"
|
||||
"syntastic"
|
||||
"tagbar"
|
||||
"vim-css-color"
|
||||
"rainbow_parentheses"
|
||||
"vim-colorschemes"
|
||||
"vim-colorstepper"
|
||||
"gitgutter"
|
||||
"vim-pandoc"
|
||||
"vim-pandoc-syntax"
|
||||
"vim-pandoc-after"
|
||||
"vimpreviewpandoc"
|
||||
];
|
||||
};
|
||||
extraPythonPackages = with pkgs.python2Packages; [
|
||||
pandocfilters
|
||||
htmltreediff
|
||||
html5lib
|
||||
] ++ pythonPkgs;
|
||||
withPython3 = false;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = commonPkgs ++ goPkgs ++ pythonPkgs;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue