#!/bin/zsh
|
|
|
|
if [[ "$(locale LC_CTYPE)" == "UTF-8" ]]; then
|
|
setopt COMBINING_CHARS
|
|
fi
|
|
|
|
# Disable the log builtin, so we don't conflict with /usr/bin/log
|
|
disable log
|
|
|
|
# Save command history
|
|
HISTFILE=${ZDOTDIR:-$HOME}/.zsh_history
|
|
HISTSIZE=99999999
|
|
SAVEHIST=$HISTSIZE
|
|
|
|
# Variables
|
|
export CASE_SENSITIVE="true"
|
|
export EDITOR=nvim
|
|
export GIT_EDITOR=nvim
|
|
export PATH="${HOME}/.local/bin/:${HOME}/go/bin:${HOME}/.cargo/bin:${PATH}"
|
|
|
|
if [[ $(uname) == 'Darwin' ]]; then
|
|
export HOMEBREW_NO_AUTO_UPDATE=1
|
|
|
|
export PATH="/opt/homebrew/lib/ruby/gems/3.3.0:$PATH"
|
|
export PATH="/opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/gems/3.3.0:$PATH"
|
|
|
|
eval "$(rbenv init - zsh)"
|
|
fi
|
|
|
|
# Auto complete case insensitive
|
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
|
|
|
# Load colors
|
|
autoload -U colors && colors
|
|
|
|
# Automatically cd into typed directory.
|
|
setopt autocd
|
|
|
|
# Useful support for interacting with Terminal.app or other terminal programs
|
|
[ -r "/etc/zshrc_$TERM_PROGRAM" ] && . "/etc/zshrc_$TERM_PROGRAM"
|
|
|
|
# Load Git completion
|
|
zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
|
|
fpath=(~/.zsh $fpath)
|
|
|
|
# vi mode
|
|
bindkey -v
|
|
export KEYTIMEOUT=1
|
|
|
|
# Edit line in vim with ctrl-e:
|
|
autoload edit-command-line; zle -N edit-command-line
|
|
bindkey '^e' edit-command-line
|
|
|
|
# Go up directory structures
|
|
up () {
|
|
cd $(printf "%0.0s../" $(seq 1 $1));
|
|
}
|
|
|
|
function cdf () {
|
|
cd $(find . -type d -print | fzf)
|
|
}
|
|
|
|
# Android dev config
|
|
export ANDROID_HOME="$HOME/Android/Sdk"
|
|
if [[ $(uname) == 'Darwin' ]]; then
|
|
export ANDROID_HOME="$HOME/Library/Android/sdk"
|
|
export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"
|
|
fi
|
|
|
|
export PATH="${PATH}:${ANDROID_HOME}/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin"
|
|
|
|
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
|
|
|
|
|
|
# Load external
|
|
source ~/.config/aliasrc
|
|
|
|
source <(fzf --zsh)
|
|
|
|
eval "$(oh-my-posh init zsh --config $HOME/.config/oh-my-posh/zen.toml)"
|