Things to do after fresh MacOS installation
installing min. required softwares
After installing a fresh version of MacOS, you need to do a minimum installation of softwares for development or for different entertainment purpose. Here is a list for the same
macOS version
1
sw_vers
1
system_profiler SPSoftwareDataType
1
uname -a
change Computer Name, System Hostname, Local Hostname
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# Computer Name (User-Friendly Name) sudo scutil --get ComputerName sudo scutil --set ComputerName "Your New Computer Name" # System Hostname (what the Terminal prompt often shows) sudo scutil --get HostName sudo scutil --set HostName "your-new-system-hostname" # Local Hostname (Bonjour Name) sudo scutil --get LocalHostName sudo scutil --set LocalHostName "your-new-local-hostname" # Flush DNS Cache (Optional but Recommended)-ensure network services recognize the change sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
install Homebrew - a package manager for mac
1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
install MacPorts (optional, as alternative to Homebrew)
1 2 3 4
sudo port selfupdate # to update port port installed # all installed ports port outdated # list of outdated ports port upgrade vim # upgrade installed port
create .zshrc file in home directory
1
nano ~/.zshrc
colorize terminal output (folders & files with diff. colors) (optional)
1 2
nano ~/.zshrc export CLICOLOR=1
change shell from zshrc to bash (Only if you want to change shell, else leave it.)
1 2 3 4 5 6 7 8
# list of included shells cat /etc/shells # change default shell to Bash chsh -s /bin/bash # change default shell back to Zsh chsh -s /bin/zsh
install xcode command-line tools (it prompts to install)
1
git --version
install uv (python package manager) - to manage different python version
1 2 3
curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env uv python install 3.10 3.11 3.12 3.13
download from sites
- Google Chrome
- Firefox
- Visual studio code
- After installation, add
code
command to PATH:- Open VS Code
- Press
Cmd+Shift+P
to open Command Palette - Type “Shell Command: Install ‘code’ command in PATH”
- Select and run the command
- Restart terminal and test with
code --version
- After installation, add
- Cursor
- Jetbrains Toolbox (PyCharm & IntelliJ)
- Eclipse
- Slack
- Zoom client
- Skype
- Dropbox
- RStudio
- MySQL community
- MySQL Workbench
- DBeaver
- MySQL JDBC connector
- R
- RStudio
- Zettlr (Markdown editor)
- cmake
- AWS CLI
- Notion Desktop
- Lens for Mac - IDE for Kubernetes
- Microsoft Teams
- Node.js LTS
install & configure (export path variables to .zshrc/.bashrc)
- OpenJDK (LTS)
1 2 3 4 5
# JAVA_HOME export JAVA_HOME=$(/usr/libexec/java_home) export PATH=$PATH:$JAVA_HOME/bin # export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.14.jdk/Contents/Home
- Python
1 2 3
# Python - depending on your version & location export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin # export PATH=$PATH:/$HOME/Library/Python/3.9/bin
1 2 3 4
# GOROOT & GOPATH export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
1 2 3 4 5 6
# check JAVA_HOME tar xzvf apache-maven-3.8.5-bin.tar.gz sudo mv apache-maven-3.8.5 /opt/ # path export MAVEN_HOME=/opt/apache-maven-3.8.5 export PATH=$PATH:$MAVEN_HOME/bin
1 2 3 4 5 6 7
unzip protoc-3.20.0-osx-x86_64.zip sudo mv protoc-3.20.0-osx-x86_64 /opt/ # path PROTOC_HOME=/opt/protoc-3.20.0-osx-x86_64 export PATH=$PATH:$PROTOC_HOME # check protoc --version
configure git
create a personal access token <- click here to create
1 2
git config --global user.email <you@example.com> git config --global user.name <your user name>
- configure git credential manager core for PAT (Personel Access Token)
- generate PAT here
1 2 3 4 5 6
# tell Git you want to store credentials in the osxkeychain git config --global credential.helper osxkeychain # add your access token to the osxkeychain- by using pull/push # when prompted for password, instead enter access token(it get cached in the osxkeychain automatically) git clone https://github.com/username/repo.git
install & configure open-ssh
1 2
sudo port install openssh sudo port load openssh
install/uninstall with brew
1 2 3 4 5 6 7 8 9 10 11 12
brew install wget brew install openjdk brew install openssh brew install db-browser-for-sqlite brew install --cask dbeaver-community brew install minikube hyperkit # lists apps installed by brew brew list # uninstall brew uninstall wget
- DevOps tools
- containers & kubernetes
- install Docker Desktop on Mac
- install Rancher Desktop (docker without Docker Desktop)
- install Minikube
- container runtime of your choice (containerd or dockerd) - free
- kubernetes, Traefik
- docker(cli), docker-compose, docker-buildx
- kubectl, helm, nerdctl, rdctl
- Jenkins
- Grafana
- Prometheus
- containers & kubernetes
- AI
- AWS MCP servers
1 2 3
# Core MCP Server ~/.aws/amazonq/mcp.json # https://awslabs.github.io/mcp/servers/core-mcp-server/
- AWS MCP servers
- Jekyll
- install ruby version manager
1 2 3 4 5 6
brew install rbenv ruby-build rbenv init # add it to .zprofile cat ~/.zprofile rbenv install 3.4.1 rbenv global 3.4.1 ruby -v
- install jekyll
1 2 3 4
gem install jekyll cd jekyll-theme-chirpy bundle install bundle exec jekyll serve
- install ruby version manager