diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
index 4451559..533f1f7 100644
--- a/.config/alacritty/alacritty.yml
+++ b/.config/alacritty/alacritty.yml
@@ -55,7 +55,7 @@ colors:
white: '0xeeeeec'
shell:
- program: /usr/local/bin/tmux
+ program: tmux
alt_send_esc: false
live_config_reload: true
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index aad11c0..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,7 +0,0 @@
-[submodule "plugins/tpm"]
- path = tmux/plugins/tpm
- url = https://github.com/tmux-plugins/tpm.git
-
-[submodule "antigen"]
- path = zsh/antigen
- url = https://github.com/zsh-users/antigen.git
diff --git a/nvim/autoload/pathogen.vim b/nvim/autoload/pathogen.vim
deleted file mode 100644
index 9bfd987..0000000
--- a/nvim/autoload/pathogen.vim
+++ /dev/null
@@ -1,347 +0,0 @@
-" pathogen.vim - path option manipulation
-" Maintainer: Tim Pope
-" Version: 2.3
-
-" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
-"
-" For management of individually installed plugins in ~/.vim/bundle (or
-" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
-" .vimrc is the only other setup necessary.
-"
-" The API is documented inline below.
-
-if exists("g:loaded_pathogen") || &cp
- finish
-endif
-let g:loaded_pathogen = 1
-
-" Point of entry for basic default usage. Give a relative path to invoke
-" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke
-" pathogen#surround(). Curly braces are expanded with pathogen#expand():
-" "bundle/{}" finds all subdirectories inside "bundle" inside all directories
-" in the runtime path.
-function! pathogen#infect(...) abort
- for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}']
- if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]'
- call pathogen#surround(path)
- elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)'
- call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
- call pathogen#surround(path . '/{}')
- elseif path =~# '[{}*]'
- call pathogen#interpose(path)
- else
- call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
- call pathogen#interpose(path . '/{}')
- endif
- endfor
- call pathogen#cycle_filetype()
- if pathogen#is_disabled($MYVIMRC)
- return 'finish'
- endif
- return ''
-endfunction
-
-" Split a path into a list.
-function! pathogen#split(path) abort
- if type(a:path) == type([]) | return a:path | endif
- if empty(a:path) | return [] | endif
- let split = split(a:path,'\\\@]','\\&','')
- endif
-endfunction
-
-" Like findfile(), but hardcoded to use the runtimepath.
-function! pathogen#runtime_findfile(file,count) abort "{{{1
- let rtp = pathogen#join(1,pathogen#split(&rtp))
- let file = findfile(a:file,rtp,a:count)
- if file ==# ''
- return ''
- else
- return fnamemodify(file,':p')
- endif
-endfunction
-
-" Section: Deprecated
-
-function! s:warn(msg) abort
- echohl WarningMsg
- echomsg a:msg
- echohl NONE
-endfunction
-
-" Prepend all subdirectories of path to the rtp, and append all 'after'
-" directories in those subdirectories. Deprecated.
-function! pathogen#runtime_prepend_subdirectories(path) abort
- call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')')
- return pathogen#surround(a:path . pathogen#slash() . '{}')
-endfunction
-
-function! pathogen#incubate(...) abort
- let name = a:0 ? a:1 : 'bundle/{}'
- call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')')
- return pathogen#interpose(name)
-endfunction
-
-" Deprecated alias for pathogen#interpose().
-function! pathogen#runtime_append_all_bundles(...) abort
- if a:0
- call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')')
- else
- call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()')
- endif
- return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}')
-endfunction
-
-if exists(':Vedit')
- finish
-endif
-
-let s:vopen_warning = 0
-
-function! s:find(count,cmd,file,lcd)
- let rtp = pathogen#join(1,pathogen#split(&runtimepath))
- let file = pathogen#runtime_findfile(a:file,a:count)
- if file ==# ''
- return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
- endif
- if !s:vopen_warning
- let s:vopen_warning = 1
- let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE'
- else
- let warning = ''
- endif
- if a:lcd
- let path = file[0:-strlen(a:file)-2]
- execute 'lcd `=path`'
- return a:cmd.' '.pathogen#fnameescape(a:file) . warning
- else
- return a:cmd.' '.pathogen#fnameescape(file) . warning
- endif
-endfunction
-
-function! s:Findcomplete(A,L,P)
- let sep = pathogen#slash()
- let cheats = {
- \'a': 'autoload',
- \'d': 'doc',
- \'f': 'ftplugin',
- \'i': 'indent',
- \'p': 'plugin',
- \'s': 'syntax'}
- if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
- let request = cheats[a:A[0]].a:A[1:-1]
- else
- let request = a:A
- endif
- let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*'
- let found = {}
- for path in pathogen#split(&runtimepath)
- let path = expand(path, ':p')
- let matches = split(glob(path.sep.pattern),"\n")
- call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
- call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
- for match in matches
- let found[match] = 1
- endfor
- endfor
- return sort(keys(found))
-endfunction
-
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(,'edit',,0)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(,'edit',,0)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(,'edit',,1)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(,'split',,1)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(,'vsplit',,1)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(,'tabedit',,1)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(,'pedit',,1)
-command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(,'read',,1)
-
-" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':
diff --git a/nvim/init.vim b/nvim/init.vim
index 6a9e037..10f5dd2 100644
--- a/nvim/init.vim
+++ b/nvim/init.vim
@@ -2,6 +2,8 @@ set nocompatible
filetype off
" Plugins
+" Note: on most systems, this will make the plugins reside in \
+" ~/.local/share/nvim/plugged/
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
if empty(glob(data_dir . '/autoload/plug.vim'))
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
@@ -61,6 +63,13 @@ Plug 'lervag/vimtex'
Plug 'fatih/vim-go'
call plug#end()
+
+" Run PlugInstall if there are missing plugins
+autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
+ \| PlugInstall --sync | source $MYVIMRC
+\| endif
+
+
filetype plugin indent on
set cinkeys-=0#
diff --git a/tmux/.gitignore b/tmux/.gitignore
index 13ff5b6..d51e080 100644
--- a/tmux/.gitignore
+++ b/tmux/.gitignore
@@ -1,5 +1,4 @@
.tmux_config_*
!.tmux_config_*.example
plugins/
-!plugins/tpm
*.log
diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf
index 4a5e450..f76bad9 100644
--- a/tmux/.tmux.conf
+++ b/tmux/.tmux.conf
@@ -76,17 +76,16 @@ set -sg escape-time 10
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
-#set -g @plugin 'tmux-plugins/tmux-sensible'
-#set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/double/blue'
-# Other examples:
-# set -g @plugin 'github_username/plugin_name'
-# set -g @plugin 'git@github.com/user/plugin'
-# set -g @plugin 'git@bitbucket.com/user/plugin'
+setenv -g TMUX_PLUGIN_MANAGER_PATH "$HOME/.tmux/plugins/"
+
+if "test ! -d ~/.tmux/plugins/tpm" \
+ "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && \
+ ~/.tmux/plugins/tpm/bin/install_plugins'"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
-run '~/.tmux/plugins/tpm/tpm || true' # 2>&1 >> /tmp/tpm_out'
+run -b '~/.tmux/plugins/tpm/tpm || true'
diff --git a/tmux/plugins/tpm b/tmux/plugins/tpm
deleted file mode 160000
index b699a7e..0000000
--- a/tmux/plugins/tpm
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b699a7e01c253ffb7818b02d62bce24190ec1019
diff --git a/zsh/.gitignore b/zsh/.gitignore
index 3c2ac79..a41be81 100644
--- a/zsh/.gitignore
+++ b/zsh/.gitignore
@@ -1,3 +1,4 @@
.*_config*
!.*_config*.example
.p10k.mac.zsh
+antigen/
diff --git a/zsh/.zshrc b/zsh/.zshrc
index e8ac5b3..3d0e86d 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -13,7 +13,8 @@ export PATH="$HOME/.local/bin:$PATH"
[[ -f ~/.zsh/.local_config ]] && source ~/.zsh/.local_config
# Load Antidote
-static_file=${ZDOTDIR:-~}/.cache/.zsh_plugins.zsh
+mkdir -p ${ZDOTDIR:-~}/.cache/zsh
+static_file=${ZDOTDIR:-~}/.cache/zsh/.zsh_plugins.zsh
plugins_txt=${ZDOTDIR:-~}/.zsh/.zsh_plugins.txt
# clone antidote if necessary
if ! [[ -e ${ZDOTDIR:-~}/.antidote ]]; then
@@ -32,20 +33,16 @@ bindkey '^q' clear-screen
alias vim=nvim
alias sudo='sudo '
export EDITOR='nvim'
-export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"
-test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
-
-
-PATH="/home/fabian/perl5/bin${PATH:+:${PATH}}"; export PATH;
-PERL5LIB="/home/fabian/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
-PERL_LOCAL_LIB_ROOT="/home/fabian/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
-PERL_MB_OPT="--install_base \"/home/fabian/perl5\""; export PERL_MB_OPT;
-PERL_MM_OPT="INSTALL_BASE=/home/fabian/perl5"; export PERL_MM_OPT;
+#PATH="/home/fabian/perl5/bin${PATH:+:${PATH}}"; export PATH;
+#PERL5LIB="/home/fabian/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
+#PERL_LOCAL_LIB_ROOT="/home/fabian/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
+#PERL_MB_OPT="--install_base \"/home/fabian/perl5\""; export PERL_MB_OPT;
+#PERL_MM_OPT="INSTALL_BASE=/home/fabian/perl5"; export PERL_MM_OPT;
alias ls="ls --color=always"
-export PATH="$PATH:${HOME}/Labor/tls-in-muas/starttls-research/99-Tools:/home/fabian/go/bin"
+#export PATH="$PATH:${HOME}/Labor/tls-in-muas/starttls-research/99-Tools:/home/fabian/go/bin"
# For ccache
-export CCACHE_CPP2=YES
+#export CCACHE_CPP2=YES
delzip() {
unzip -Z -1 "$@" | xargs -I{} rm -rf {}