Skip to content

baldwinsung/MinimalEnvironment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MinimalEnvironment

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.

What's Included

Dotfiles (update.bash)

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 theme
  • config.sh - Tmux-powerline config (copied to ~/.config/tmux-powerline/)
  • electricblue256.ini - Midnight Commander skin (copied to ~/.local/share/mc/skins/)

Setup Scripts (setup.bash)

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.

Brew Packages

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

Instructions

Mac bootstrap

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 shell

CentOS bootstrap

Verified 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 shell

Ubuntu bootstrap

Verified 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 shell

RHEL bootstrap

Verified 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 shell

SSH Keys

ssh-keygen
ssh-copy-id user@host

Notes

Additional reference notes are in the NOTES/ directory:

  • mac_pmset.md - macOS power management settings
  • minicom_xmodem.md - Minicom and XMODEM file transfer

About

Set of scripts to copy dotfiles and to setup configs for a minimal environment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors