Personal shell, editor, and workflow configuration for macOS/Linux development.
- Shell config for Bash and Zsh:
bashrc,zshrc,bash_aliases,bash_functions,bash_profile,zprofile - Vim/Neovim config:
vimrcandvim/ - Homebrew package list:
Brewfile - Cluster environment tooling:
cluster-env/ - Wrapper scripts:
wrapper_scripts/ - Symlink bootstrap scripts:
symlink/
.
|- bash_aliases
|- bash_functions
|- bashrc
|- zshrc
|- vimrc
|- Brewfile
|- cluster-env/
|- symlink/
|- wrapper_scripts/
- macOS with Homebrew installed
- Git
- Go
- kubectl
Optional but commonly used with this repo:
- AWS CLI / aws-vault
- Terraform
- gh CLI
- Clone this repository to the expected path:
mkdir -p "$HOME/repo/jackstockley89"
cd "$HOME/repo/jackstockley89"
git clone git@github.com:jackstockley89/dotfiles.git
cd dotfiles- Install packages from the Brewfile:
brew bundle --file ./Brewfile- Create dotfile symlinks in your home directory:
cd symlink/shell
bash ./symlink.bash- Reload shell config:
source ~/.zshrc
# or
source ~/.bashrcThe script symlink/shell/symlink.bash creates or repairs symlinks in $HOME using the list in symlink/shell/symlist.txt.
Notes:
- The script expects this repository at
$HOME/repo/jackstockley89/dotfiles. - Existing files/directories at target locations are replaced.
The cluster selector lives in cluster-env/ and supports two modes:
- Full cluster workflow (kube + terraform + terminal title)
- AWS env-only setup
Run it from cluster-env/:
cd cluster-env
go run select-cluster-config.go -p cp-devValid profiles:
cp-devcp-preprodcp-nonlivecp-livedev-clusters
AWS env-only mode:
go run select-cluster-config.go -p cp-dev -aws trueFor -p dev-clusters -aws true, AWS profile defaults to cp-dev.
Entry point:
bash wrapper_scripts/overview.bashOther scripts are in wrapper_scripts/shell/ for tasks such as:
- rotating access keys
- searching Kubernetes secrets
- state lock cleanup
- Brewfile updates
zshrcandbashrcsource~/.bash_aliasesand~/.bash_functions.kubectlcompletions are enabled for both Bash and Zsh.- Prompt behavior changes based on whether
KUBECONFIGis set.
vimrc and vim/ contain plugin and editor configuration used by this setup.
- Ensure repo path is exactly
$HOME/repo/jackstockley89/dotfiles. - Re-run
bash symlink/shell/symlink.bash.
- Ensure
-pis one of the supported profile values. - Example:
go run select-cluster-config.go -p cp-dev -aws true
- Reload your shell:
source ~/.zshrcorsource ~/.bashrc - Open a new terminal session.