Giter Club home page Giter Club logo

mac-dev-setup's Introduction

Mac dev setup

A macOS setup guide specific to front-end development.

Guided Setup

For a guided setup, open up Terminal.app and run the following command:

  1. Save repo to ~/Downloads folder:
    git clone https://github.com/michaelschwobe/mac-dev-setup.git ~/Downloads/mac-dev-setup && \
    cd ~/Downloads/mac-dev-setup/scripts
  2. Run the installer script.
    sh install.sh
    OR Run the installer scripts individually:
    sh defaults.sh
    sh tools.sh
    sh casks.sh
    sh optimizations.sh
    sh summary.sh

🔥 The scripts auto-skip prompts for items already installed. Recommended: Rerun as many times as needed.

✨ And thats it! For additional CLI and IDE customizations, refer to the related Manual Setup section below.

Manual Setup

For those who prefer à la carte, this section contains everything that the Guided Setup attempts to do including CLI and IDE customizations.

  1. If you haven’t already, save repo to ~/Downloads folder:
    git clone https://github.com/michaelschwobe/mac-dev-setup.git ~/Downloads/mac-dev-setup && \
    cd ~/Downloads/mac-dev-setup/scripts
  2. Continue with setup below.

Defaults

Create Dock spacers:
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && \
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && \
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && \
killall Dock
Autohide Dock:
defaults write com.apple.dock autohide -boolean true && \
killall Dock
Display hidden Finder files/folders:
defaults write com.apple.finder AppleShowAllFiles -boolean true && \
killall Finder
Create ~/Developer folder:
mkdir -p ~/Developer
Create ~/Sandbox folder:
mkdir -p ~/Sandbox
Installing xcode-select (CLI tools):
xcode-select --install
Installing brew (Homebrew):

If: Apple Silicon/ARM Architecture:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && \
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"'>>$HOME/.zprofile && \
eval "$(/opt/homebrew/bin/brew shellenv)" && \
brew doctor

If Intel Architecture:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && \
brew doctor

Tools

Install watchman:
brew install watchman
Install trash:
brew install trash
Install git:
brew install git
Install zsh:
brew install zsh
Install oh-my-zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Install powerlevel10k (CLI theming):
brew install powerlevel10k && \
echo '# Theme configuration: PowerLevel10K' >> ~/.zshrc && \
echo 'source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc && \
echo '# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.' >> ~/.zshrc && \
echo '[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh' >> ~/.zshrc

Restart your CLI for this to take effect, or run:

p10k configure
brew install zsh-autosuggestions && \
echo "# Fish shell-like fast/unobtrusive autosuggestions for Zsh." >> ~/.zshrc && \
echo "source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc

Restart your CLI for this to take effect.

brew install zsh-syntax-highlighting && \
echo "# Fish shell-like syntax highlighting for Zsh." >> ~/.zshrc && \
echo "# Warning: Must be last sourced!" >> ~/.zshrc && \
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc

Restart your CLI for this to take effect. Note the source command must be at the end of ~/.zshrc.

Install node (Node via Homebrew):
brew install node
Install n (Node via n):
brew install n
Install nvm (Node via nvm):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Install yarn:
brew install yarn
Install pnpm:
brew install pnpm
Upgrade npm (globally via npm):
npm install -g npm@latest
Install/Upgrade serve (globally via npm):
npm install -g serve@latest

Applications/Casks

Install JetBrainsMono Nerd Font:
brew tap homebrew/cask-fonts # You only need to do this once!
brew install font-jetbrains-mono-nerd-font
Install 1Password:
brew install --cask 1password
Install Brave Browser:
brew install --cask brave-browser
Install Bruno:
brew install --cask bruno
Install Discord:
brew install --cask discord
Install Figma:
brew install --cask figma
Install Google Chrome:
brew install --cask google-chrome
Install iTerm:
brew install --cask iterm2
  1. Copy my iTerm settings:
    cp ~/Downloads/mac-dev-setup/.zshrc ~/
  2. Set the theme by going to:
    • "Settings… → Profiles → Colors → Color Presets… → Import…"
    • Theme location: ~/Downloads/mac-dev-setup/Moonlight.itermcolors
  3. Set the font by going to:
    • "Settings… → Profiles → Text → Font"
    • Font name: "JetBrainsMono NFM" or "JetBrainsMono Nerd Font Mono"
  4. Restart iTerm and resolve any remaining issues.
Install Rectangle:
brew install --cask rectangle
Install Slack:
brew install --cask slack
Install Sourcetree:
brew install --cask sourcetree
  1. Set the font by going to:
    • "Settings… → Diff → Internal Diff Visualization → Diff View font"
    • Font name: "JetBrainsMono NFM" or "JetBrainsMono Nerd Font Mono"
  2. Restart Sourcetree and resolve any remaining issues.
Install Spotify:
brew install --cask spotify
Update Terminal:
  1. Set the theme and font by going to:
    • "Settings… → Profiles → Import…" (bottom left next to the "+/-" buttons)
    • Theme location: ~/Downloads/mac-dev-setup/Moonlight.terminal
    • Font name: "JetBrainsMono NFM" or "JetBrainsMono Nerd Font Mono"
  2. Restart Terminal and resolve any remaining issues.
Install Visual Studio Code:
brew install --cask visual-studio-code
  1. Install my Extensions:
    code --install-extension alefragnani.project-manager
    code --install-extension atomiks.moonlight
    code --install-extension bradlc.vscode-tailwindcss
    code --install-extension christian-kohler.npm-intellisense
    code --install-extension christian-kohler.path-intellisense
    code --install-extension codeforge.remix-forge
    code --install-extension dbaeumer.vscode-eslint
    code --install-extension eamodio.gitlens
    code --install-extension editorconfig.editorconfig
    code --install-extension esbenp.prettier-vscode
    code --install-extension formulahendry.auto-rename-tag
    code --install-extension github.copilot
    code --install-extension github.copilot-chat
    code --install-extension github.vscode-github-actions
    code --install-extension gruntfuggly.todo-tree
    code --install-extension l13rary.l13-diff
    code --install-extension mikestead.dotenv
    code --install-extension ms-azuretools.vscode-docker
    code --install-extension ms-vscode.sublime-keybindings
    code --install-extension prisma.prisma
    code --install-extension qwtel.sqlite-viewer
    code --install-extension stylelint.vscode-stylelint
    code --install-extension tyriar.sort-lines
    code --install-extension unifiedjs.vscode-mdx
    code --install-extension vscode-icons-team.vscode-icons
    code --install-extension wix.vscode-import-cost
    code --install-extension yoavbls.pretty-ts-errors
    code --install-extension zignd.html-css-class-completion
  2. Copy my Visual Studio Code User settings:
    cp ~/Downloads/mac-dev-setup/Code/* ~/Library/Application\ Support/Code/User
  3. Restart Visual Studio Code and resolve any remaining issues.
Install Warp:
brew install --cask warp
  1. Copy the theme:
    mkdir -p ~/.warp/themes/ && \
    cp ~/Downloads/mac-dev-setup/Moonlight.yaml ~/.warp/themes/
  2. Set the theme and font by going to:
    • "Settings… → Appearance… → Themes"
    • Theme name: "Moonlight"
    • Font name: "JetBrainsMono NFM" or "JetBrainsMono Nerd Font Mono"
  3. Restart Warp and resolve any remaining issues.
Install Zoom.us:
brew install --cask zoom

Optimizations

Re-sort Launchpad applications:
defaults write com.apple.dock ResetLaunchPad -boolean true; killall Dock
Updating oh-my-zsh:
omz update
Optimizing Homebrew:
brew update && brew upgrade && brew doctor && brew cleanup

mac-dev-setup's People

Contributors

michaelschwobe avatar mrdavidcha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.