- Published on
My initial osx development setup
- Authors
- Name
- Martin Valentino
- @martinlabs_eth
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 / 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
andvirtualenvwrapper
. I follow the guideline from here
- Install python from homebrew -
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
- Install nvm -
Ruby
Databases
- Postgres
- Install postgres using postgressapp.
- I use jetbrains Datagrip for gui management
- Mongodb
- Install the server
brew install mongo
- Run the server - mongod
- Access the shell - mongo
- I use Studio 3t for gui management.
- Install the server
- Redis
- Install redis server
brew install redis
- run -
redis-server
- Install redis server
- Postgres
Heroku
- Install heroku toolbelt https://devcenter.heroku.com/articles/heroku-cli
- Install heroku-accounts plugin to allow multiple account on heroku toolbelt https://github.com/heroku/heroku-accounts
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.
- Spark (Email Client) https://sparkmailapp.com/
- Slack
- Google Drive Sync
- Microsoft Office Suit
- Spotify