make * composable; add install medium; archive prevoius code
This commit is contained in:
parent
5ab3bfc58c
commit
93b1488bd9
74 changed files with 955 additions and 1132 deletions
14
pkgs-configuration/config.nix
Normal file
14
pkgs-configuration/config.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ ... } @ args:
|
||||
|
||||
# unused, switched to home-manager
|
||||
|
||||
let
|
||||
stablepkgs = import <nixos> {};
|
||||
in {
|
||||
packageOverrides = stablepkgs: rec {
|
||||
userPackages = with stablepkgs; buildEnv {
|
||||
name = "userPackages";
|
||||
paths = [];
|
||||
};
|
||||
};
|
||||
}
|
130
pkgs-configuration/home-manager/steveej/neovim/default.nix
Normal file
130
pkgs-configuration/home-manager/steveej/neovim/default.nix
Normal file
|
@ -0,0 +1,130 @@
|
|||
{ pkgs }:
|
||||
|
||||
{
|
||||
enable = true;
|
||||
|
||||
extraPythonPackages = (ps: with ps; [ ]);
|
||||
extraPython3Packages = (ps: with ps; [ ]);
|
||||
|
||||
configure = {
|
||||
customRC = builtins.readFile ./vimrc;
|
||||
vam = {
|
||||
knownPlugins = with pkgs; vimPlugins // {
|
||||
delimitMate = vimUtils.buildVimPlugin {
|
||||
name = "delimitMate-vim";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Raimondi";
|
||||
repo = "delimitMate";
|
||||
rev = "728b57a6564c1d2bdfb9b9e0f2f8c5ba3d7e0c5c";
|
||||
sha256 = "0fskm9gz81dk8arcidrm71mv72a7isng1clssqkqn5wnygbiimsn";
|
||||
};
|
||||
buildInputs = [ zip vim ];
|
||||
};
|
||||
|
||||
yaml-folds = vimUtils.buildVimPlugin {
|
||||
name = "vim-yaml-folds";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pedrohdz";
|
||||
repo = "vim-yaml-folds";
|
||||
rev = "0672d9a3b685b51b4c49d8716c2ad4e27cfa5abd";
|
||||
sha256 = "0yp2jgaqiria79lh75fkrs77rw7nk518bq63w9bvyy814i7s4scn";
|
||||
};
|
||||
buildInputs = [ zip vim ];
|
||||
};
|
||||
|
||||
vim-markdown-toc = vimUtils.buildVimPlugin {
|
||||
name = "vim-markdown-toc";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mzlogin";
|
||||
repo = "vim-markdown-toc";
|
||||
rev = "a6e227023f405a7c39590a8aaf0d54dde5614a2e";
|
||||
sha256 = "1vpsnjzc7hvrkp6mq68myxl3k1x363iif58rrd17njcsa4jh1zwy";
|
||||
};
|
||||
};
|
||||
vim-perl = vimUtils.buildVimPlugin {
|
||||
name = "vim-perl";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim-perl";
|
||||
repo = "vim-perl";
|
||||
rev = "21d0a0d795336acf8a9306da35f379c32cfc5e08";
|
||||
sha256 = "0f2sa0v3djd89k16n4saji9n7grziyhkljq75dskcbv8r19m8i1j";
|
||||
};
|
||||
};
|
||||
|
||||
git-blame = vimUtils.buildVimPlugin {
|
||||
name = "git-blame";
|
||||
src = fetchFromGitHub {
|
||||
"owner" = "zivyangll";
|
||||
"repo" = "git-blame.vim";
|
||||
"rev" = "a5b666840eead1b1ea1c351038da6ce026716bb6";
|
||||
"sha256" = "181siphb87yzln9433159ssa6vmm1h2dd0kqhlx7bgsi51gng4rv";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pluginDictionaries = let
|
||||
default = [
|
||||
"delimitMate"
|
||||
"vim-airline"
|
||||
"ctrlp"
|
||||
"vim-css-color"
|
||||
"rainbow_parentheses"
|
||||
"vim-colorschemes"
|
||||
"vim-colorstepper"
|
||||
"vim-signify"
|
||||
"fugitive"
|
||||
"ctrlp"
|
||||
"vim-indent-guides"
|
||||
"UltiSnips"
|
||||
"fzfWrapper"
|
||||
|
||||
"ncm2"
|
||||
"ncm2-bufword"
|
||||
"ncm2-path"
|
||||
"ncm2-tmux"
|
||||
"ncm2-ultisnips"
|
||||
"nvim-yarp"
|
||||
|
||||
"LanguageClient-neovim"
|
||||
|
||||
"Improved-AnsiEsc"
|
||||
"tabular"
|
||||
"git-blame"
|
||||
|
||||
# Nix
|
||||
"vim-addon-nix"
|
||||
"vim-addon-vim2nix"
|
||||
|
||||
# LaTeX
|
||||
"vim-latex-live-preview"
|
||||
"vimtex"
|
||||
|
||||
# YAML
|
||||
"yaml-folds"
|
||||
|
||||
# Perl
|
||||
# "vim-perl"
|
||||
|
||||
|
||||
# markdown
|
||||
"vim-markdown"
|
||||
"vim-markdown-toc"
|
||||
|
||||
# misc syntax support
|
||||
"vim-bazel"
|
||||
];
|
||||
in [
|
||||
{ names = default; }
|
||||
{ names = default ++ [
|
||||
];
|
||||
filename_regex = ".*\.nix\$";
|
||||
}
|
||||
{ names = default ++ [
|
||||
];
|
||||
filename_regex = ".*\.tex\$";
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
246
pkgs-configuration/home-manager/steveej/neovim/vimrc
Normal file
246
pkgs-configuration/home-manager/steveej/neovim/vimrc
Normal file
|
@ -0,0 +1,246 @@
|
|||
set nocompatible
|
||||
set mouse=
|
||||
|
||||
" Enable Elite mode, No ARRRROWWS!!!!
|
||||
let g:elite_mode=1
|
||||
if get(g:, 'elite_mode')
|
||||
nnoremap <Up> :resize +2<CR>
|
||||
nnoremap <Down> :resize -2<CR>
|
||||
nnoremap <Left> :vertical resize +2<CR>
|
||||
nnoremap <Right> :vertical resize -2<CR>
|
||||
endif
|
||||
|
||||
nnoremap <expr>K getline('.')[col('.')-1]==' ' ? "r<CR>" : "i<CR><Esc>"
|
||||
|
||||
" Enable highlighting of the current line
|
||||
set cursorline
|
||||
|
||||
" leader
|
||||
let mapleader = ','
|
||||
let maplocalleader = ','
|
||||
|
||||
" save on ctrl-s
|
||||
nnoremap <c-s> :w<CR>
|
||||
inoremap <c-s> <Esc>:w<CR>
|
||||
|
||||
set hidden
|
||||
syntax on
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set smartcase
|
||||
set number
|
||||
|
||||
" mappings to stop insert mode
|
||||
imap jjj <ESC>
|
||||
imap kkk <ESC>
|
||||
imap lll <ESC>
|
||||
imap hhh <ESC>
|
||||
set scroll=11
|
||||
|
||||
" new mappings
|
||||
noremap <C-j> <C-f>
|
||||
noremap <C-k> <C-u>
|
||||
|
||||
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
|
||||
|
||||
set backspace=indent,eol,start
|
||||
|
||||
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 *.txt,*.tex,*.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
|
||||
" }
|
||||
|
||||
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
|
||||
" }}}
|
||||
|
||||
" YAML {{{
|
||||
augroup ft_yaml
|
||||
au!
|
||||
setlocal autoindent sw=2 et tabstop=2 shiftwidth=2 softtabstop=2
|
||||
augroup END
|
||||
" }}}
|
||||
|
||||
" markdown {
|
||||
augroup filetypedetect
|
||||
" gitit page files
|
||||
au BufRead,BufNewFile *.page set filetype=markdown
|
||||
augroup END
|
||||
|
||||
|
||||
" Cycle between the valid list item markers *, - and + in the TOC
|
||||
let g:vmt_cycle_list_item_markers = 1
|
||||
|
||||
" } markdown
|
||||
|
||||
let g:indent_guides_enable_on_vim_startup = 1
|
||||
|
||||
|
||||
"bazel
|
||||
augroup filetypedetect
|
||||
au BufRead,BufNewFile *.bazel set filetype=bzl
|
||||
augroup END
|
||||
|
||||
"Justfile
|
||||
augroup filetypedetect
|
||||
au BufRead,BufNewFile Justfile set filetype=make
|
||||
augroup END
|
||||
|
||||
|
||||
augroup VCenterCursor
|
||||
au!
|
||||
au BufEnter,WinEnter,WinNew,VimResized *,*.*
|
||||
\ let &scrolloff=winheight(win_getid())/2
|
||||
augroup END
|
||||
|
||||
" " deoplete {
|
||||
" let g:deoplete#enable_at_startup = 1
|
||||
" let g:deoplete#num_processes = 1
|
||||
" let g:deoplete#enable_smart_case = 1
|
||||
"
|
||||
" if !exists('g:deoplete#omni#input_patterns')
|
||||
" let g:deoplete#omni#input_patterns = {}
|
||||
" endif
|
||||
" let g:deoplete#omni#input_patterns.tex = g:vimtex#re#deoplete
|
||||
" " } deoplete
|
||||
|
||||
" enable ncm2 for all buffers
|
||||
autocmd BufEnter * call ncm2#enable_for_buffer()
|
||||
set completeopt=noinsert,menuone,noselect
|
||||
|
||||
" LanguageClient {
|
||||
set hidden
|
||||
|
||||
let g:LanguageClient_serverCommands = {
|
||||
\ 'rust': ['rustup', 'run', 'stable', 'rls'],
|
||||
\ 'javascript.jsx': ['tcp://127.0.0.1:2089'],
|
||||
\ }
|
||||
" \ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'],
|
||||
" \ 'python': ['/usr/local/bin/pyls'],
|
||||
nnoremap <F5> :call LanguageClient_contextMenu()<CR>
|
||||
" Or map each action separately
|
||||
nnoremap <silent> K :call LanguageClient#textDocument_hover()<CR>
|
||||
nnoremap <silent> gd :call LanguageClient#textDocument_definition()<CR>
|
||||
nnoremap <silent> <F2> :call LanguageClient#textDocument_rename()<CR>
|
||||
" }
|
||||
|
||||
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
|
||||
let g:vimtex_fold_enabled = 1
|
||||
let g:vimtex_fold_comments = 1
|
||||
let g:vimtex_fold_preamble = 1
|
||||
let g:vimtex_compiler_latexmk = {
|
||||
\ 'options' : [
|
||||
\ '-shell-escape',
|
||||
\ '-pdf',
|
||||
\ '-verbose',
|
||||
\ '-file-line-error',
|
||||
\ '-synctex=1',
|
||||
\ '-interaction=nonstopmode',
|
||||
\ ],
|
||||
\}
|
||||
let g:vimtex_quickfix_latexlog = {
|
||||
\ 'default' : 1,
|
||||
\ 'general' : 1,
|
||||
\ 'references' : 1,
|
||||
\ 'overfull' : 0,
|
||||
\ 'underfull' : 0,
|
||||
\ 'font' : 0,
|
||||
\ 'packages' : {
|
||||
\ 'default' : 1,
|
||||
\ 'natbib' : 1,
|
||||
\ 'biblatex' : 1,
|
||||
\ 'babel' : 1,
|
||||
\ 'hyperref' : 1,
|
||||
\ 'scrreprt' : 1,
|
||||
\ 'fixltx2e' : 1,
|
||||
\ 'titlesec' : 1,
|
||||
\ },
|
||||
\}
|
||||
|
||||
function! ViewerCallback() dict
|
||||
call self.forward_search(self.out())
|
||||
endfunction
|
||||
let g:vimtex_view_zathura_hook_callback = 'ViewerCallback'
|
||||
let g:vimtex_view_general_callback = 'ViewerCallback'
|
||||
let g:vimtex_compiler_progname = '${pkgs.neovim-remote}/bin/nvr'
|
||||
" } latex
|
||||
|
||||
" terminal {
|
||||
tnoremap <Esc> <C-\><C-n>
|
||||
" } terminal
|
||||
|
||||
" allow per-project vimrc
|
||||
" TODO: only source if it exists
|
||||
" source .vimrc
|
Loading…
Add table
Add a link
Reference in a new issue