Project Icon

Mac-OS-Setup-Applications

Mac OS开发环境配置与应用推荐

该项目整理了一套完整的Mac OS开发环境配置方案和应用推荐清单。内容涵盖硬件选择、命令行工具、shell配置、开发软件以及日常应用等多个方面。项目提供详细的安装步骤和使用说明,帮助开发者快速搭建高效的Mac工作环境。

My Mac OS setup and applications

3 logos: command line, apple and application

My Mac OS setup and the best applications I use as a Web Developer

My Mac OS setup and applications - All the tools and apps any Web Developer should use on a Mac | Product Hunt

Table of content

Disclaimer

I have been always passionate about tools. I always loved experimenting until I can find the right tool for the right task. Being a Front-End Developer requires to know the tools that exist and choose the one that will perform the task faster and better.

Based on hours of research and testing, I'm sharing all the applications I believe suits the best my work and daily workflow. It's a living MacOS configuration that, I hope, will also save you time for you to enjoy life more!

Usage

  • I tried to keep the right order you should also follow to install packages and applications on your Mac (particularly the setup shell part)
  • Some tools are free and some are not. I'm lucky to have the ability to pay for licences and subscriptions. But if you are not in that situation, 1) You will find free alternatives in the "Alternatives" section of most of the tools, 2) you don't need a paid tool to do an amazing work. Just choose the best tool that suits you and your situation.

Where to find the right tool?

  • Product Hunt - By far the best and well-know website where you can find almost everything you need. You will sometimes find a badge ![Upvote on Product Hunt][product-hunt] that redirects to the Product Hunt page. Show some ❤️ to the makers!
  • AlternativeTo - I regularly use AlternativeTo but find it limited and not always accurate. The "ups" are most of the time not relevant or doesn't reflect what people prefer the most. It's a great place to start if you are looking for a list of alternatives though.
  • Slant and stackshare - Slant and Stackshare are kind of similar but Stackshare is more developer tools focused. It's a nice source of information to compare apps / web apps.

My Hardware

Personal Keyboards:

Mouses:

Accessories:

Setup shell

Xcode 11

  • Xcode is required for some applications to run. So having Xcode updated just remove the issue of not being able to install some apps.
xcode-select --install

Homebrew - The Missing Package Manager for macOS

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

With Homebrew comes brew-cask which will allow to install applications with the command line.

Useful commands for Homebrew
brew update                         # Fetch latest version of homebrew and formula.
brew search {app name}              # Searches all known Casks for a partial or exact match.
brew install {package name}         # Install a package
brew info --cask {app name}           # Displays information about a given Cask
brew install --cask {app name}        # Install the given cask.
brew cleanup
Cakebrew (optional) - A GUI for Cask
brew install --cask cakebrew

ZSH - An alternative shell to Bash

brew install zsh

Add this to my ~/.zshrc

export HOMEBREW_CASK_OPTS="--appdir=/Applications"

Oh My Zsh - Framework for managing your Zsh configuration

Verify that ZSH is correctly installed

zsh --version

Additionally, Zsh should be set as the default shell. Run echo $SHELL from a new terminal to confirm. Expected result: /usr/bin/zsh or similar

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Check if Oh My Zsh was correctly installed.

Command Line Apps

⚠️ Some of the following packages are not essential but highly recommended. Some applications may depend on the installation of these packages.

GNU Coreutils - An essential package with basic tools such as ls, rm...

brew install coreutils

Wget - To download data from the web and ftp, easier than curl

brew install wget

Tree - To create beautiful indented listing of files

brew install tree

tree -L 1 # to output only the root directories and files

Nmap - A powerful command line network discovery utility

brew install nmap

The Silver Searcher - Really fast code searching tool

brew install the_silver_searcher

jq - Lightweight and flexible command-line JSON processor

brew install jq

Youtube-dl - A command line alternative to Airy

brew install youtube-dl

youtube-dl -f best 'link-of-your-own-youtube-video'

FFMPEG - To convert videos in multiple formats

brew install tesseract-lang && brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac --with-librsvg --with-libsoxr --with-libssh --with-tesseract --with-libvidstab --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-rubberband --with-webp --with-zeromq --with-zimg --with-srt --with-libvmaf --with-libxml2 --with-game-music-emu --with-libbluray --with-libbs2b --with-libcaca --with-libgsm --with-libmodplug --with-openssl@1.1 --with-rtmpdump --with-speex --with-two-lame --with-wavpack --with-xvid

More details here

blueutil - CLI for bluetooth on OSX

brew install blueutil

Speedtest-cli - The command line version of Speedtest.net

brew install speedtest-cli

Imagemagick - You can do almost everything to edit/convert images and pdfs

brew install imagemagick

DisplayPlacer - Programmatically reorganize your screens layout

brew tap jakehilborn/jakehilborn && brew install displayplacer

Fonts - Installing some fonts

brew tap homebrew/cask-fonts

brew install --cask \
    font-fira-code \
    font-source-code-pro font-source-code-pro-for-powerline \
    font-source-sans-pro

MAS - Install App Store apps from the command line

brew install mas

mas search {app name} # To search for an app

Ruby (rbenv) - To manage multiple versions of Ruby

brew install rbenv ruby-build rbenv-default-gems rbenv-gemset
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc # Apply changes
    
rbenv install {version}

nvm - Easily manage your node versions

⚠️ (never use brew to install nvm)

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

Add these lines in the $HOME/.zshrc file:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

And these lines to automatically switch your node version based on the nvmrc file.

# place this after nvm initialization!
autoload -U add-zsh-hook
load-nvmrc() {
  local node_version="$(nvm version)"
  local nvmrc_path="$(nvm_find_nvmrc)"

  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

    if [ "$nvmrc_node_version" = "N/A" ]; then
      nvm install
    elif [ "$nvmrc_node_version" != "$node_version" ]; then
      nvm use
    fi
  elif [ "$node_version" != "$(nvm version default)" ]; then
    echo "Reverting to nvm default version"
    nvm use default
  fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc

To default a specific node version: nvm alias default {version}

yarn - Fast, reliable, and secure dependency management.

brew install yarn

Act - Run Github Actions Locally

brew install nektos/tap/act

Git standup - Recall what you did on the last working day

brew install git-standup

Github CLI - Github on the command line

brew install github/gh/gh

Quick Look plugins

brew install --cask \
	qlcolorcode qlmarkdown qlprettypatch qlstephen \
	qlimagesize \
	quicklook-csv quicklook-json epubquicklook 

Node packages to install globally

List all NPM package installed globally: npm list -g --depth 0

  • Netlify CLI - npm install netlify-cli -g
  • Gatsby CLI - npm install -g gatsby-cli
  • NPM-check - npm install -g npm-check
  • Yarn-check - npm install -g yarn-check
  • AWS Amplify CLI - npm install -g @aws-amplify/cli
  • Vercel CLI - npm i -g vercel
  • Create React App - npx create-react-app my-app
  • dotenv-cli - npm install -g dotenv-cli
  • Gitmoji - npm i -g gitmoji-cli
  • Release-it - npm install --global release-it
  • Plop - npm i -g plop

Applications

This is a complete list of all the applications I have on my personal and professional Mac (some apps are only on my personal computer).

🎁 Some applications can be bought individually or you can subscribe Setapp for a 7-day free trial to test multiple applications and decide the one you want to use!

Bare minimum

This is the list of the most essentials apps I would install if I was limited in the number of apps to have.

Little Snitch - Control incoming/outgoing network traffic

![Licence ~$30][licence-30] ![Usage high][usage-high] ![Upvote on Product Hunt][product-hunt]

What for? - What I ❤️ - What I 👎
What for?
  • Little Snitch is perfect to block outgoing or incoming connections.
  • When I'm on the go and using my mobile data, I usually block some heavy connections so I limit the amount of data spent.
What I ❤️
  • Easy to use and clean UI
What I 👎
  • I wish the confirmation window could save "my preferences", so I would not have to select "forever" every time.
CLI installation
brew install --cask little-snitch

<img

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号