Bootstrapping My Linux Desktop and MacBook for Dev Work
After transitioning through two new jobs recently, I had the opportunity (and challenge) to set up fresh dev environments on both a Linux desktop and a MacBook. Here’s my comprehensive checklist and setup notes, including tooling, config files, and references I found useful.

Software Setup
1. Docker Desktop
- Mac:
Install Docker Desktop for Mac - Linux:
sudo apt-get update sudo apt-get install docker.io sudo systemctl enable --now docker sudo usermod -aG docker $USER
2. Visual Studio Code
- Mac/Linux:
Download from https://code.visualstudio.com/
3. IntelliJ IDEA
- Mac/Linux:
Download from https://www.jetbrains.com/idea/download/
Or use JetBrains Toolbox.
4. Slack
- Mac:
Download from https://slack.com/downloads/mac - Linux:
sudo snap install slack --classic
5. GitHub Copilot
6. Homebrew for Mac
Install only if you are using it for terraform, npm, or jq.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
7. Kubectl
- Mac:
curl -LO "https://dl.k8s.io/release/$(curl -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/ - Linux:
curl -LO "https://dl.k8s.io/release/$(curl -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl sudo mv kubectl /usr/local/bin/
8. Java (OpenJDK)
- Mac:
Download OpenJDK DMG from https://jdk.java.net/ - Linux:
sudo apt install openjdk-17-jdk
9. Python
- Mac:
Download official installer from https://www.python.org/downloads/mac-osx/ - Linux:
sudo apt install python3 python3-pip
10. Terraform
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
11. npm (via Node.js)
brew install node
12. jq
- Mac:
brew install jq - Linux:
sudo apt install jq
Configuration Files
1. AWS Config
Set Up AWS CLI
Mac
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Set up AWS config and credential
aws configure
follow the prompt:
AWS Access Key ID [None]: YOUR_ACCESS_KEY_ID
AWS Secret Access Key [None]: YOUR_SECRET_ACCESS_KEY
Default region name [None]: us-east-1
Default output format [None]: json
2. Kubeconfig
Copy your kubeconfig to:
~/.kube/config
Or use:
export KUBECONFIG=/path/to/kubeconfig.yaml
3. GitHub SSH
ssh-keygen -t ed25519 -C "you@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Then add the public key to your GitHub account:
cat ~/.ssh/id_ed25519.pub