-
Notifications
You must be signed in to change notification settings - Fork 0
/
.zshrc
195 lines (153 loc) · 5.2 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# Path to your oh-my-zsh installation.
export ZSH=/Users/lakshmansankar/.oh-my-zsh
# zsh Theme/plugins
ZSH_THEME="robbyrussell"
plugins=(git lein colorize cp)
# basic PATH additions
export PATH="$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
# relaod this file
alias sz="source ~/.zshrc"
# general repos
export REPOS="$HOME/src"
# special cds
alias repos='cd $REPOS'
alias tdoc='cd $REPOS/thought_docs'
alias dotfiles='cd $REPOS/dotfiles'
# git shortcuts
alias gc="git commit"
alias gpr="git pull --rebase"
alias gpush="git push"
alias ghpush="git push heroku master"
alias gd="git diff"
alias gl="git log"
alias gcm="git checkout master"
alias grm="git rebase master"
alias gst='git status'
alias gsh="git show"
alias gb="git branch"
alias gbd="git branch -D"
alias gcb="git checkout -b"
alias ga="git add"
alias gaa="git add -A"
alias grc="git rebase --continue"
alias grh="git reset --hard"
# tig shortcuts
alias tst="tig status"
# tmux shortcuts
alias tls="tmux list-sessions"
alias tattach="tmux attach -t"
alias tnew="tmux new-session -s"
alias tkill="tmux kill-session -t"
# truffle shortcuts
alias tc="truffle compile"
alias tm="truffle migrate"
alias tt="truffle test"
alias tremigrate="sudo rm build/contracts/* && truffle migrate --reset --compile-all"
# docker shortcuts
alias dps="docker ps -a"
alias drm="docker rm"
alias drmi="docker rmi"
alias dcp="docker cp"
alias dcreate="docker create"
alias dstart="docker start"
alias dstop="docker stop"
alias dlogs="docker logs"
alias dpull="docker pull"
alias dpush="docker push"
alias dbuild="docker build"
alias drun="docker run"
alias dinspect="docker inspect"
alias dhistory="docker history"
alias dls="docker image ls"
alias drme="drm $(dps -q)"
alias drmin="docker rmi $(docker images --filter "dangling=true" -q --no-trunc)"
docker_bash() {
docker exec -it $1 /bin/bash
}
alias dbash=docker_bash
# build, run, and log in one go
build_run_log_image() {
docker build -t $1 -f $2 $3 && docker run -it $1
}
alias dbrl=build_run_log_image
# stop and rm container
stop_and_remove_container() {
docker stop $1 && docker rm $1
}
alias dsrm=stop_and_remove_container
# run bash on a running container
docker_run_bash() {
docker exec -it $1 bash
}
alias dbash=docker_run_bash
# increase key repeat rate
defaults write NSGlobalDomain InitialKeyRepeat -int 12
defaults write NSGlobalDomain KeyRepeat -int 1
# to not screw with tmux window names
DISABLE_AUTO_TITLE=true
# Use vim as the editor for git commits, etc.
git config --global core.editor "vim"
alias als="aws s3 ls"
alias acp="aws s3 cp"
alias amv="aws s3 mv"
source $ZSH/oh-my-zsh.sh
# depot_tools is used by chromium
export PATH="$REPOS/depot_tools:$PATH"
# used by haskell stack
export PATH="$HOME/.local/bin:$PATH"
# go
export PATH="$PATH:/usr/local/go/bin"
export GOPATH="$HOME/src/go"
export PATH="$PATH:$GOPATH/bin"
alias gop='cd $GOPATH'
alias gorepos='cd $REPOS/go/src'
alias gogit='cd $REPOS/go/src/github.com'
# python virtualenv-wrapper. default to python3 for everything
#export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
#export WORKON_HOME=$HOME/.virtualenvs
#source /usr/local/bin/virtualenvwrapper.sh
# make openSSL visible to compilers
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# node always in async mode
alias node="node --experimental-repl-await"
source "$HOME/.local_profile"
# for bazel
export PATH="$PATH:$HOME/bin"
alias bazel="bazelisk"
# copy last cmd to system clipboard
alias lc='fc -ln -1 | awk "{\$1=\$1}1" ORS="" | pbcopy'
# use venv python for IPython (requires IPython installed in venv)
alias ipy="python -c 'import IPython; IPython.terminal.ipapp.launch_new_instance()'"
# check available ports alias
pidportfunction() {
lsof -n -i4TCP:$1 | grep LISTEN
}
alias lsp=pidportfunction
# create python experimental space
pythonexperiment() {
mkdir $1 && \
cd $1 && \
mkvirtualenv --python=python3 $1 && \
touch main.py && \
touch test_main.py && \
pip3 install pytest
}
alias pyexp=pythonexperiment
[ -f "/Users/lakshmansankar/.ghcup/env" ] && source "/Users/lakshmansankar/.ghcup/env" # ghcup-env
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
if [ -e /Users/lakshmansankar/.nix-profile/etc/profile.d/nix.sh ]; then . /Users/lakshmansankar/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/lakshmansankar/google-cloud-sdk/path.zsh.inc' ]; then . '/Users/lakshmansankar/google-cloud-sdk/path.zsh.inc'; fi
# The next line enables shell command completion for gcloud.
if [ -f '/Users/lakshmansankar/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/lakshmansankar/google-cloud-sdk/completion.zsh.inc'; fi
# Solana
export PATH="/Users/lakshmansankar/src/solana/solana-1.8.5"/bin:"$PATH"
alias circom2=circom
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
export PATH="$PATH:/Users/lakshmansankar/.foundry/bin"
export DISCORD_TOKEN="OTY2OTg1MDgyOTg2NDYzMjQy.YmJtCQ.PlH0kzJ5fSIXU88NBgFabtrKNXM"
export PATH="/usr/local/opt/libpq/bin:$PATH"