Skip to content

Instantly share code, notes, and snippets.

@dineshbhagat
Last active June 21, 2023 17:50
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dineshbhagat/a4bdff5c011957f9950b9bebed7f5e30 to your computer and use it in GitHub Desktop.
Save dineshbhagat/a4bdff5c011957f9950b9bebed7f5e30 to your computer and use it in GitHub Desktop.
Shell script to configure iterm2 with oh-my-z, nerd font, powerlevel10k
brew install zsh;
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)";
cd $ZSH/custom/plugins;
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git && git clone https://github.com/zsh-users/zsh-autosuggestions && git clone https://github.com/zsh-users/zsh-completions;
# from now on your default shell is zsh, customize by editing ~/.zshrc file
brew tap homebrew/cask-fonts;
brew install --cask font-hack-nerd-font;
brew install coreutils
cd ~/Desktop;
# clone
git clone https://github.com/powerline/fonts.git --depth=1;
# install
cd fonts;
./install.sh;
# clean-up a bit
cd ..;
rm -rf fonts;
#git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k;
brew install powerlevel10k
# terminal file browser
brew install nnn
# change fonts for iterm2: iTerm2 -> Preferences -> Profiles -> Text -> Font -> Tick Use a different font for non-ASCII text -> Non-ASCII Font -> Change Font to hack-nerd
# Update Ruby
brew install rbenv
rbenv init
brew install rbenv ruby-build
# Install Ruby
rbenv install 2.7.2
rbenv global 2.7.2
ruby -v
# faster than colorls
brew install lsd;
# install following gem
#sudo gem install colorls;
rbenv rehash
#update ~/.zshrc file as below
cat <<"EOT" >> ~/.zshrc
export TERM="xterm-256color"
export ZSH="/Users/${USER}/.oh-my-zsh"
ZSH_THEME="powerlevel10k/powerlevel10k"
#######################################################################################
export LC_ALL=en_US.UTF-8
HIST_STAMPS="mm/dd/yyyy"
plugins=(
git zsh-syntax-highlighting zsh-autosuggestions zsh-completions osx jsontools mvn
)
source $ZSH/oh-my-zsh.sh
fpath=(/usr/local/share/zsh-completions $fpath)
#######################################################################################
### Fix slowness of pastes with zsh-syntax-highlighting.zsh
pasteinit() {
OLD_SELF_INSERT=${${(s.:.)widgets[self-insert]}[2,3]}
zle -N self-insert url-quote-magic # I wonder if you'd need `.url-quote-magic`?
}
pastefinish() {
zle -N self-insert $OLD_SELF_INSERT
}
zstyle :bracketed-paste-magic paste-init pasteinit
zstyle :bracketed-paste-magic paste-finish pastefinish
source $ZSH/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
### Fix slowness of pastes
##################################### User customized #############################################
alias startmysql="mysql.server start"
alias brewski="brew outdated && brew update && brew upgrade && brew cleanup; brew doctor"
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
alias sqldeveloper="/Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh; exit"
alias jd="java -jar /Users/${USER}/standalone/Bytecode-Viewer-2.9.22.jar"
export GOPATH="${HOME}/go-workspace"
export GOROOT="$(brew --prefix golang)/libexec"
export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"
export GROOVY_HOME=/usr/local/opt/groovy/libexec
java14()
{
export JAVA_HOME=~/standalone/jdk-14.0.1+7/Contents/Home
export PATH=${JAVA_HOME}/bin:$PATH
java -version
}
#export GRADLE_HOME=$(brew --prefix gradle)/libexec
#export PATH=$PATH:${GRADLE_HOME}/bin
#export GRADLE_JARS=~/.gradle/caches/modules-2/files-2.1
#export M2_HOME=$(brew --prefix maven)/libexec
#export PATH=$PATH:${M2_HOME}/bin
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
#git shorcuts
alias gitlog="git log --graph --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset' --date=short"
# commented following line since its disabling $ls color output
#PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"
#usage box 10.1.1.1
function box() {
ssh <ssh-username>@$1
}
alias stopnginx="nginx -s stop"
alias urld='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'
alias urle='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"'
alias jshell="~/standalone/jdk-14.0.1+7/Contents/Home/bin/jshell --enable-preview"
alias ojava="~/standalone/jdk-14.0.1+7/Contents/Home/bin/java"
export kafka=~/standalone/kafka_2.11-2.1.0
alias startkafka="$kafka/bin/kafka-server-start.sh $kafka/config/server.properties"
alias startzoo="$kafka/bin/zookeeper-server-start.sh $kafka/config/zookeeper.properties"
alias stopkafka="$kafka/bin/kafka-server-stop.sh"
alias stopzoo="$kafka/bin/zookeeper-server-stop.sh"
alias startmongo="mongod --config /usr/local/etc/mongod.conf"
alias redis="redis-server /usr/local/etc/redis.conf"
alias haproxy="haproxy -f /usr/local/etc/haproxy.cfg"
alias neo4jst="neo4j start"
alias neo4jsp="neo4j stop"
alias elastic="elasticsearch"
#alias kibana="kibana"
#alias logstash="logstash"
alias grafana="grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana --packaging=brew cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins"
alias startc="~/standalone/apache-cassandra-4.0-beta1/bin/cassandra -f"
alias stconsul="consul agent -dev -bind 127.0.0.1"
export gradleArtifactPath="~/.gradle/caches/modules-2/files-2.1"
export graalHome=~/standalone/graalvm-ce-1.0.0-rc11/Contents/Home/bin
alias gjavac="$graalHome/javac"
alias gjava="$graalHome/java"
export PATH=$graalHome/bin:$PATH
######################### This line should be last in file else ll command is giving trouble ########################################
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
alias ll='lsd -la'
alias ls='lsd'
alias nnn='nnn -de'
bindkey '^`' autosuggest-clear
# embedded-terminal intelliJ idea
bindkey "\e\eOD" backward-word
bindkey "\e\eOC" forward-word
################################ .zshrc file end #################################
EOT
sudo chown -R $(whoami) /usr/local/share/zsh /usr/local/share/zsh/site-functions
chmod u+w /usr/local/share/zsh /usr/local/share/zsh/site-functions
source ~/.zshrc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment