Clean up zsh rcfiles + add py|rbenv init
* Made PATH initializing smarter * zsh rcfiles are no longer fired twice (thanks to zshenv) * Introduced speculative rb|pyenv support * General cleanup all around
This commit is contained in:
parent
5976d3341f
commit
91ebf6e21f
10
zsh/aliases
10
zsh/aliases
|
@ -30,6 +30,7 @@ alias va='vagrant'
|
||||||
|
|
||||||
# Interpreters
|
# Interpreters
|
||||||
command_exists "ruby" && alias rb='ruby'
|
command_exists "ruby" && alias rb='ruby'
|
||||||
|
command_exists "rbenv" && alias re='rbenv'
|
||||||
command_exists "python" && alias py='python'
|
command_exists "python" && alias py='python'
|
||||||
command_exists "node" && alias js='node'
|
command_exists "node" && alias js='node'
|
||||||
if [ -e /Applications/love.app ]; then
|
if [ -e /Applications/love.app ]; then
|
||||||
|
@ -55,16 +56,10 @@ alias wget='wget -c'
|
||||||
alias sudo='sudo '
|
alias sudo='sudo '
|
||||||
|
|
||||||
if is_linux; then
|
if is_linux; then
|
||||||
|
|
||||||
alias ls='ls --color'
|
alias ls='ls --color'
|
||||||
|
|
||||||
# iptables
|
|
||||||
alias ipt='sudo iptables'
|
alias ipt='sudo iptables'
|
||||||
|
|
||||||
elif is_mac; then
|
elif is_mac; then
|
||||||
|
|
||||||
alias ls='ls -G'
|
alias ls='ls -G'
|
||||||
|
|
||||||
alias b='brew'
|
alias b='brew'
|
||||||
alias ql='quicklook'
|
alias ql='quicklook'
|
||||||
|
|
||||||
|
@ -75,7 +70,6 @@ elif is_mac; then
|
||||||
open "$@"
|
open "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias v="vim"
|
alias v="vim"
|
||||||
|
@ -85,5 +79,7 @@ function mkd {
|
||||||
mkdir "$@" && cd "$@"
|
mkdir "$@" && cd "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
alias reload='exec $SHELL -l'
|
||||||
|
alias c='clear'
|
||||||
|
|
||||||
# vim:set ft=zsh:
|
# vim:set ft=zsh:
|
||||||
|
|
10
zsh/config
10
zsh/config
|
@ -73,4 +73,14 @@ if is_mac; then
|
||||||
zle -N zle-keymap-select
|
zle -N zle-keymap-select
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
autoload colors
|
||||||
|
if [[ "$terminfo[colors]" -gt 8 ]]; then
|
||||||
|
colors
|
||||||
|
fi
|
||||||
|
for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do
|
||||||
|
eval $COLOR='$fg_no_bold[${(L)COLOR}]'
|
||||||
|
eval BOLD_$COLOR='$fg_bold[${(L)COLOR}]'
|
||||||
|
done
|
||||||
|
eval RESET='$reset_color'
|
||||||
|
|
||||||
# vim:set ft=zsh:
|
# vim:set ft=zsh:
|
||||||
|
|
|
@ -17,37 +17,6 @@ function is_linux {
|
||||||
[[ $(uname) == 'Linux' ]]
|
[[ $(uname) == 'Linux' ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
# Package management aliases
|
|
||||||
function pkg_install() {
|
|
||||||
if is_mac; then
|
|
||||||
brew install $1
|
|
||||||
elif is_deb; then
|
|
||||||
sudo apt-get -y install $1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function pkg_remove() {
|
|
||||||
if is_mac; then
|
|
||||||
brew remove $1
|
|
||||||
elif is_deb; then
|
|
||||||
sudo apt-get -y remove $1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function pkg_update() {
|
|
||||||
if is_mac; then
|
|
||||||
brew update && brew upgrade
|
|
||||||
elif is_deb; then
|
|
||||||
sudo apt-get update && sudo apt-get upgrade
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ask for admin password up front and keep sudo alive until the end of the script
|
|
||||||
function keep_alive {
|
|
||||||
sudo -v
|
|
||||||
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
|
|
||||||
}
|
|
||||||
|
|
||||||
# Extract a compressed file with the appropriate command
|
# Extract a compressed file with the appropriate command
|
||||||
function unpack {
|
function unpack {
|
||||||
if [ -f "$1" ]; then
|
if [ -f "$1" ]; then
|
||||||
|
@ -88,13 +57,4 @@ if is_mac; then
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Output functions
|
|
||||||
function echo_g {
|
|
||||||
echo -e "\e[0;32m$1\e[m"
|
|
||||||
}
|
|
||||||
|
|
||||||
function echo_r {
|
|
||||||
echo -e "\e[0;31m$1\e[m"
|
|
||||||
}
|
|
||||||
|
|
||||||
# vim:set ft=zsh:
|
# vim:set ft=zsh:
|
||||||
|
|
46
zsh/paths
46
zsh/paths
|
@ -1,22 +1,40 @@
|
||||||
if [ -e /usr/local/bin/brew ]; then
|
|
||||||
BREWDIR=`/usr/local/bin/brew --prefix`
|
|
||||||
|
|
||||||
PATH=$BREWDIR/sbin:$PATH
|
function _init_paths {
|
||||||
PATH=$BREWDIR/bin:$PATH
|
export PATH=/usr/bin:/bin:/usr/sbin
|
||||||
|
|
||||||
COREUTIL=`$BREWDIR/bin/brew --prefix coreutils`
|
# Setup homebrew paths
|
||||||
if [ -d "$COREUTIL" ]; then
|
if [ -e /usr/local/bin/brew ]; then
|
||||||
PATH=$COREUTIL/libexec/bin/gnubin:$PATH
|
local BREWDIR=`/usr/local/bin/brew --prefix`
|
||||||
|
|
||||||
|
PATH=$BREWDIR/bin:$PATH
|
||||||
|
|
||||||
|
local COREUTILS=`brew --prefix coreutils`
|
||||||
|
if [ -d "$COREUTILS" ]; then
|
||||||
|
PATH="$COREUTILS/libexec/gnubin:$PATH"
|
||||||
|
MANPATH="$COREUTILS/libexec/gnuman:$MANPATH"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
|
||||||
# rbenv paths
|
# rb/pyenv paths
|
||||||
[ -d $HOME/.rbenv ] && PATH=$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH
|
local RBENV_DIR="`brew --prefix rbenv`"
|
||||||
|
local PYENV_DIR="`brew --prefix pyenv`"
|
||||||
|
if [ -d "$RBENV_DIR" ]; then
|
||||||
|
PATH=$RBENV_DIR/bin:$PATH
|
||||||
|
export RBENV_ROOT=$RBENV_DIR
|
||||||
|
fi
|
||||||
|
if [ -d "$PYENV_DIR" ]; then
|
||||||
|
PATH=$PYENV_DIR/bin:$PATH
|
||||||
|
export PYENV_ROOT=$PYENV_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
# hostname-specific bins
|
# hostname-specific bins
|
||||||
[ -d $HOME/.dotfiles/bin/`hostname` ] && PATH=$HOME/.dotfiles/bin/`hostname`:$PATH
|
[ -d $HOME/.dotfiles/bin/`hostname` ] && PATH=$HOME/.dotfiles/bin/`hostname`:$PATH
|
||||||
|
|
||||||
# global bins
|
# global bins
|
||||||
PATH=$HOME/.dotfiles/bin:$PATH
|
PATH=$HOME/.dotfiles/bin:$PATH
|
||||||
|
}
|
||||||
|
|
||||||
|
_init_paths
|
||||||
|
unset -f _init_paths
|
||||||
|
|
||||||
# vim:set ft=zsh:
|
# vim:set ft=zsh:
|
||||||
|
|
20
zsh/prompt
20
zsh/prompt
|
@ -8,7 +8,7 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}+%{$fg[white]%}"
|
||||||
# Build Prompt #
|
# Build Prompt #
|
||||||
##################
|
##################
|
||||||
|
|
||||||
function prompt_pwd {
|
function _prompt_pwd {
|
||||||
SHORTPWD=`print -Pn "%4~"`
|
SHORTPWD=`print -Pn "%4~"`
|
||||||
|
|
||||||
if [[ -n "${ZSH_VERSION:-}" ]]
|
if [[ -n "${ZSH_VERSION:-}" ]]
|
||||||
|
@ -21,11 +21,11 @@ function prompt_pwd {
|
||||||
echo -n $SHORTPWD
|
echo -n $SHORTPWD
|
||||||
}
|
}
|
||||||
|
|
||||||
function prompt_git {
|
function _prompt_git {
|
||||||
[ "`git_prompt_info`" ] && echo -n "$(git_prompt_info)"
|
[ "`git_prompt_info`" ] && echo -n "$(git_prompt_info)"
|
||||||
}
|
}
|
||||||
|
|
||||||
function prompt_vimode {
|
function _prompt_vimode {
|
||||||
# The prompt turns green in command mode, and red in insert mode
|
# The prompt turns green in command mode, and red in insert mode
|
||||||
PROMPT="$"
|
PROMPT="$"
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ function prompt_vimode {
|
||||||
}
|
}
|
||||||
|
|
||||||
# prompts
|
# prompts
|
||||||
function lprompt {
|
function _lprompt {
|
||||||
# Start each prompt with a newline
|
# Start each prompt with a newline
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
@ -54,22 +54,22 @@ function lprompt {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Print the prompt
|
# Print the prompt
|
||||||
echo -n '%{$fg[red]%}%{$FX[bold]%}$(prompt_vimode)%{$reset_color%}'
|
echo -n '%{$fg[red]%}%{$FX[bold]%}$(_prompt_vimode)%{$reset_color%}'
|
||||||
}
|
}
|
||||||
|
|
||||||
function rprompt {
|
function _rprompt {
|
||||||
# Make the rprompt a bright grey to set it apart
|
# Make the rprompt a bright grey to set it apart
|
||||||
echo -n "%{$FG[245]%}"
|
echo -n "%{$FG[245]%}"
|
||||||
echo -n '$(prompt_pwd)'
|
echo -n '$(_prompt_pwd)'
|
||||||
|
|
||||||
# Show the branch/status if in a git repo
|
# Show the branch/status if in a git repo
|
||||||
echo -n '$(prompt_git)'
|
echo -n '$(_prompt_git)'
|
||||||
|
|
||||||
# Reset formatting for command output
|
# Reset formatting for command output
|
||||||
echo -n "%{$reset_color%}"
|
echo -n "%{$reset_color%}"
|
||||||
}
|
}
|
||||||
|
|
||||||
PROMPT="$(lprompt)"
|
PROMPT="$(_lprompt)"
|
||||||
RPROMPT="$(rprompt)"
|
RPROMPT="$(_rprompt)"
|
||||||
|
|
||||||
# vim:set ft=zsh:
|
# vim:set ft=zsh:
|
||||||
|
|
8
zshenv
8
zshenv
|
@ -1,3 +1,5 @@
|
||||||
source ~/.zsh/functions
|
if [ -z ${ZSH_INIT+x} ]; then
|
||||||
source ~/.zsh/aliases
|
source ~/.zsh/functions
|
||||||
source ~/.zsh/paths
|
source ~/.zsh/aliases
|
||||||
|
source ~/.zsh/paths
|
||||||
|
fi
|
||||||
|
|
5
zshrc
5
zshrc
|
@ -1,4 +1,5 @@
|
||||||
# ZSH Env variables
|
# ZSH Env variables
|
||||||
|
export ZSH_INIT=1
|
||||||
export ZSH=$HOME/.oh-my-zsh
|
export ZSH=$HOME/.oh-my-zsh
|
||||||
|
|
||||||
source ~/.zsh/functions
|
source ~/.zsh/functions
|
||||||
|
@ -24,3 +25,7 @@ source ~/.zsh/prompt
|
||||||
|
|
||||||
# Have a system specific rcfile? Source it!
|
# Have a system specific rcfile? Source it!
|
||||||
[ -f ~/.localrc ] && source ~/.localrc
|
[ -f ~/.localrc ] && source ~/.localrc
|
||||||
|
|
||||||
|
# Init rbenv & pyenv
|
||||||
|
command_exists rbenv && eval "$(rbenv init -)"
|
||||||
|
command_exists pyenv && eval "$(pyenv init -)"
|
||||||
|
|
Loading…
Reference in a new issue