-
Notifications
You must be signed in to change notification settings - Fork 2
/
.zshrc
95 lines (77 loc) · 3.03 KB
/
.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#######################################
# Get PATH sorted out
#######################################
export PYENV_BIN="$HOME/.pyenv/bin"
export POETRY_BIN="$HOME/.poetry/bin"
export CUSTOM_BIN="$HOME/Documents/GitHub/toolz/bin"
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export ARC_BIN="$HOME/Documents/GitHub/arcanist/bin/"
export PATH="$PYENV_BIN:$POETRY_BIN:$CUSTOM_BIN:$ARC_BIN:$PATH"
#######################################
# Setup ZSH
#######################################
export ZSH="$HOME/.oh-my-zsh"
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="agnoster"
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git colored-man-pages)
source $ZSH/oh-my-zsh.sh
#######################################
# Other Shell Things
#######################################
# Ignore duplicate commands in the history
export HISTCONTROL=ignoredups
# Increase the maximum number of lines contained in the history file
# (default is 500)
export HISTFILESIZE=10000
# Increase the maximum number of commands to remember
# (default is 500)
export HISTSIZE=10000
# Make new shells get the history lines from all previous
# shells instead of the default "last window closed" history
export PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
# Add tab completion for many Bash commands
if which brew &> /dev/null && [ -f "$(brew --prefix)/share/bash-completion/bash_completion" ]; then
source "$(brew --prefix)/share/bash-completion/bash_completion";
elif [ -f /etc/bash_completion ]; then
source /etc/bash_completion;
fi;
# Add tab completion for SSH hostnames based on ~/.ssh/config, ignoring wildcards
[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh;
#######################################
# Setup Homebrew
#######################################
# export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_ANALYTICS=1
#######################################
# Setup PYENV
#######################################
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
#######################################
# Setup DIRENV
#######################################
if command -v direnv 1>/dev/null 2>&1; then
eval "$(direnv hook bash)"
fi
#######################################
# Setup PEW
#######################################
if command -v pew 1>/dev/null 2>&1; then
source "$(pew shell_config)"
fi
#######################################
# Custom Aliases/Functions
#######################################
. ~/.aliases
. ~/.functions
printf "$(artii -f shadow "Welcome, $(hostname -f | sed -e 's/.local//')")\n$(neofetch)" | lolcat