121 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
platform=`uname`
 | 
						|
 | 
						|
# Path to your oh-my-zsh configuration.
 | 
						|
ZSH=$HOME/.zsh
 | 
						|
 | 
						|
# Plugins to enable - they are found in .zsh/plugins
 | 
						|
PLUGINS=(safe-paste)
 | 
						|
 | 
						|
fpath=($fpath $ZSH/func)
 | 
						|
typeset -U fpath
 | 
						|
 | 
						|
is_plugin() {
 | 
						|
  local base_dir=$1
 | 
						|
  local name=$2
 | 
						|
  test -f $base_dir/plugins/$name/$name.plugin.zsh \
 | 
						|
    || test -f $base_dir/plugins/$name/_$name
 | 
						|
}
 | 
						|
 | 
						|
# Add all defined plugins to fpath. This must be done
 | 
						|
# before running compinit.
 | 
						|
for plugin ($PLUGINS); do
 | 
						|
  if is_plugin $ZSH $plugin; then
 | 
						|
    fpath=($ZSH/plugins/$plugin $fpath)
 | 
						|
  fi
 | 
						|
done
 | 
						|
 | 
						|
# Load all of the plugins that were defined in ~/.zshrc
 | 
						|
for plugin ($PLUGINS); do
 | 
						|
  if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
 | 
						|
    source $ZSH/plugins/$plugin/$plugin.plugin.zsh
 | 
						|
  fi
 | 
						|
done
 | 
						|
 | 
						|
# Setup the custom prompt
 | 
						|
setopt promptsubst
 | 
						|
autoload -U promptinit
 | 
						|
promptinit
 | 
						|
prompt grb
 | 
						|
 | 
						|
# Linux specific config
 | 
						|
if [[ $platform == 'Linux' ]]; then
 | 
						|
  # Set caps to ctrl
 | 
						|
  #setxkbmap -option 'caps:ctrl_modifier'
 | 
						|
  # Make caps act as Esc when tapped. Require `xcape` package.
 | 
						|
  #xcape -e 'Caps_Lock=Escape'
 | 
						|
fi
 | 
						|
 | 
						|
# Autoload things before calling compinit
 | 
						|
autoload -Uz compinit
 | 
						|
compinit -i
 | 
						|
 | 
						|
# Never know when you're gonna need to popd!
 | 
						|
setopt AUTO_PUSHD
 | 
						|
 | 
						|
# Allow completing of the remainder of a command
 | 
						|
bindkey "^N" insert-last-word
 | 
						|
 | 
						|
# Show contents of directory after cd-ing into it
 | 
						|
chpwd() {
 | 
						|
  if [[ $platform == 'Linux' ]]; then
 | 
						|
    ls -lrthG --color
 | 
						|
  elif [[ $platform == 'Darwin' ]]; then
 | 
						|
    ls -lG
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
# Save a ton of history
 | 
						|
export HISTSIZE=20000
 | 
						|
export HISTFILE="$HOME/.history"
 | 
						|
export HISTCONTROL=ignoredups
 | 
						|
export SAVEHIST=$HISTSIZE
 | 
						|
setopt appendhistory autocd
 | 
						|
bindkey -e
 | 
						|
 | 
						|
# Unbreak broken, non-colored terminal
 | 
						|
export TERM=xterm-256color
 | 
						|
 | 
						|
# Use vim as the editor
 | 
						|
export EDITOR=vim
 | 
						|
 | 
						|
# Homebrew setup
 | 
						|
export HOMEBREW_NO_ANALYTICS=1
 | 
						|
export HOMEBREW_NO_INSECURE_REDIRECT=1
 | 
						|
export HOMEBREW_CASK_OPTS=--require-sha
 | 
						|
 | 
						|
# Ruby
 | 
						|
export RBENV_PATH="$HOME/.rbenv"
 | 
						|
 | 
						|
# Clojure
 | 
						|
export LEIN_FAST_TRAMPOLINE=y
 | 
						|
 | 
						|
if [ -d "$HOME/.rbenv" ]; then
 | 
						|
  # Start rbenv
 | 
						|
  eval "$(rbenv init -)"
 | 
						|
fi
 | 
						|
 | 
						|
# Set to this to use case-sensitive completion
 | 
						|
# CASE_SENSITIVE="true"
 | 
						|
 | 
						|
# Comment this out to disable weekly auto-update checks
 | 
						|
# DISABLE_AUTO_UPDATE="true"
 | 
						|
 | 
						|
# Uncomment following line if you want to disable colors in ls
 | 
						|
# DISABLE_LS_COLORS="true"
 | 
						|
 | 
						|
# Uncomment following line if you want to disable autosetting terminal title.
 | 
						|
# DISABLE_AUTO_TITLE="true"
 | 
						|
 | 
						|
# Uncomment following line if you want red dots to be displayed while waiting for completion
 | 
						|
# COMPLETION_WAITING_DOTS="true"
 | 
						|
 | 
						|
# Load all of the config files in ~/.zsh that end in .zsh
 | 
						|
source $ZSH/lib/*.zsh
 | 
						|
 | 
						|
# Source my custom files after oh-my-zsh so I can override things.
 | 
						|
test -f $HOME/.env.common && . $HOME/.env.common
 | 
						|
 | 
						|
# Fix <c-h> in neovim
 | 
						|
infocmp $TERM | sed 's/kbs=^[hH]/kbs=\\177/' > $HOME/.$TERM.ti
 | 
						|
tic $HOME/.$TERM.ti
 |