# ==== Homebrew Apple M1/Intel fixing of $PATH if [ -d /opt/homebrew ]; then eval "$(/opt/homebrew/bin/brew shellenv)" elif [ -d /usr/local/Homebrew ]; then eval "$(/usr/local/Homebrew/bin/brew shellenv)" fi # defaultscheme "exfxcxdxbxegedabagacad" export CLICOLOR=1 # Mac OS custorm colors (not LS_COLORS as unix) export LSCOLORS=gxfxcxdxbxegedabagacad # Unix/Bash Readline custom colors export LS_COLORS=$LS_COLORS:"di=00;36:ln=00;35:ex=00;31" export HISTSIZE=2000 # History size export IGNOREEOF=42 # Ignore Ctrl+D logout terminal session export HISTCONTROL=erasedups # remove consecutive history entries export EDITOR='vim' # Default editor export TERM="xterm-256color" export GREP_OPTIONS="--color=auto" export HOMEBREW_GITHUB_API_TOKEN="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" export PS1="[a14m] \W \$ " export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export GPG_TTY=$(tty) unset SSH_AGENT_PID export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) export BASH_SILENCE_DEPRECATION_WARNING=1 # Silence new macOS warning about bash export USE_GKE_GCLOUD_AUTH_PLUGIN=True # ==== Aliases alias wttr='curl http://wttr.in/berlin' alias la='ls -a' alias srv="python3 -m http.server" # start simple server alias tagme='ctags -R --languages=ruby --exclude=.git --exclude=log . $(bundle list --paths)' alias skipci='git commit --allow-empty -m "--skip-ci"' alias gpgkill='( pkill pinentry-tty pkill pinentry-curses gpg-connect-agent killagent /bye gpg-connect-agent updatestartuptty /bye gpg-connect-agent /bye )' # alias g='git' # # look up the original completion command and replace the last with the alias # complete -o bashdefault -o default -o nospace -F __git_wrap__git_main g # ==== Functions # get app ID to add to amethyst (apps have to be running) function appid { codesign -dr - "$@" } # ==== Aliased Directories alias rc="cd ~/.rc" alias spc="cd ~/Work/Space/" alias mb="cd ~/Work/MBition/" alias htb="cd ~/Work/HTB/" alias otw="cd ~/Work/OTW/" alias obs="cd ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Vault/MBition/" if command -v neomutt 1>/dev/null 2>&1; then # Fixes the pinentry-tty error https://github.com/neomutt/neomutt/issues/1014 alias mutt='PINENTRY_USER_DATA=curses neomutt $@' fi # ==== go config. if command -v go 1>/dev/null 2>&1; then export PATH="$HOME/go/bin:$PATH" fi # ==== rbenv config. if command -v rbenv 1>/dev/null 2>&1; then export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" fi # ==== pyenv config (and virtualenv) if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init --path)" eval "$(pyenv init -)" export PIPENV_VENV_IN_PROJECT=1 export PATH="$HOME/.local/bin:$PATH" fi # ==== Rust config if [ -f $HOME/.cargo/env ]; then source "$HOME/.cargo/env" fi # ==== NVM config # node version manager from homebrew ,the source line to move install location # and prevent Node installs being lost upon upgrading nvm. if [ -d $HOME/.nvm ]; then export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh fi # ==== MISC config if command -v thefuck 1>/dev/null 2>&1; then # allow fuck to be alias of thefuck eval $(thefuck --alias) fi # ==== Vault completeion if command -v vault 1>/dev/null 2>&1; then complete -C $(brew --prefix)/bin/vault vault fi # ==== Generate helm autocomplete stuff when it's not there if command -v helm 1>/dev/null 2>&1; then if [ ! -f $(brew --prefix)/etc/bash_completion.d/helm ]; then helm completion bash > $(brew --prefix)/etc/bash_completion.d/helm fi fi # ==== Generate podman completion script when it's not there if command -v podman 1>/dev/null 2>&1; then if [ ! -f $(brew --prefix)/etc/bash_completion.d/podman ]; then podman completion bash > $(brew --prefix)/etc/bash_completion.d/podman fi fi # ==== k8s/ktx/kns completeion if command -v kubectl 1>/dev/null 2>&1; then alias k='kubectl' complete -F __start_kubectl k alias ktx='kubectx' complete -F _kube_contexts ktx alias kns='kubens' complete -F _kube_namespaces kns fi # ==== load all bash completions if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi # ==== MISC CowSay fortune | cowsay | lolcat # ==== Work config =========================================================== # ==== JAVA config if command -v java 1>/dev/null 2>&1; then export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH" export PATH="/opt/homebrew/opt/gradle@6/bin:$PATH" fi # ==== JFrog CLI config if command -v jf 1>/dev/null 2>&1; then _jfrog() { local cur opts base COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion ) COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) } complete -F _jfrog -o default jfrog complete -F _jfrog -o default jf fi # ==== CLang and Sphinx doc config if command -v clang-format 1>/dev/null 2>&1; then export PATH="/opt/homebrew/opt/sphinx-doc/bin:$PATH" fi