My MacBook setup for web development 2022

Nathachai Thongniran
3 min readJun 5, 2022

--

My Macbook started to perform slowly. For some random reason, I decided to format my MacBook. Here is a step of mine to set it up, hope this might help you a little bit :)

First of all, I backup all files to an external hard disk and then follow the step below.

Hardware

My normal workstation is minimal, just a computer and 1 monitor.

When I connect my MacBook to the monitor, my external monitor seem to display a bit differently e.g. brightness. So I need to re-adjust it.

System Preferences

I usually open or take the screenshot of my setting of the old one beside then just copy/follow one by one.

  • Dock & Menu Bar
  • Mission Controrl
  • Spotlight
  • Notifications & Focus
  • Internet Accounts
  • Trackpad
  • Sharing
  • Keyboard
  • Finder
    - New Finder windows show: Downloads
    - View > Show View Options > Always open in view list (Use as Defaults)

Ordering

Order Dock, Sidebar, and organize Launchpad

Dock: order

SSH

Setup a new SSH key for the Git repository which depends on the registry you use. We can use the old existing SSH key, but I do follow the security practice that suggest to generate new one for each machine.

Program

# setup
git config --global user.name "Nathachai Thongniran"
git config --global user.email "inid3a@gmail.com"
git config --list
git config --global user.name
git config --global user.email
chrome://settings/syncSetup/advanced
chrome://settings/content

VSCode Extensions

My Best IDE ever. General programming language of mine is JavaScript and Python. So these extensions are generally around it.

Terminal

Terminal setup is simple iterm2 + ohmyzsh and here is the tutorials

Command-line interface (CLI) Program

Here is a list of CLI tools

brew help
brew update
brew upgrade
# wget, tool for retrieving files over HTTP
# nmap, network scanner
# telnet, provide a bidirectional interactive text communication
# k6, load testing
# wrk, load testing (another one)
# jq, command-line JSON processor
# kubectl, CLI to interact with Kubernetes clusters
brew install wget nmap telnet k6 wrk jq kubectl
nvm ls
nvm ls-remote
nvm install 16.15.0
nvm alias default 16.15.0
nvm use default 16.15.0
  • Conda, Python package management. I do prefer Miniconda
conda -V
conda search python
conda create — name base3.10.4 python=3.10.4
conda activate base3.10.4
  • Commitizen, defines a standard way for Git commit message
npm install -g commitizen
npm install -g cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
  • chromepass, password generation which runs 100% locally
npm install -g chromepass
chromepass
  • httpie, command-line HTTP client
python -m pip install --upgrade httpie

Thank you so much for your time, see ya!

--

--