我的 MacBook 设置(2024 版)

为开发工作设置一台新的 MacBook 时,人们在两派之间出现分歧:一派依赖 Apple 的 Migration Assistant 或 Time Machine 进行近乎无缝的克隆,另一派则偏好用 Homebrew、Nix、Ansible 和 dotfile 管理器自动化的“全新安装”。评论者分享了应对 macOS 各种怪癖的技巧——窗口管理、触控板行为、前端开发所用浏览器,以及多时区工具——同时也提到受管公司机器上的限制。一个反复出现的主题是:在投入时间构建复杂、可复现的设置,与在需求出现时再逐步进行较慢的配置之间做权衡。

全新安装 vs. 迁移助理

  • 很多人认为 Migration Assistant / Time Machine 能让新 Mac 的设置变得非常简单,能够可靠地跨多个代际克隆应用、偏好设置和数据。
  • 另一些人则刻意偏好“全新安装”,用来清理旧杂物、重新评估工具,或者绕过禁用了迁移的 MDM 限制。
  • 反对全新安装的人认为这纯属不必要的时间浪费,是旧 Windows 习惯的遗留,觉得你完全可以直接卸载不想要的东西。
  • 有些人报告说,从 Intel 迁移到 Apple Silicon 时会出现问题(Homebrew 问题、Rosetta/x86 二进制文件),因此他们建议在这种情况下进行全新安装。

自动化与可复现的设置

  • 文中提到几种用于脚本化或声明式设置的工具:使用 defaults write 的 shell 脚本、Homebrew 的 brew bundle dump、用于 dotfiles 和密钥的 chezmoi、Ansible,以及基于 Nix 的设置(nix-darwin、home-manager)。
  • Nix 因其跨平台、声明式配置而受到称赞(甚至可跨 macOS、Linux、Windows),但也有人认为它过于复杂,而且学起来很费劲。

macOS 上的浏览器

  • 有人对从 Chrome 切换到 Edge 是为了省电这一点感到惊讶;也有人说 Safari 通常是 Mac 上最节能的浏览器。
  • 前端开发者往往更看重 Chromium 或 Firefox,因为它们的 devtools 和兼容性更好,不过在 Safari/Firefox 上做测试仍然被认为很重要。
  • 关于 Apple 的标准立场也存在争论:有人称赞 Safari 在标准方面的工作;也有人把 iOS PWA 限制以及对 DMA 的回应视为其敌视 Web 应用的证据。

窗口管理与 UX 摩擦

  • 对 macOS 窗口管理的抱怨很多:缺少原生的平铺式窗口管理器、应用与窗口模型令人困惑,以及多个桌面下行为不一致。
  • yabai+skhd、Rectangle、BetterSnapTool、Moom、Contexts 等第三方工具被用来近似实现平铺、更好的应用切换,或更合理的最大化行为。
  • 对 tap-to-click 和“自然”滚动等特性的看法分歧很大;有些人非常喜欢,有些人则觉得完全不能用,尤其是在鼠标和触控板混用时。

其他工具与平台对比

  • 启动器和终端:Raycast vs Alfred(成本和臃肿问题)、Warp vs 传统终端(对登录要求的反弹),以及对轻量级终端如 Alacritty 的称赞。
  • macOS 提示:世界时钟小组件、第三方时区工具、用于分别设置鼠标/触控板滚轮方向的 Scroll Reverser,以及电池和窗口切换实用工具。
  • 有些人对 Apple 封闭生态感到沮丧;另一些人则把它与 Windows 进行对比,认为后者更臃肿、广告更多、也更杂乱。