Post

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

  • install & configure (export path variables to .zshrc/.bashrc)

    • OpenJDK (LTS)
    • Oracle Java JDK (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
      
    • Go

      1
      2
      3
      4
      
      # GOROOT & GOPATH
      export GOROOT=/usr/local/go
      export GOPATH=$HOME/go
      export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
      
    • Maven

      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
      
    • Protocol Buffers

      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
  • AI
    • AWS MCP servers
      1
      2
      3
      
      # Core MCP Server
      ~/.aws/amazonq/mcp.json
      # https://awslabs.github.io/mcp/servers/core-mcp-server/
      
  • 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
      
This post is licensed under CC BY 4.0 by the author.