138 lines
4 KiB
Nix
138 lines
4 KiB
Nix
let
|
|
pkgs = import <nixpkgs> {};
|
|
in pkgs.stdenv.mkDerivation {
|
|
name = "msc-thesis";
|
|
buildInputs = [
|
|
pkgs.pandoc
|
|
pkgs.xdotool
|
|
(pkgs.vim_configurable.customize {
|
|
name = "vim";
|
|
vimrcConfig = {
|
|
# 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)$$',
|
|
\ }
|
|
|
|
" allways show status line
|
|
set ls=2
|
|
set tabstop=4
|
|
set shiftwidth=4
|
|
set softtabstop=4
|
|
set expandtab
|
|
"set textwidth=80
|
|
|
|
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
|
let g:ctrlp_custom_ignore = {
|
|
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
|
\ 'file': '\v\.(exe|so|dll)$$',
|
|
\ }
|
|
" }
|
|
|
|
" spelling {{{
|
|
au BufRead,BufNewFile *.md,*.markdown setlocal spell spelllang=en_us,de_de
|
|
" }}}
|
|
|
|
" sync default register to clipboard {
|
|
if has('unnamedplus')
|
|
set clipboard=unnamedplus
|
|
else
|
|
set clipboard=unnamed
|
|
endif
|
|
" }
|
|
|
|
" colored brackets {
|
|
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
|
|
" }
|
|
|
|
let g:vimtex_view_method = 'zathura'
|
|
|
|
let g:vimtex_complete_enabled = 1
|
|
let g:vimtex_complete_close_braces = 1
|
|
let g:vimtex_complete_recursive_bib = 1
|
|
let g:vimtex_indent_enabled = 1
|
|
let g:vimtex_indent_bib_enabled = 1
|
|
|
|
|
|
if !exists('g:ycm_semantic_triggers')
|
|
let g:ycm_semantic_triggers = {}
|
|
endif
|
|
let g:ycm_semantic_triggers.tex = [
|
|
\ 're!\\[A-Za-z]*cite[A-Za-z]*(\[[^]]*\]){0,2}{[^}]*',
|
|
\ 're!\\[A-Za-z]*ref({[^}]*|range{([^,{}]*(}{)?))',
|
|
\ 're!\\hyperref\[[^]]*',
|
|
\ 're!\\includegraphics\*?(\[[^]]*\]){0,2}{[^}]*',
|
|
\ 're!\\(include(only)?|input){[^}]*',
|
|
\ 're!\\\a*(gls|Gls|GLS)(pl)?\a*(\s*\[[^]]*\]){0,2}\s*\{[^}]*',
|
|
\ 're!\\includepdf(\s*\[[^]]*\])?\s*\{[^}]*',
|
|
\ 're!\\includestandalone(\s*\[[^]]*\])?\s*\{[^}]*',
|
|
\ ]
|
|
|
|
set t_ut=
|
|
colorscheme PaperColor
|
|
'';
|
|
|
|
vam.knownPlugins = pkgs.vimPlugins;
|
|
vam.pluginDictionaries = [
|
|
"youcompleteme"
|
|
"vim-airline"
|
|
"vim-addon-nix"
|
|
"ctrlp"
|
|
"vim-css-color"
|
|
"rainbow_parentheses"
|
|
"vim-colorschemes"
|
|
"vim-signify"
|
|
"vimtex"
|
|
];
|
|
};
|
|
})
|
|
pkgs.texlive.combined.scheme-full
|
|
pkgs.zathura
|
|
];
|
|
}
|