Set of scripts to bootstrap and configure a minimal development environment across macOS and Linux.
⚠️ Disclaimer: This software is provided "as is", without warranty of any kind. The author(s) are not liable for any damages or issues arising from the use of this software. Use at your own risk. See LICENSE for full details.
🤖 AI Disclosure: This project was created with assistance from Claude by Anthropic.
Compares and copies dotfiles from this repo to ~/:
.bash_profile/.bashrc- Bash shell config with OS-specific aliases, colors, PATH, virtualenvwrapper, and starship prompt.zshrc- Zsh config with oh-my-zsh, kubectl/kubebuilder completions, direnv, starship prompt.vimrc- Vim configuration.tmux.conf- Tmux configuration.gitconfig/.gitignore- Git configuration.ansible.cfg- Ansible configuration.starship-config.toml- Starship prompt themeconfig.sh- Tmux-powerline config (copied to~/.config/tmux-powerline/)electricblue256.ini- Midnight Commander skin (copied to~/.local/share/mc/skins/)
Runs the following setup scripts in order:
| Script | Description |
|---|---|
setup_brew.bash |
Installs Homebrew on macOS (Intel & Apple Silicon) and Linux (Ubuntu, CentOS, RHEL). Sets up Go directory structure. |
setup_brew_packages.bash |
Installs categorized brew packages (see below) and cask apps. Installs latest Terraform via tfenv. |
setup_repos.bash |
Creates ~/repos and ~/repos/external directory structure. |
setup_ssh.bash |
Creates ~/.ssh/config with sensible defaults. Backs up existing config and known_hosts. |
setup_python.bash |
Installs virtualenv/virtualenvwrapper, configures pip to require virtualenvs, creates an awscli virtualenv. |
setup_tmux.bash |
Installs tmux plugin manager (TPM) and plugins. |
setup_vim.bash |
Installs vim-plug plugin manager and plugins. |
setup_aws.bash |
Creates ~/.aws/config and ~/.aws/credentials templates. |
setup_ohmyzsh.bash |
Installs oh-my-zsh, copies .zshrc, adds custom aliases (e.g., k=kubectl) and macOS network storage tweaks. |
Installed via setup_brew_packages.bash in these categories:
- AI: ollama
- Coding: cmake, go, node, python@3.14, shellcheck, sqlite
- System: btop, direnv, midnight-commander, ncdu, pwgen, screen, starship, tree, tmux, vim, watch
- IaC: tfenv
- Network: iftop, iperf, mtr, nmap, telnet
- Kubernetes: cilium-cli, cmctl, k9s, kubebuilder, kubectl, kubecm, lens, popeye
- Cask apps: claude-code, claude, claudebar, stay
Verified on Intel and Apple Silicon
chsh -s /bin/bash
mkdir meh && cd meh
curl -LO https://github.com/baldwinsung/MinimalEnvironment/archive/main.zip
unzip main.zip && cd MinimalEnvironment-main/
#mv ~/.bashrc ~/.bashrc_local
./update.bash
logout
# open new shell
cd meh/MinimalEnvironment-main
./setup.bash
logout
# open new shellVerified with CentOS Stream 9
sudo dnf install wget unzip gcc make vim python3-pip git-core zsh -y
mkdir meh && cd meh
wget https://github.com/baldwinsung/MinimalEnvironment/archive/main.zip
unzip main.zip && cd MinimalEnvironment-main/
#mv ~/.bashrc ~/.bashrc_local
./update.bash
logout
# open new shell
cd meh/MinimalEnvironment-main
./setup.bash
logout
# open new shellVerified with Ubuntu 22.04
sudo apt install unzip gcc make vim curl git zsh virtualenvwrapper -y
mkdir meh && cd meh
wget https://github.com/baldwinsung/MinimalEnvironment/archive/main.zip
unzip main.zip && cd MinimalEnvironment-main/
#mv ~/.bashrc ~/.bashrc_local
./update.bash
exit
# open new shell
cd meh/MinimalEnvironment-main
./setup.bash
exit
# open new shellVerified with RHEL8
sudo dnf install wget unzip gcc make vim python3-pip git-core zsh -y
mkdir meh && cd meh
wget https://github.com/baldwinsung/MinimalEnvironment/archive/main.zip
unzip main.zip && cd MinimalEnvironment-main/
#mv ~/.bashrc ~/.bashrc_local
./update.bash
logout
# open new shell
cd meh/MinimalEnvironment-main
./setup.bash
logout
# open new shellssh-keygen
ssh-copy-id user@hostAdditional reference notes are in the NOTES/ directory:
mac_pmset.md- macOS power management settingsminicom_xmodem.md- Minicom and XMODEM file transfer