# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH="/Users/yildirimbilgehan/.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="powerlevel9k/powerlevel9k" # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load # a theme from this variable instead of looking in $ZSH/themes/ # If set to an empty array, this variable will have no effect. # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" # Uncomment the following line to use hyphen-insensitive completion. # Case-sensitive completion must be off. _ and - will be interchangeable. # HYPHEN_INSENSITIVE="true" # Uncomment the following line to disable bi-weekly auto-update checks. # DISABLE_AUTO_UPDATE="true" # Uncomment the following line to automatically update without prompting. # DISABLE_UPDATE_PROMPT="true" # Uncomment the following line to change how often to auto-update (in days). # export UPDATE_ZSH_DAYS=13 # Uncomment the following line if pasting URLs and other text is messed up. # DISABLE_MAGIC_FUNCTIONS=true # Uncomment the following line to disable colors in ls. # DISABLE_LS_COLORS="true" # Uncomment the following line to disable auto-setting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment the following line to enable command auto-correction. # ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. # COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories # much, much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" # Uncomment the following line if you want to change the command execution time # stamp shown in the history command output. # You can set one of the optional three formats: # "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # or set a custom format using the strftime function format specifications, # see 'man strftime' for details. # HIST_STAMPS="mm/dd/yyyy" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder # 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 osx zsh-autosuggestions docker zsh-syntax-highlighting iterm2 virtualenv ) zsh_terraform() { # break if there is no .terraform directory if [[ -d .terraform ]]; then local tf_workspace=$(/usr/local/bin/terraform workspace show) echo -n "TF: $tf_workspace" fi } source $ZSH/oh-my-zsh.sh POWERLEVEL9K_MODE='nerdfont-complete' source /usr/local/opt/powerlevel9k/powerlevel9k.zsh-theme POWERLEVEL9K_PROMPT_ON_NEWLINE=true POWERLEVEL9K_PROMPT_ADD_NEWLINE=true POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 POWERLEVEL9K_SHORTEN_STRATEGY="truncate_beginning" POWERLEVEL9K_RVM_BACKGROUND="black" POWERLEVEL9K_RVM_FOREGROUND="249" POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_COLOR="red" POWERLEVEL9K_TIME_BACKGROUND="black" POWERLEVEL9K_TIME_FOREGROUND="249" POWERLEVEL9K_TIME_FORMAT="\UF43A %D{%I:%M \UF133 %d.%m.%y}" POWERLEVEL9K_RVM_BACKGROUND="black" POWERLEVEL9K_RVM_FOREGROUND="249" POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_COLOR="red" POWERLEVEL9K_STATUS_VERBOSE=false POWERLEVEL9K_VCS_CLEAN_FOREGROUND='black' POWERLEVEL9K_VCS_CLEAN_BACKGROUND='green' POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='black' POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='yellow' POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='white' POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='black' POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND='black' POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND='blue' POWERLEVEL9K_FOLDER_ICON='' POWERLEVEL9K_STATUS_OK_IN_NON_VERBOSE=true POWERLEVEL9K_STATUS_VERBOSE=false POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=0 POWERLEVEL9K_VCS_UNTRACKED_ICON='\u25CF' POWERLEVEL9K_VCS_UNSTAGED_ICON='\u00b1' POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON='\u2193' POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON='\u2191' POWERLEVEL9K_VCS_COMMIT_ICON="\uf417" POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%F{blue}\u256D\u2500%f" POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%F{blue}\u2570\uf460%f " POWERLEVEL9K_CUSTOM_BATTERY_STATUS="prompt_zsh_battery_level" POWERLEVEL9K_CUSTOM_TERRAFORM="zsh_terraform" POWERLEVEL9K_CUSTOM_TERRAFORM_BACKGROUND=057 POWERLEVEL9K_CUSTOM_TERRAFORM_FOREGROUND=015 # Prompt Elements POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon ssh root_indicator dir dir_writable vcs custom_terraform) POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status virtualenv load) HIST_STAMPS="dd/mm/yyyy" DISABLE_UPDATE_PROMPT=false ######################################################## PERSONAL ###### Path export PATH="$PATH:/usr/local/bin/:~/bin" export PATH="/usr/local/sbin:$PATH" export PATH="/usr/local/opt/mysql-client/bin:$PATH" export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH" ###### Aliases alias k=kubectl alias tf=terraform ###### Python VIRTUAL_ENV_DISABLE_PROMPT=0 ###### Git Config git config --global push.default current ###### Default editor export EDITOR=/usr/bin/vi ###### GO LANG export GOPATH=~/go export GOFLAGS= export PATH=$PATH:/usr/local/go/bin export GOPRIVATE= export GOPROXY= export GO111MODULE=on ###### Git Auto-Complete [ ! -s "/usr/local/etc/profile.d/bash_completion.sh" ] && brew install bash-completion source "/usr/local/etc/profile.d/bash_completion.sh" ###### Node export NVM_DIR="$HOME/.nvm" [ ! -s "/usr/local/opt/nvm/nvm.sh" ] && brew install nvm . "/usr/local/opt/nvm/nvm.sh" # This loads nvm . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion ###### FZF [ ! -d "/usr/local/opt/fzf/bin" ] && brew install fzf # https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings export FZF_DEFAULT_OPTS='--no-height --no-reverse' export FZF_TMUX=1 export FZF_CTRL_R_OPTS="--sort --exact --preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'" export FZF_CTRL_T_OPTS="--preview '(highlight -O ansi -l {} 2> /dev/null || cat {} || tree -C {}) 2> /dev/null | head -200'" [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh ###### Z . /usr/local/bin/z.sh ###### fd [ ! -s "/usr/local/bin/fd" ] && brew install fd ###### ripgrep [ ! -s "/usr/local/bin/rg" ] && brew install ripgrep ###### bat [ ! -s "/usr/local/bin/bat" ] && brew install bat alias cat='bat' ###### exa [ ! -s "/usr/local/bin/exa" ] && brew install exa alias ls='exa -al'