diff --git a/bash/.bash/aliases.bash b/bash/.bash/aliases.bash index e6b8239..df4c385 100644 --- a/bash/.bash/aliases.bash +++ b/bash/.bash/aliases.bash @@ -2,6 +2,7 @@ if [ $(uname) == "Darwin" ]; then alias ls="ls -FG" alias code="code-insiders" + alias flushdns="sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder" else alias ls="ls -F --color=auto" fi diff --git a/bash/.bash/completions.bash b/bash/.bash/completions.bash new file mode 100644 index 0000000..ba50e47 --- /dev/null +++ b/bash/.bash/completions.bash @@ -0,0 +1,2 @@ +# SSH completion based on ssh config +[ -e "$HOME/.ssh/config" ] && complete -o "default" -o "nospace" -W "$(grep "^Host" ~/.ssh/config | grep -v "[?*]" | cut -d " " -f2- | tr ' ' '\n')" scp sftp ssh; diff --git a/bash/.bash/exports.bash b/bash/.bash/exports.bash new file mode 100644 index 0000000..9c22215 --- /dev/null +++ b/bash/.bash/exports.bash @@ -0,0 +1,39 @@ +# Prompt +export PS1="\[\e[0;90m\][\[\e[0;37m\]\u\[\e[0;37m\]@\[\e[0;37m\]\H\[\e[0;90m\]] \[\e[0;90m\](\[\e[0;37m\]\W\[\e[0;90m\]) \[\e[0;37m\]\$\[\e[0m\] " + +# User specific environment and startup programs +export TZ=GB +export LANG=en_GB.UTF-8 + +# Make a sensible editor choice +if [ -x /usr/bin/nano ]; then + export EDITOR=nano + export VISUAL=nano +else + export EDITOR=vi + export VISUAL=vi +fi + +# Go stuff +if [ -d /usr/local/go ]; then + export GOROOT=/usr/local/go/ + export GOPATH=$HOME/go/ + export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin +fi + +# OSX Specific envs +if [ $(uname) == "Darwin" ]; then + # Shhh Catlina, we don't care! + export BASH_SILENCE_DEPRECATION_WARNING=1 + + # M1 specific hacks + if [ $(uname -p) == "arm" ]; then + # Stop golang progs having fun with Rosetta 2 (https://yaleman.org/post/2021/2021-01-01-apple-m1-terraform-and-golang/) + export GODEBUG=asyncpreemptoff=1 + fi +fi + +# https://github.com/oz/tz +if [ -f $HOME/go/bin/tz ]; then + export TZ_LIST="America/New_York,America/Los_Angeles,Europe/Paris" +fi diff --git a/bash/.bash_profile b/bash/.bash_profile index cdbc26b..3e97415 100644 --- a/bash/.bash_profile +++ b/bash/.bash_profile @@ -1,53 +1,6 @@ -# .bash_profile - # Get the aliases and functions -if [ -f ~/.bashrc ]; then - . ~/.bashrc +if [ -f $HOME/.bashrc ]; then + source $HOME/.bashrc fi -# User specific environment and startup programs -export TZ=GB -export LANG=en_GB.UTF-8 -# Make a sensible editor choice -if [ -x /usr/bin/nano ]; then - export EDITOR=nano - export VISUAL=nano -else - export EDITOR=vi - export VISUAL=vi -fi - -# Load iTerm2 integration, for all hosts -source ~/.bash/iterm2_integration.bash - -# OSX Specific envs -if [ $(uname) == "Darwin" ]; then - # Shhh Catlina, we don't care! - export BASH_SILENCE_DEPRECATION_WARNING=1 - - # M1 specific hacks - if [ $(uname -p) == "arm" ]; then - # Stop golang progs having fun with Rosetta 2 (https://yaleman.org/post/2021/2021-01-01-apple-m1-terraform-and-golang/) - export GODEBUG=asyncpreemptoff=1 - - # Homebrew - if [ -d /opt/homebrew ]; then - eval $(/opt/homebrew/bin/brew shellenv) - fi - fi -fi - -# Go stuff -if [ -d /usr/local/go ]; then - export GOROOT=/usr/local/go/ - export GOPATH=$HOME/go/ - export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin -fi - -# https://github.com/oz/tz -if [ -f $HOME/go/bin/tz ]; then - export TZ_LIST="America/New_York,America/Los_Angeles,Europe/Paris" -fi - -export PS1="\[\e[0;90m\][\[\e[0;37m\]\u\[\e[0;37m\]@\[\e[0;37m\]\H\[\e[0;90m\]] \[\e[0;90m\](\[\e[0;37m\]\W\[\e[0;90m\]) \[\e[0;37m\]\$\[\e[0m\] " diff --git a/bash/.bashrc b/bash/.bashrc index 3afe9ac..fe80084 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -5,16 +5,32 @@ if [ -f /etc/bashrc ]; then . /etc/bashrc fi +# User specific environment +PATH="$HOME/.local/bin:$HOME/bin:$PATH" +export PATH + # Source functions, if it exists -if [ -e $HOME/.bash/functions.bash ]; then +if [ -f $HOME/.bash/functions.bash ]; then source $HOME/.bash/functions.bash fi # Source aliases, if it exists -if [ -e $$HOME/.bash/aliases.bash ]; then +if [ -f $HOME/.bash/aliases.bash ]; then source $HOME/.bash/aliases.bash fi -# User specific environment -PATH="$HOME/.local/bin:$HOME/bin:$PATH" -export PATH +# Source exports, if it exists +if [ -f $HOME/.bash/exports.bash ]; then + source $HOME/.bash/exports.bash +fi + +# Source completions, if it exists +if [ -f $HOME/.bash/exports.bash ]; then + source $HOME/.bash/completions.bash +fi + +# Load iTerm2 integration, for all hosts +source ~/.bash/iterm2_integration.bash + +# Homebrew +[ -d /opt/homebrew ]; eval $(/opt/homebrew/bin/brew shellenv) \ No newline at end of file