Logo
Published on

My initial osx development setup

4 min read
Authors

With the recent #Spectre/#Meltdown event I decided to do a clean install to my early 2015 13" macbook pro. I have a couple of times did clean install for my laptop, it's interesting because you can always have a new initial setup for every clean install that you did. In this post, my initial setup for new macbook or a macbook with a clean os installation.

Do this first!

One of the reasons I upgrade my osx to the new one is because of the recent security issue called Spectre/Meltdown. Having that in mind, with this new installation the first thing that I did is to make sure that my mac has all of the security feature turn on. But before that, make sure you have run the Software Update to ensure that the operating system is at the latest point release.

My Security Checklist

Turn Firewall On

Select System Preferences => Security & Privacy, and set the following:

  • Under General, set require a password after sleep or screen saver begins to immediately
  • Click Advanced… and select Require an administrator password to access system-wide preferences
  • Under Firewall, click Turn Firewall On.

Enable File Vault

File Vault is a security protection against anyone with physical access to your computer. All other security measures will be completely bypassed if someone with physical access simply restarts the computer with a bootable pen drive. It's a completely secure feature, so you have to make sure you remember your password and the recovery key, otherwise you can permanently lose access to your data if you lose both.

Set a firmware password

It's another layer of protection to make sure no one can access the Recovery mode without password. For more details about how to turn on the firmware password you can follow the guideline here https://support.apple.com/en-gb/HT204455

My Mac Default Config

There are some changes I also need to apply in order for me to get a nice experience with my macbook pro. From System Preferences:

  • Trackpad => Tap to click
  • Keyboard
    • Key Repeat => Fast (all the way to the right)
    • Delay Until Repeat => Short (all the way to the right)
  • Dock
    • Make it to the left
    • Automatically hide and show the dock

Application Installation

  • Install Google Chrome
  • Install ITerm2
  • Install Homebrew and Homebrew Cask
  • Install Zsh and oh-my-zsh
    • Install Honukai themes
    • Install consolas font. Follow the guideline here
  • Install / Setup Vim
    • Install Vundle
    • Install macvim
    • My default vimrc
  • Install tmux
  • Install VSCode

Development Environment

I do development in various language and technology. In the next section, I'll describe some of my default development environment.

  • Python

    • Install python from homebrew - brew install python
    • Install python3 from homebrew - brew install python3
    • Install virtualenv and virtualenvwrapper. I follow the guideline from here
  • Javascript

    • Install nvm - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
    • Install the latest LTS node version - nvm install --lts
    • Upgrade npm to its latest version - npm upgrade -g npm
    • Install yarn - brew install yarn
  • Ruby

  • Databases

    • Postgres
    • Mongodb
      • Install the server brew install mongo
      • Run the server - mongod
      • Access the shell - mongo
      • I use Studio 3t for gui management.
    • Redis
      • Install redis server brew install redis
      • run - redis-server
  • Heroku

  • Google Cloud https://cloud.google.com/sdk/downloads

  • Postman

Other Application

Lastly, for my new macbook I will install some application that I also frequently use for my work.