My 2023 New Mac Setup

Shawn Wang

我的 2023 年新 Mac 設定

原文由 Shawn Wang 發布,訂閱此部落格

今天我設定好了新的 MacBook Air(13 吋、2023 年 M2、16 GB 記憶體、1TB 硬碟)。以下是我在 Mac 上使用的所有工具。

這篇文章的舊版:2018-2020 年版 以及 2021 年版2022 年版。如果未來我更新這篇文章,這些內容會被封存,但這個網址會維持不變。

曾在 Tomo 的日文 Podcast! 中介紹過

一路捲動到最底,就能看到朋友們整理的清單與其他 Mac 設定工具!

馬上要做的第一步

  • 瀏覽器:下載 Arc Browser(透過 我的推薦連結 下載,我就能免費獲得 Arc 積分,對你沒有任何成本)(我也會用 Chrome、手機版 Safari,偶爾才用 Edge),並設為預設瀏覽器。
    • 建立一個 Google Meet、分享螢幕、錄製螢幕(讓所有權限一次到位,之後就不用重啟瀏覽器了)。也可以透過 Discord 或 Zoom 的網頁版來做——只要發起通話、分享螢幕,把權限都跑過一遍就行
  • 登入以下帳號:(這有助於後面其他服務的登入)
    • Twitter
    • Github(下方有更詳細的設定說明)
    • Gmail
  • 安裝 Warp(我現在慣用的終端機,適合用 AI 產生指令)

需要花點時間安裝的東西

先把這些跑起來,讓它們在背景執行

  • 安裝 ZSH - sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

  • 如果是 M1 Mac:/usr/sbin/softwareupdate --install-rosetta --agree-to-license 來安裝 Rosetta2

  • 安裝 Homebrew - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 然後

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/swyx/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

我在 brew list 裡還有一堆東西,但不確定哪些是真的常用。你可以批次安裝——把清單丟進 packages.txt 再執行 brew install $(cat packages.txt) 就好

autoconf	fnm		glib		libtiff		libyaml		openssl@3	ripgrep
bat		fontconfig	go		libuv		little-cms2	pcre2		ruby
brotli		freetype	graphite2	libx11		lz4		pixman		sqlite
ca-certificates	fzf		harfbuzz	libxau		lzo		pkg-config	xorgproto
cairo		gdbm		icu4c		libxcb		m4		pnpm		xz
deno		gettext		jpeg-turbo	libxdmcp	mpdecimal	pyenv		yarn
diff-so-fancy	gh		libev		libxext		openjdk   	z pipx
docker		giflib		libpng		libxrender	[email protected]	readline	zstd
  • 如果在 M1 上安裝 brew 套件遇到問題,這篇 Stack Overflow 回答幫了我:arch -x86_64 brew install YOUR_PACKAGE。到了 2023 年,我在 M2/macOS Ventura 上已經沒遇到這類問題了
  • 其他可以試試的工具
    • entr(檔案變動時自動重新執行指令)
    • tig(git log 的替代工具)
    • boop
    • murder
    • running
  • 比 Homebrew 更快速/可重現的替代方案 - Nix - sh <(curl -L https://nixos.org/nix/install) --daemon

上述任一種都會提示你安裝 Apple Command Line Tools——這東西下載要花 15 到 25 分鐘,所以先做這一步。不要同時執行兩個。

作業系統/瀏覽器設定

我使用的完整擴充功能清單如下:

aapocclcgogkmnckokdopfmhonfmgoek : Slides : version 0_10
ahfgeienlihckogmohjhadlkjgocpleb : Web Store : version 0_2
amoldiondpmjdnllknhklocndiibkcoe : Twemex: Sidebar for Twitter : version 0_4_4
aohghmighlieiainnegkcijnfilokake : Docs : version 0_10
apdfllckaahabafndbhieahigkjlhalf : Google Drive : version 14_5
bekmjjakgojplnhahcilegeiklenjbgb : Glow : version 1_0
blpcfgokakmgnkcojhhkbfbldkacnbeo : YouTube : version 4_2_8
bmnlcjabgnpnenekpadlanbbkooimhnj : Honey: Automatic Coupons & Cash Back : version 14_11_0
cfldfgibklhmjhnkfighkbafbkbfcmij : Builder : version 1_0_0
cjpalhdlnbpafiamejdnhcphjbkeiagm : uBlock Origin : version 1_42_4
ckolcbmkjpjmangdbmnkpjigpkddpogn : Svelte Devtools : version 1_3_0
dkhfpnphbcckigklfkaemnjdmghhcaoh : netlify-browser-extension : version 1_3_0
fcgckldmmjdbpdejkclmfnnnehhocbfp : Google Finance : version 1_3
felcaaldnbdncclmgdcncolpebgiejap : Sheets : version 1_2
fmkadmapgofadopljbjfkapdkoienihi : React Developer Tools : version 4_24_6
fpnmgdkabkmnadcjpehmlllkndpkmiak : Wayback Machine : version 3_1
geancnifhbkbjijfkcjjdnfemppmcjmk : Hacker News : version 3_21_0
gfdkimpbcpahaombhbimeihdjnejgicl : Feedback : version 1_0
ghbmnnjooekpmoecnnnilnnbdlolhkhi : Google Docs Offline : version 1_42_0
gieabiemggnpnminflinemaickipbebg : CSS Scan : version 3_8_1
hbdpomandigafcibbmofojjchbcdagbl : TweetDeck by Twitter : version 3_10
hdokiejnpimakedhajhdlcegeplioahd : LastPass: Free Password Manager : version 4_95_0_3
hjgngigpjehgifcepdhlnnikibmgeflc : Upnext - Save it for later! : version 4_2_0
hlepfoohegkhhmjieoechaddaejaokhf : Refined GitHub : version 22_5_22
kljjoeapehcmaphfcjkmbhkinoaopdnd : HyperWrite : version 2_0_29
kmendfapggjehodndflmmgagdbamhnfd : CryptoTokenExtension : version 0_9_74
liecbddmkiiihnedobmlmillhodjkdmb : Loom – Free Screen Recorder & Screen Capture : version 5_3_2
mhjfbmdgcfjbbpaeojofohoefgiehjai : Chrome PDF Viewer : version 1
mjdepdfccjgcndkmemponafgioodelna : DF Tube (Distraction Free for YouTube™) : version 1_13_504
neajdppkdcdipfabeoofebfddakdcjhd : Google Network Speech : version 1_0
nffaoalbilbmmfgbnbgppjihopabppdk : Video Speed Controller : version 0_7_1
nkeimhogjdpnpccoofpliimaahmaaome : Google Hangouts : version 1_3_18
nmmhkkegccagdldgiimedpiccmgmieda : Chrome Web Store Payments : version 1_0_0_6
oiaejidbmkiecgbjeifoejpgmdaleoha : Stylebot : version 3_1
pachckjkecffpdphbpmfolblodfkgbhl : vidIQ Vision for YouTube : version 3_73_2
pbgbbbfhjccnnkplhfcmhdcpmcfmpfoi : toast.log : version 2_3
pjkljhegncpnkpknbcohdijeoejaedia : Gmail : version 8_3
poahndpaaanbpbeafbkploiobpiiieko : Display #Anchors : version 1_4

設定終端機

關於 Hyper 終端機的推薦,請參考去年的版本。

設定應用程式/開發環境

你應該已經照上面的步驟用 Homebrew 安裝了一堆東西。下面我會列出其他你可能會想用的工具:

  • Github CLIbrew install github/gh/gh
    • 你需要登入 git——如果有開啟 2FA,就不能用一般的 GitHub 密碼。試著 push 到任何一個隨便的 repo,然後用 Personal Access Token 當作密碼輸入。
    • 接著執行 gh auth login
    • 新增 GitHub SSH 金鑰(必填)
  • 你應該已經透過 brew 安裝好 pyenv 了。現在執行 pyenv install 3 來取得最新的 Python 3。接著 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv 並執行 pyenv global 3 來啟用剛安裝的版本。
    • 新推薦:Astral 推出的 uv 正夯。它可以取代 pip、virtualenv、pyenv、poetry 等工具。還很新,我個人經驗不多,打算下次試試。pip install uv,之後把原本的 pip install 改成用 uv pip install,或用 uv venv 取代 virtualenvpython -m venv。速度快很多,也能和其他工具互換……但對於舊專案,可能還是會有輕微的相依解析問題。
    • pyenv virtualenv 需要一些 zshrc 設定,否則會出現 Failed to activate virtualenv. Perhaps pyenv-virtualenv has not been loaded into your shell properly. 錯誤,我是用這個方法修好的。
    • 安裝 PyTorch:pip3 install torch torchvision
  • 使用 Node.js/NPM 來設定——你應該已經透過上面的 Homebrew 安裝好了 fnm(比 nvm 更快的替代方案),所以不需要另外下載。
    • fnm install 18 來安裝 Node
    • npm login
    • 據說執行 arch -x86_64 zsh 可以避免奇怪的 dotenv 錯誤,但對我沒用(只是在 swyxkit 上執行 npm i)
    • 接著 fnm install 16
    • npm login
    • npm config set loglevel="warn"
    • sudo npm install netlify-cli -g 然後 netlify login
    • npm i -g sign-bunny fortune-node parrotsay 一些有趣的小型 CLI 工具
    • npm i -g undollar 用來移除 $
    • npm install -g npm-check-updates 用來更新相依套件
    • sudo npm install -g trash-cli 來新增 trash 指令,這樣就不會永久刪除檔案
  • brew install yarn --ignore-dependencies - yarn 備註
  • 你可能需要針對 Mac OS Sierra 的處理方式
  • brew install z - 並不是開箱即用——請看我在 rupa/z repo 上的 issue——Homebrew 改變了 z.sh 腳本的預設安裝路徑,所以要確認你的 zshrc 指向正確的新路徑 - . /opt/homebrew/etc/profile.d/z.sh 在你的 zshrc 中
  • 雜項——以前會裝、現在可能不需要的東西
    • pip3 install --user powerline-status
    • 到一個乾淨的資料夾執行 git clone <https://github.com/powerline/fonts> && cd fonts && ./install.sh
    • Anaconda Python 發行版——小心,它常常會在未經詢問的情況下修改你的 bash 提示字元

關於其他已經用 brew 安裝的東西的備註

- `brew install java` - you could download [Java Development Kit](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html) from Oracle but fuck them for putting it behind signup wall
- `brew install go` you may need to `export PATH=$PATH:/usr/local/go/bin`

安裝應用程式


其他不錯的「新筆電設定」清單:

本文章由 muse-spark-1.2-contributor 進行翻譯

留言