152 lines
5.5 KiB
Nix
152 lines
5.5 KiB
Nix
|
|
[
|
|
(
|
|
self: super:
|
|
rec {
|
|
#jami-ring-daemon = super.qt5.callPackage ./ov/jami/ring-daemon.nix {};
|
|
myVim = with super; vim_configurable.customize {
|
|
# executable/ package name
|
|
name = "vim";
|
|
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
|
|
# loaded on start
|
|
start = [
|
|
ale
|
|
base16-vim
|
|
LanguageClient-neovim
|
|
ctrlp
|
|
direnv-vim
|
|
fugitive
|
|
haskell-vim
|
|
jedi-vim
|
|
nerdtree
|
|
nerdtree-git-plugin
|
|
supertab
|
|
vim-pandoc
|
|
vim-pandoc-syntax
|
|
vim-nix
|
|
vim-jinja
|
|
];
|
|
};
|
|
vimrcConfig.customRC = ''
|
|
" disable vim modelines for security reasons
|
|
set modelines=0
|
|
set nomodeline
|
|
|
|
" Uncomment the following to have Vim jump to the last position when
|
|
" reopening a file
|
|
if has("autocmd")
|
|
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
|
endif
|
|
|
|
set nocompatible
|
|
set hidden
|
|
|
|
" automatically close preview window after suggestion
|
|
autocmd CompleteDone * pclose
|
|
|
|
" Pathogen
|
|
"execute pathogen#infect()
|
|
"call pathogen#infect()
|
|
"call pathogen#helptags()
|
|
|
|
set statusline=%<\ %n:%f\ %m%r%y%=%-35.(line:\ %l\ of\ %L,\ col:\ %c%V\ (%P)%)
|
|
filetype plugin indent on
|
|
|
|
syntax on
|
|
|
|
set number
|
|
set mouse=a
|
|
set mousehide
|
|
|
|
set backspace=indent,eol,start
|
|
|
|
set hlsearch
|
|
set showmatch
|
|
set incsearch
|
|
set autoindent
|
|
set history=1000
|
|
" set cursorline
|
|
if has("unnamedplus")
|
|
set clipboard=unnamedplus
|
|
elseif has("clipboard")
|
|
set clipboard=unnamed
|
|
endif
|
|
|
|
" set expandtab
|
|
set shiftwidth=4
|
|
set tabstop=4
|
|
set softtabstop=4
|
|
|
|
" enable truecolor support
|
|
"let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
|
"let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
|
"set termguicolors
|
|
"
|
|
"let base16colorspace=256
|
|
|
|
"colorscheme base16-tomorrow-night
|
|
"colorscheme Tomorrow-Night
|
|
"colorscheme base16-default-dark
|
|
|
|
set background=dark
|
|
|
|
" Use the same symbols as TextMate for tabstops and EOLs
|
|
set listchars=tab:▸\ ,eol:¬
|
|
|
|
" default tab completion with supertab
|
|
let g:SuperTabDefaultCompletionType = "context"
|
|
|
|
|
|
" LanguageClient
|
|
" Required for operations modifying multiple buffers like rename.
|
|
set hidden
|
|
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
|
|
let g:LanguageClient_serverCommands = { 'haskell': ['hie-wrapper', '--lsp'] }
|
|
|
|
" enable LanguageClient functions only if a server mapping exists
|
|
function LC_maps()
|
|
if has_key(g:LanguageClient_serverCommands, &filetype)
|
|
nnoremap <buffer> <silent> K :call LanguageClient#textDocument_hover()<cr>
|
|
nnoremap <buffer> <silent> gd :call LanguageClient#textDocument_definition()<CR>
|
|
nnoremap <buffer> <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
|
|
set omnifunc=LanguageClient#complete
|
|
set completefunc=LanguageClient#complete
|
|
endif
|
|
endfunction
|
|
|
|
autocmd FileType * call LC_maps()
|
|
|
|
au FileType python setlocal tabstop=4 expandtab shiftwidth=4 softtabstop=4
|
|
au FileType haskell setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4
|
|
" haskell-vim
|
|
let g:haskell_enable_quantification = 1 " to enable highlighting of `forall`
|
|
let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec`
|
|
let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc`
|
|
let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
|
|
let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles
|
|
let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static`
|
|
let g:haskell_backpack = 1 " to enable highlighting of backpack keywords
|
|
au FileType markdown setlocal tabstop=4 expandtab shiftwidth=4 softtabstop=4
|
|
au FileType nix setlocal tabstop=2 expandtab shiftwidth=2 softtabstop=2
|
|
set ofu=syntaxcomplete#Complete
|
|
" nmap <C-V> "+gP
|
|
" imap <C-V> <ESC><C-V>a
|
|
vmap <C-C> "+y
|
|
|
|
" ALE linter settings
|
|
let g:ale_linters = { 'python': ['flake8'] }
|
|
|
|
" vim-pandoc settings
|
|
let g:pandoc#modules#disabled = ["spell"]
|
|
set textwidth=0
|
|
set wrapmargin=0
|
|
'';
|
|
};
|
|
# build with debug symbols and in debug mode (less optimized)
|
|
opencvDebug = with super; enableDebugging ((opencv3.override { enablePython = true; enableGtk3 = true; enableDocs = true; pythonPackages = pkgs.python3Packages; }).overrideAttrs (oldAttrs: rec { cmakeBuildType = "Debug"; }));
|
|
#gnutls = super.callPackage ./ov/gnutls {inherit (super.darwin.apple_sdk.frameworks) Security;};
|
|
}
|
|
)
|
|
|
|
]
|