GNU Bash runs this for non-login shells.
So if we aren’t running interactively, skip the rest of the file.
Manage the command history.
Only include unique commands that don’t start with a space.
Append to the history file so it grows over time,
but don’t let it get too big.
Check the window size after each command and update the values of LINES and COLUMNS.
I’m accustomed to ** meaning a recursive match in globs.
Just making sure that carries over to interactive shell sessions.
Track those shell aliases I’m so fond of assembling.
Enable tab-completion features in case they weren’t already.
Add Homebrew completions when I’ve got that available.
Run the keychain OpenSSH key manager for my shell sessions.
Load Direnv hooks if available.
Load hooks for the fzf fuzzy finder.
I sometimes have things to run locally that don’t need to be in my universal config.
Try to get tmux playing nice with existing sessions.