shell.nix: init
This commit is contained in:
parent
cafdf365c0
commit
05f818758a
1 changed files with 151 additions and 0 deletions
151
shell.nix
Normal file
151
shell.nix
Normal file
|
@ -0,0 +1,151 @@
|
|||
let
|
||||
nixpkgs = import <nixpkgs> {};
|
||||
pkgsSrc = nixpkgs.pkgs.fetchFromGitHub {
|
||||
owner = "nixos";
|
||||
repo = "nixpkgs-channels";
|
||||
rev = "b0d07aa894007a52466b06eced06c1eee469ee1c";
|
||||
sha256 = "0cnwy3ivjz8z8jd5vvx4m5v76vzwq9hh7vh6gah83x47ggipk7ii";
|
||||
};
|
||||
pkgs = import pkgsSrc {};
|
||||
|
||||
mytexlive = (pkgs.texlive.combine {
|
||||
inherit (pkgs.texlive) scheme-full;
|
||||
});
|
||||
|
||||
in pkgs.stdenv.mkDerivation {
|
||||
name = "msc-thesis";
|
||||
shellHook = ''
|
||||
alias vim-thesis="vim -p --servername VIM -- \
|
||||
$PWD/src/docs/thesis.tex \
|
||||
$PWD/src/docs/glossary.tex \
|
||||
$PWD/src/docs/parts/context/context.tex \
|
||||
$PWD/src/docs/parts/research/research.tex \
|
||||
"
|
||||
'';
|
||||
buildInputs = [
|
||||
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>'
|
||||
let g:ctrlp_custom_ignore = {
|
||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||
\ 'file': '\v\.(exe|so|dll|so|swp|zip|aux|log|fdb_latexmk|fdb|dvi|lof|lot|pdf|fls|toc|gz|latexmain)$$',
|
||||
\ }
|
||||
|
||||
" allways show status line
|
||||
set ls=2
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set softtabstop=4
|
||||
set expandtab
|
||||
"set textwidth=80
|
||||
|
||||
" 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
|
||||
" }
|
||||
set backspace=indent,eol,start
|
||||
colorscheme PaperColor
|
||||
|
||||
" Latex Related {{{
|
||||
au BufRead,BufNewFile *.tex,*.md,*.markdown setlocal spell spelllang=en_us
|
||||
|
||||
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*\{[^}]*',
|
||||
\ ]
|
||||
|
||||
function! ViewerCallback() dict
|
||||
call self.forward_search(self.out)
|
||||
endfunction
|
||||
let g:vimtex_view_zathura_hook_callback = 'ViewerCallback'
|
||||
" }}}
|
||||
'';
|
||||
|
||||
vam.knownPlugins = pkgs.vimPlugins;
|
||||
vam.pluginDictionaries = [
|
||||
"youcompleteme"
|
||||
"vim-airline"
|
||||
"ctrlp"
|
||||
"vim-css-color"
|
||||
"rainbow_parentheses"
|
||||
"vim-colorschemes"
|
||||
"vim-signify"
|
||||
"vimtex"
|
||||
];
|
||||
};
|
||||
})
|
||||
mytexlive
|
||||
pkgs.zathura
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue