.dotfiles/.zshrc
2020-11-07 14:03:30 +01:00

238 lines
4.3 KiB
Bash

# INITILIZATION ##
# p10k
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
ZSH_THEME="powerlevel10k/powerlevel10k"
## for vxcsrv on wsl
export GOPATH="/home/jim/Sync"
plugins=(
git
npm
zsh-autosuggestions
)
eval `dircolors ~/.dircolors`
# Load oh my zsh
export ZSH=~/.oh-my-zsh
source $ZSH/oh-my-zsh.sh
## FUNCTIONS ##
# Helps navigating Sync directory
function fx(){
cd /home/jim/Sync/
if [ "$1" = "o" ]; then
cd $2
code-insiders .
if [ "$3" = "live" ]; then
command live-server
fi
elif [ "$1" = "w" ]; then
cd /Library/WebServer/Documents/
elif [ "$1" = "s" ]; then
cd $2
fi
}
# Helps navigating wordpress directory
function wp(){
first_dir=${1%/*}
second_dir=${1#*/}
if [ $first_dir = $second_dir ]; then
second_dir=""
fi
if [ $first_dir = "plugins" ]; then
cd "wp-content/plugins"
elif [ $first_dir = "themes" ]; then
cd "wp-content/themes"
fi
if [ $second_dir != "" ]; then
fi
}
# Helps navigating COCO directory
function co(){
cd ~/COCO
openCode=false
if [ "$1" = "o" ]; then
1=$2;
openCode=true
fi
first_dir=${1%/*};
second_dir=${1#*/};
if [ -z $first_dir ]; then
first_dir=""
fi
if [ -z $second_dir ]; then
second_dir=""
fi
if [ ! -v $first_dir ]; then
coco_dir=$(ls | grep $first_dir | head -n 1)
if [ -z "$coco_dir" ]; then
echo "No directory exists for course $first_dir. Create a new one? (y/n)"
read createDir
if [ "$createDir" = "y" ]; then
echo "What should the name be?"
read dirName
dirName=$first_dir"_$dirName"
mkdir $dirName
cd $dirName
echo "Created $dirName"
fi
else
cd $coco_dir
amount=$(find ./* -maxdepth 0 -type d | wc -l)
if [ "$amount" = "1" ]; then
dir=$(find ./* -maxdepth 0 -type d)
cd $dir
fi
fi
if [ $second_dir != $first_dir ]; then
cd $second_dir
fi
fi
if [ $openCode = true ]; then
code-insiders .
fi
}
# Helps with starting stuff
function start(){
serviceName=$1;
if [ $serviceName = "docker" ]; then
dockerStatus="$(service docker status)"
if [ "${dockerStatus#*"not running"}" != "$dockerStatus" ]; then
echo "➜ starting docker"
echo "$(sudo service docker start)"
fi
sleep 0.5
elif [ $serviceName = "mongo" ]; then
start docker
start container mongo
elif [ $serviceName = "dc" ]; then
start docker
echo "➜ starting docker-compose"
dc up -d
elif [ $serviceName = "spring" ]; then
start mongo
echo "➜ starting spring-boot"
mvn spring-boot:run
elif [ $serviceName = "container" ]; then
containerName=$2;
containerInfo="[port:$(docker port $containerName) volume:$(docker inspect -f '{{index (.HostConfig.Binds) 0}}' $containerName)]"
containerIsRunning="$(docker inspect -f '{{.State.Running}}' $containerName 2>/dev/null)"
containerStatus="$(docker inspect -f '{{.State.Status}}' $containerName 2>/dev/null)"
if [ $containerIsRunning = "true" ]; then
echo "$containerName already running $containerInfo"
elif [ $containerStatus = "exited" ]; then
echo "➜ running $containerName $containerInfo"
echo "➜ id:$(sudo docker start $containerName)"
else
echo "➜ container $containerName $containerInfo doesnt exist"
fi
elif [ $serviceName = "dc" ]; then
start docker
echo "➜ starting docker-compose"
dc up -d
fi
}
## LOADING PROGRAMS
export PATH="$PATH:/usr/local/sbin"
export PATH="$PATH:/opt/local/bin"
export PATH="$PATH:/usr/local"
export PATH="$PATH:/usr/local/vcpkg"
export PATH="$PATH:/usr/local/arduino"
export PATH="$PATH:/usr/local/processing"
export PATH="$PATH:$HOME/.yarn/bin"
export PATH="$PATH:$HOME/.local/bin"
export PATH="$PATH:$HOME/go/bin"
eval "$(direnv hook zsh)"
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/home/jim/.sdkman"
[[ -s "/home/jim/.sdkman/bin/sdkman-init.sh" ]] && source "/home/jim/.sdkman/bin/sdkman-init.sh"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Go version manager
[[ -s "/home/jim/.gvm/scripts/gvm" ]] && source "/home/jim/.gvm/scripts/gvm"