This guide enlists common steps to set up your macbook for the day to day local development.
- Enable Rosetta for Terminal on M1 Mac
- Install Homebrew package manager
- Make ZSH as default shell
- Install Apps and Developer tools
- Installing Node
- Installing Postgres
- Installing Redis
- Configuring Git
- Installing Ruby
- Installing yarn
Rosetta 2 is the lifeline that allows you to run apps designed for Intel-based chips that use x86 architecture on ARM-based chips (in this case M1). This solution is provided by Apple in form of an emulator and doesn't come pre-installed. You have to install it manually. Fire up the Terminal application that comes pre-installed on the Big Sur and let your first command to execute be:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
Run following command in terminal
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Then create .zshrc
on home directory (If it was not created yet). Just run on terminal:
touch .zshrc
Then open it to edit with TextEdit (Is a hidden file. You can show hidden files with shift + command + . )
Add this line at the end of .zshrc
export PATH=/opt/homebrew/bin:$PATH
Run this command in terminal to make this available:
source ~/.zshrc
Now just run this command to be sure that everything is working:
brew help
Make sure everything is up to date.
brew update
NOTE: DO NOT use Homebrew to install node
or ruby
package.
Install iterm2
brew install --cask iterm2
Before going forward, please make sure zsh
is your default terminal shell.
You can run echo $SHELL
to see what's the current shell.
If it's not your default shell, then set it up manually:
chsh -s $(which zsh)
Install oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
brew install --cask visual-studio-code
-
Tree- Git IDE
-
Brew services menubar- Read the
homebrew services
command, showing you the status of your services and allowing them to be started, stopped and restarted. -
Postico - Postgres IDE
-
Itsycal - Tiny calendar for macbook menu bar
-
Pandan - Time awareness in your menubar
-
Notion- Note taking tool
-
Code Copy- Copy to clipboard buttons for code snippet in websites
-
Enhanced Github- Show github repo display file size, download & copy link
-
OctoLinker- OctoLinker is a browser extension for GitHub, that turns language-specific statements like include require or import into links
-
Daisydiskapp- Anaylze disk usage (https://mail.google.com/mail/u/0/#search/daisydiskapp/FMfcgzGqPphPBnxmTJvvdHCfxZvrNSnJ)
-
CleanshotX- Screenshot tool.
-
Devcleaner- Free your Xcode space.
-
Rectangle- Move and resize windows in macOS using keyboard shortcuts or snap areas
-
Raycast- Productivity tool.
We recommend to use nvm to install Node.js. This allows you to easily switch between Node versions, which is essential.
https://github.com/nvm-sh/nvm#install--update-script
nvm install node
To install, say node 8.14.0, run
nvm install 8.14.0
If you want to see what node versions are installed
nvm ls
To use a different node version, say 12.6.0 as the default node version everywhere
nvm alias default 12.6.0
To use a different node version for the current directory
nvm use 10.16.0
For later, here's how to update nvm.
nvm install node --reinstall-packages-from=node
brew install postgresql
brew services start postgresql
The installation procedure created a user account called postgres that is associated with the default Postgres role. In order to use Postgres, you can log into that account.
sudo -u postgres psql
brew install redis
brew services start redis
The first thing you should do with Git is set your global configuration
touch ~/.gitconfig
Input your config and create some aliases
[alias]
a = add
ca = commit -a
cam = commit -am
cm = commit -m
s = status
p = push
pom = push origin master
puom = pull origin master
cob = checkout -b
co = checkout
fp = fetch --prune --all
l = log --oneline --decorate --graph
lall = log --oneline --decorate --graph --all
ls = log --oneline --decorate --graph --stat
lt = log --graph --decorate --pretty=format:'%C(yellow)%h%Creset%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset'
With the above aliases, I can run git a
instead of git add
, for example. The less I have to type, the happier I am.
Configure your name and email to help Git to set the author of the commits you will add onwards.
git config --global user.name "Your Name Here" # e.g. John Doe
git config --global user.email "your.email@chatwoot.com"
We recommend to use rbenv to manage versions of Ruby.
brew install rbenv
Ensure that rbenv is installed successfully by checking whether the rbenv -v
command prints rbenv version or not.
If not installed, install it using brew install rbenv
command.
Set up rbenv in your shell.
rbenv init
If you are using zsh shell then use the following command:
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
Add ~/.rbenv/bin
to your $PATH
for accessing the rbenv command-line utility.
If you are using zsh shell then use the following command:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
To install, say Ruby 2.5.3, run
rbenv install 2.5.3
To check the current Ruby version
rbenv version
To list all installed Ruby versions
rbenv versions
To set a different Ruby version for the current directory
rbenv local 1.9.3-p327
Now install bundler which help us manage Ruby gems:
gem install bundler
Install it:
brew install yarn