{"id":13479252,"url":"https://github.com/michaelschwobe/mac-dev-setup","last_synced_at":"2025-04-05T05:03:22.688Z","repository":{"id":25951738,"uuid":"106964775","full_name":"michaelschwobe/mac-dev-setup","owner":"michaelschwobe","description":"A macOS setup guide specific to front-end development.","archived":false,"fork":false,"pushed_at":"2025-02-10T01:19:43.000Z","size":191,"stargazers_count":142,"open_issues_count":0,"forks_count":27,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T04:04:05.206Z","etag":null,"topics":["config","front-end","homebrew","iterm","macos","node","ohmyzsh","setup","visual-studio-code","yarn"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelschwobe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-14T21:39:34.000Z","updated_at":"2025-03-09T17:07:00.000Z","dependencies_parsed_at":"2023-11-15T23:23:03.632Z","dependency_job_id":"27b67c9d-1cab-4bb8-8706-528958d3da39","html_url":"https://github.com/michaelschwobe/mac-dev-setup","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelschwobe%2Fmac-dev-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelschwobe%2Fmac-dev-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelschwobe%2Fmac-dev-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelschwobe%2Fmac-dev-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelschwobe","download_url":"https://codeload.github.com/michaelschwobe/mac-dev-setup/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289409,"owners_count":20914464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["config","front-end","homebrew","iterm","macos","node","ohmyzsh","setup","visual-studio-code","yarn"],"created_at":"2024-07-31T16:02:12.184Z","updated_at":"2025-04-05T05:03:22.669Z","avatar_url":"https://github.com/michaelschwobe.png","language":"Shell","readme":"# Mac dev setup\n\n\u003e A macOS setup guide specific to front-end development.\n\n## Guided Setup\n\nFor a guided setup, open up **Terminal.app** and run the following command:\n\n1. Save repo to `~/Downloads` folder:\n   ```sh\n   git clone https://github.com/michaelschwobe/mac-dev-setup.git ~/Downloads/mac-dev-setup \u0026\u0026 \\\n   cd ~/Downloads/mac-dev-setup/scripts\n   ```\n2. Run the installer script.\n   ```sh\n   sh install.sh\n   ```\n   **OR** Run the installer scripts individually:\n   ```sh\n   sh defaults.sh\n   sh tools.sh\n   sh casks.sh\n   sh optimizations.sh\n   sh summary.sh\n   ```\n\n🔥 The scripts auto-skip prompts for items already installed. **Recommended:** Rerun as many times as needed.\n\n✨ And thats it! For additional CLI and IDE customizations, refer to the related **Manual Setup** section below.\n\n## Manual Setup\n\nFor those who prefer à la carte, this section contains everything that the **Guided Setup** attempts to do including CLI and IDE customizations.\n\n1. If you haven’t already, save repo to `~/Downloads` folder:\n   ```sh\n   git clone https://github.com/michaelschwobe/mac-dev-setup.git ~/Downloads/mac-dev-setup \u0026\u0026 \\\n   cd ~/Downloads/mac-dev-setup/scripts\n   ```\n2. Continue with setup below.\n\n- [Defaults](#defaults)\n- [Tools](#tools)\n- [Applications](#applications)\n- [Optimizations](#optimizations)\n\n### Defaults\n\n##### Create Dock spacers:\n\n```sh\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"spacer-tile\";}' \u0026\u0026 \\\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"spacer-tile\";}' \u0026\u0026 \\\ndefaults write com.apple.dock persistent-apps -array-add '{\"tile-type\"=\"spacer-tile\";}' \u0026\u0026 \\\nkillall Dock\n```\n\n##### Autohide Dock:\n\n```sh\ndefaults write com.apple.dock autohide -boolean true \u0026\u0026 \\\nkillall Dock\n```\n\n##### Display hidden Finder files/folders:\n\n```sh\ndefaults write com.apple.finder AppleShowAllFiles -boolean true \u0026\u0026 \\\nkillall Finder\n```\n\n##### Create `~/Developer` folder:\n\n```sh\nmkdir -p ~/Developer\n```\n\n##### Create `~/Sandbox` folder:\n\n```sh\nmkdir -p ~/Sandbox\n```\n\n##### Installing xcode-select (CLI tools):\n\n```sh\nxcode-select --install\n```\n\n##### Installing brew ([Homebrew](https://brew.sh/)):\n\nIf: Apple Silicon/ARM Architecture:\n\n```sh\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\" \u0026\u0026 \\\necho 'eval \"$(/opt/homebrew/bin/brew shellenv)\"'\u003e\u003e$HOME/.zprofile \u0026\u0026 \\\neval \"$(/opt/homebrew/bin/brew shellenv)\" \u0026\u0026 \\\nbrew doctor\n```\n\nIf Intel Architecture:\n\n```sh\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\" \u0026\u0026 \\\nbrew doctor\n```\n\n### Tools\n\n##### Install [watchman](https://facebook.github.io/watchman/):\n\n```sh\nbrew install watchman\n```\n\n##### Install [trash](https://hasseg.org/trash/):\n\n```sh\nbrew install trash\n```\n\n##### Install [git](https://git-scm.com/):\n\n```sh\nbrew install git\n```\n\n##### Install [zsh](https://www.zsh.org/):\n\n```sh\nbrew install zsh\n```\n\n##### Install [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh):\n\n```sh\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n```\n\n##### Install [oh-my-posh](https://github.com/jandedobbeleer/oh-my-posh) (CLI theming):\n\n```sh\nbrew install jandedobbeleer/oh-my-posh/oh-my-posh\necho '# Theme configuration: Oh My Posh' \u003e\u003e ~/.zshrc\necho 'if [ \"$TERM_PROGRAM\" != \"Apple_Terminal\" ]; then' \u003e\u003e ~/.zshrc\necho '  if [ -f ~/.moonlight.omp.json ]; then' \u003e\u003e ~/.zshrc\necho '    eval \"$(oh-my-posh init zsh --config ~/.moonlight.omp.json)\"' \u003e\u003e ~/.zshrc\necho '  else' \u003e\u003e ~/.zshrc\necho '    eval \"$(oh-my-posh init zsh --config $(brew --prefix oh-my-posh)/themes/jandedobbeleer.omp.json)\"' \u003e\u003e ~/.zshrc\necho '  fi' \u003e\u003e ~/.zshrc\necho 'fi' \u003e\u003e ~/.zshrc\n```\n\nCopy my Oh My Posh settings:\n\n```sh\ncp ~/Downloads/mac-dev-setup/.moonlight.omp.json ~/.moonlight.omp.json\n```\n\nRestart your CLI for this to take effect.\n\n##### Install [powerlevel10k](https://github.com/romkatv/powerlevel10k/) (CLI theming):\n\n```sh\nbrew install powerlevel10k \u0026\u0026 \\\necho '# Theme configuration: PowerLevel10K' \u003e\u003e ~/.zshrc \u0026\u0026 \\\necho 'source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme' \u003e\u003e ~/.zshrc \u0026\u0026 \\\necho '# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.' \u003e\u003e ~/.zshrc \u0026\u0026 \\\necho '[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh' \u003e\u003e ~/.zshrc\n```\n\nCopy my PowerLevel10K settings:\n\n```sh\ncp ~/Downloads/mac-dev-setup/.p10k.zsh ~/.p10k.zsh\n```\n\nOr customize your own settings:\n\n```sh\np10k configure\n```\n\nRestart your CLI for this to take effect.\n\n##### Install [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions/):\n\n```sh\nbrew install zsh-autosuggestions \u0026\u0026 \\\necho \"# Fish shell-like fast/unobtrusive autosuggestions for Zsh.\" \u003e\u003e ~/.zshrc \u0026\u0026 \\\necho \"source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh\" \u003e\u003e ~/.zshrc\n```\n\nRestart your CLI for this to take effect.\n\n##### Install [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting/):\n\n```sh\nbrew install zsh-syntax-highlighting \u0026\u0026 \\\necho \"# Fish shell-like syntax highlighting for Zsh.\" \u003e\u003e ~/.zshrc \u0026\u0026 \\\necho \"# Warning: Must be last sourced!\" \u003e\u003e ~/.zshrc \u0026\u0026 \\\necho \"source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\" \u003e\u003e ~/.zshrc\n```\n\nRestart your CLI for this to take effect.\nNote the `source` command must be **at the end** of `~/.zshrc`.\n\n##### Install [node](https://nodejs.org/) (Node via [Homebrew](https://brew.sh/)):\n\n```sh\nbrew install node\n```\n\n##### Install [n](https://github.com/tj/n/) (Node via n):\n\n```sh\nbrew install n\n```\n\n##### Install [nvm](https://github.com/nvm-sh/nvm/) (Node via nvm):\n\n```sh\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash\n```\n\n##### Install [yarn](https://yarnpkg.com/):\n\n```sh\nbrew install yarn\n```\n\n##### Install [pnpm](https://pnpm.io/):\n\n```sh\nbrew install pnpm\n```\n\n##### Upgrade [npm](https://www.npmjs.com/) (globally via npm):\n\n```sh\nnpm install -g npm@latest\n```\n\n##### Install/Upgrade [serve](https://github.com/zeit/serve/) (globally via npm):\n\n```sh\nnpm install -g serve@latest\n```\n\n### Applications/Casks\n\n##### Install JetBrainsMono Nerd Font:\n\n```sh\nbrew tap homebrew/cask-fonts # You only need to do this once!\nbrew install font-jetbrains-mono-nerd-font\n```\n\n##### Install 1Password:\n\n```sh\nbrew install --cask 1password\n```\n\n##### Install Brave Browser:\n\n```sh\nbrew install --cask brave-browser\n```\n\n##### Install Bruno:\n\n```sh\nbrew install --cask bruno\n```\n\n##### Install Discord:\n\n```sh\nbrew install --cask discord\n```\n\n##### Install Figma:\n\n```sh\nbrew install --cask figma\n```\n\n##### Install Ghostty:\n\n```sh\nbrew install --cask ghostty\n```\n\n1. Copy the theme:\n   ```sh\n   mkdir -p ~/.config/ghostty/ \u0026\u0026 \\\n   cp ~/Downloads/mac-dev-setup/Moonlight.ghostty.config ~/.config/ghostty/config\n   ```\n2. Check the theme by going to:\n   - \"Settings…\"\n3. Reload Ghostty and resolve any remaining issues.\n   - \"Reload Configuration\"\n\n##### Install Google Chrome:\n\n```sh\nbrew install --cask google-chrome\n```\n\n##### Install iTerm:\n\n```sh\nbrew install --cask iterm2\n```\n\n1. Copy my iTerm settings:\n   ```sh\n   cp ~/Downloads/mac-dev-setup/.zshrc ~/\n   ```\n2. Set the theme by going to:\n   - \"Settings… \u0026rarr; Profiles \u0026rarr; Colors \u0026rarr; Color Presets… \u0026rarr; Import…\"\n   - Theme location: `~/Downloads/mac-dev-setup/Moonlight.itermcolors`\n3. Set the font by going to:\n   - \"Settings… \u0026rarr; Profiles \u0026rarr; Text \u0026rarr; Font\"\n   - Font name: \"JetBrainsMono NFM\" or \"JetBrainsMono Nerd Font Mono\"\n4. Restart iTerm and resolve any remaining issues.\n\n##### Install Rectangle:\n\n```sh\nbrew install --cask rectangle\n```\n\n##### Install Slack:\n\n```sh\nbrew install --cask slack\n```\n\n##### Install Sourcetree:\n\n```sh\nbrew install --cask sourcetree\n```\n\n1. Set the font by going to:\n   - \"Settings… \u0026rarr; Diff \u0026rarr; Internal Diff Visualization \u0026rarr; Diff View font\"\n   - Font name: \"JetBrainsMono NFM\" or \"JetBrainsMono Nerd Font Mono\"\n2. Restart Sourcetree and resolve any remaining issues.\n\n##### Install Spotify:\n\n```sh\nbrew install --cask spotify\n```\n\n##### Update Terminal:\n\n1. Set the theme and font by going to:\n   - \"Settings… \u0026rarr; Profiles \u0026rarr; Import…\" (bottom left next to the \"+/-\" buttons)\n   - Theme location: `~/Downloads/mac-dev-setup/Moonlight.terminal`\n   - Font name: \"JetBrainsMono NFM\" or \"JetBrainsMono Nerd Font Mono\"\n2. Restart Terminal and resolve any remaining issues.\n\n##### Install Visual Studio Code:\n\n```sh\nbrew install --cask visual-studio-code\n```\n\n1. Install my Extensions:\n   ```sh\n   code --install-extension alefragnani.project-manager\n   code --install-extension atomiks.moonlight\n   code --install-extension bradlc.vscode-tailwindcss\n   code --install-extension christian-kohler.npm-intellisense\n   code --install-extension christian-kohler.path-intellisense\n   code --install-extension codeforge.remix-forge\n   code --install-extension dbaeumer.vscode-eslint\n   code --install-extension eamodio.gitlens\n   code --install-extension editorconfig.editorconfig\n   code --install-extension esbenp.prettier-vscode\n   code --install-extension formulahendry.auto-rename-tag\n   code --install-extension github.copilot\n   code --install-extension github.copilot-chat\n   code --install-extension github.vscode-github-actions\n   code --install-extension gruntfuggly.todo-tree\n   code --install-extension l13rary.l13-diff\n   code --install-extension mikestead.dotenv\n   code --install-extension ms-azuretools.vscode-docker\n   code --install-extension orta.vscode-twoslash-queries\n   code --install-extension prisma.prisma\n   code --install-extension qwtel.sqlite-viewer\n   code --install-extension stylelint.vscode-stylelint\n   code --install-extension tyriar.sort-lines\n   code --install-extension unifiedjs.vscode-mdx\n   code --install-extension vscode-icons-team.vscode-icons\n   code --install-extension yoavbls.pretty-ts-errors\n   code --install-extension zignd.html-css-class-completion\n   ```\n2. Copy my Visual Studio Code User settings:\n   ```sh\n   cp ~/Downloads/mac-dev-setup/Code/* ~/Library/Application\\ Support/Code/User\n   ```\n3. Restart Visual Studio Code and resolve any remaining issues.\n\n##### Install Warp:\n\n```sh\nbrew install --cask warp\n```\n\n1. Copy the theme:\n   ```sh\n   mkdir -p ~/.warp/themes/ \u0026\u0026 \\\n   cp ~/Downloads/mac-dev-setup/Moonlight.warp.yaml ~/.warp/themes/\n   ```\n2. Set the theme and font by going to:\n   - \"Settings… \u0026rarr; Appearance… \u0026rarr; Themes\"\n   - Theme name: \"Moonlight\"\n   - Font name: \"JetBrainsMono NFM\" or \"JetBrainsMono Nerd Font Mono\"\n3. Restart Warp and resolve any remaining issues.\n\n##### Install Zoom.us:\n\n```sh\nbrew install --cask zoom\n```\n\n### Optimizations\n\n##### Re-sort Launchpad applications:\n\n```sh\ndefaults write com.apple.dock ResetLaunchPad -boolean true; killall Dock\n```\n\n##### Updating [oh-my-zsh](https://github.com/ohmyzsh/ohmyzsh):\n\n```sh\nomz update\n```\n\n##### Optimizing [Homebrew](https://brew.sh/):\n\n```sh\nbrew update \u0026\u0026 brew upgrade \u0026\u0026 brew doctor \u0026\u0026 brew cleanup\n```\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelschwobe%2Fmac-dev-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelschwobe%2Fmac-dev-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelschwobe%2Fmac-dev-setup/lists"}