shell-config is a personal dotfiles repository for shell (bash, zsh and tmux). It is compatible with vcsh-dotfiles.
Part of ek9/dotfiles collection.
Clone via vcsh-dotfiles
:
$ vcsh-dotfiles clone https://github.com/ek9/shell-config
When starting new shell (bash
or zsh
), a new tmux
session should start
automatically. The first time it will start, it will install
[TPM and tmux plugins](#tmux plugins).
- Enables automatic tmux start for all shell sessions (tres to attach to detached sessions first).
- Starts keychain SSH Agent automatically.
- Sets up bash shell with liquidprompt and [oh-my-git][11].
- Sets up zsh shell with [antigen][30], [oh-my-zsh][31] and liquidprompt enabled.
- Sets up tmux with [TPM plugins](#tmux plugins) (note tmux plugin
install must be initialized manually via
Alt+a Shift+I
). - Sets up basic configuration for bash and zsh and allows extending it further by using Directory Structure.
A list of plugins that are enabled in .tmux.conf
:
- TPM
- ek9/tmux-config, ek9/tmux-vim-bindings, ek9/tmux-sessionist
- seebi/tmux-colors-solarized
- tmux-plugins: tmux-yank, tmux-battery, tmux-cpu, tmux-sidebar
- NHDaly/tmux-scroll-copy-mode
XDG directory structure (changes to defaults via .config/user-dirs.dirs
file):
XDG_DESKTOP_DIR
andXDG_DOWNLOAD_DIR
set to$HOME/inbox
.XDG_DOCUMENTS_DIR
set to$HOME/life
XDG_MUSIC_DIR
set to$HOME/share/music
XDG_PICTURES_DIR
set to$HOME/image
XDG_PUBLICSHARE_DIR
set to$HOME/share
XDG_TEMPLATES_DIR
set to$HOME/.local/share/templates
XDG_VIDEOS_DIR
set to$HOME/share/video
Basic directory structure for shell scripts:
.config/bash/config.d
- bash specific.sh
config scripts (autoloaded).config/shell/config.d
- shell agnostic.sh
config scripts (autoloaded).config/shell/profile.d
- shell agnostic.sh
profile environment scripts (autoloaded).config/zsh/config.d
- zsh specific.zsh
config scripts (autoloaded)
- Sets up basic shell scripts to allow customizations via directories
(this makes sure to only load profile scripts on
interactive login/non-login
shells):.profile
- setup to autoload scripts from.config/shell/profile.d
.bashrc
- setup to autoload scripts from.config/shell/config.d/
and.config/bash/config.d
directories for any customizations.bash_profile
- setup to autoload scripts from.config/shell/profile.d
. It also loads.profile
and.bashrc
.zshrc
- setup to autoload scripts from.config/shell/config.d/
and.config/zsh/config.d
directories for any customizations. Has [antigen][30] enabled so the scripts can provide different configurations..bash_profile
- setup to autoload scripts from.config/shell/profile.d
. It also loads.profile
and.bashrc
- Further customizations can be done by providing custom files in any of the basic directories in your own repository.
Copyright (c) 2015-2017 ek9 dev@ek9.co (https://ek9.co).
Licensed under MIT License.