.dotfiles/zsh/.zprofile
2024-05-27 17:58:49 -04:00

74 lines
2 KiB
Bash
Executable file

if [[ -z "$XDG_CONFIG_HOME" ]]; then
export XDG_CONFIG_HOME="$HOME/.config"
fi
if [[ -z "$XDG_CACHE_HOME" ]]; then
export XDG_CACHE_HOME="$HOME/.cache"
fi
if [[ -z "$XDG_DATA_HOME" ]]; then
export XDG_DATA_HOME="$HOME/.local/share"
fi
if [[ -z "$XDG_STATE_HOME" ]]; then
export XDG_STATE_HOME="$HOME/.local/state"
fi
export ITERM_ENABLE_SHELL_INTEGRATION_WITH_TMUX=YES
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# set PATH so it includes user's private ~/.local/bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
chmod -R ug+rwx "$HOME/.local/bin/"
export FZF_DEFAULT_OPTS='--height 40% --layout=reverse --border'
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
# Add Golang to PATH
export GOPATH="$HOME/Documents/projects:$HOME/go"
export PATH="$PATH:$(go env GOPATH)/bin"
# # Function to activate Python virtual environment if found
activate_python_env() {
local env_dir
# env_dir=$(find . -type f -name activate -exec dirname {} \;)
env_dir=$(fd -H -I -t f -d 3 'activate$' | xargs dirname)
if [ -n "$env_dir" ]; then
source "$env_dir/activate"
else
echo "No Python virtual environment found in the current directory or its subdirectories."
fi
}
alias act='activate_python_env'
alias python="python3"
alias vim="nvim"
# alias docker="$HOME/.local/bin/docker_check.sh"
alias tn="tmux new -s $(pwd | sed 's/.*\///g')"
alias cat="bat --paging=never"
alias grep="grep --color=auto"
alias ll="ls -alF"
# set bat to highlight --help messages
alias bathelp='bat --plain --language=help'
help() {
"$@" --help 2>&1 | bathelp
}
# overwriting -h and --help with bat highlights
alias -g -- -h='-h 2>&1 | bat --language=help --style=plain'
alias -g -- --help='--help 2>&1 | bat --language=help --style=plain'