This is the base system that I put onto any machine on which I am developing. It includes config files for:
- bspwm (tiling window manager)
- sxhkd (X hotkey daemon)
- Xdefaults
- tmux (terminal multiplexer)
- zsh (shell)
- vim or neovim (editors)
- powerline (status line for tmux)
- git (version control)
Colours are Solarized Dark slightly altered to make the dark background colours a little darker.
Unpackaged software, or software that is newer than packaged versions, is managed with ghq and includes the following repositories:
- st
- zsh
- zsh-git-prompt (prompt for zsh including git status)
- neovim
- tmux and libevent
- bspwm
- sxhkd
- git
- diff-so-fancy (better git diffs)
- tig (git viewer)
- caps2esc (make capslock useful)
- xdotool (automate X input)
- Clipit (clipboard manager)
- urlview (extract URLs from text)
- shellcheck (shell linter)
- fzf (fuzzy finder)
- PathPicker (file selector)
- htop (better top)
- hosts (safe hosts file)
The zsh config uses zplug and the following plugins:
- zsh-completions (extra completions)
- zsh-syntax-highlighting (highlighting on the command line)
- zsh-dwim (predict next command with ^U)
- git-extras (additional git commands)
The vim config uses vim-plug and the following plugins:
- ale (syntax checking)
- clever-f (extends f and t)
- ctrlp-extensions (cmdline, yank and menu for ctrlp)
- ctrlp (fuzzy finder)
- deoplete (completion)
- diffchar (show diffs by character)
- gitv (gitk-alike)
- godown-vim (show markdown in browser as it is edited)
- incsearch-fuzzy (fuzzy search)
- incsearch (show all matches on incsearch)
- neco-syntax (for use with deoplete)
- neovim-colors-solarized-truecolor-only (my version of truecolour solarized colours)
- nerdtree-git-plugin (show git status against files)
- nerdtree (file tree)
- nginx (nginx syntax)
- nvim-miniyank (yankring)
- quickfix-reflector (edit text in quickfix window)
- salt-vim (salt syntax)
- sideways (operate on arglists)
- sparkup (HTML helper)
- supertab (tab completion)
- tagbar (display tags)
- targets (add * | and _ targets)
- tmux-complete (completion from tmux buffers)
- ultisnips (snippets)
- undotree (undo tree management)
- unicode (unicode table, search, complete)
- vim-abolish (handle word variants)
- vim-airline (status line)
- vim-airline-themes (status line themes)
- vim-argwrap (wrap multiline args)
- vim-autoswap (deal with swap files intelligently)
- vim-closetag (close tags)
- vim-commentary (code comments)
- vim-css-color (add colour to descriptions)
- vim-diff-enhanced (change diff algorithm)
- vim-dispatch (asynchronous jobs)
- vim-easy-align (vertical alignment)
- vim-eunuch (unix commands)
- vim-fetch (use line numbers in file paths)
- vim-fugitive-blame-ext (extend :Gblame)
- vim-fugitive (work with git)
- vim-gitgutter (show git changes in gutter)
- vim-gutentags (generate tags dynamically)
- vim-indent-guides (guidelines for indentation)
- vim-interestingwords (highlighting and navigation)
- vim-lion (alignment)
- vim-matchit (extended % matching)
- vim-polyglot (extra syntax files)
- vim-repeat (make . work more often)
- vim-schlepp (move blocks of text)
- vim-searchindex (show m/n for searches)
- vim-search-pulse (pulse on search)
- vim-signature (show marks)
- vim-snippets (snippets)
- vim-surround (manage surrounding characters)
- vim-sxhkdrc (syntax highlighting)
- vim-tmux (tmux syntax highlighting and more)
- vitality (focus lost and gained inside tmux)
- vim-perl (perl functionality)
- vim-perl6 (perl6 functionality)
- perlomni (perl omni completion)
- vim-shortcut (describe shortcuts)
- fzf (fuzzy finder)
- denite (ctrl-p-like interface)
- denite-extra (extra sources)
- unite (for legacy sources)
- neomru (MRU for unite)
- unite-git (git in unite)
- unite-outline (outline for unite)
- unite-perl-module (integrate Perl modules into unite)