配置一台新的Mac:打造极致效率的开发者工作流

TL;DR

分享我配置全新 Mac 的核心思路与软件清单。

拿到一台崭新的 Mac 后,如何快速、优雅地将其打造为一台生产力机器?

随着我日常技术栈的更迭(涵盖 Python、Node.js 与 LaTeX),我的配置理念也逐渐从“随用随装”转变为**“高度代码化、模块化与自动化”**。本文将为你梳理我构建这套工作流的核心思路。


1. 终端

终端是我们与机器对话的窗口,一个赏心悦目且响应迅速的终端能极大提升编码幸福感。

  • Wezterm:终端模拟器上我选择了基于 Rust 构建的 Wezterm。它的跨平台特性和原生 Lua 配置支持,让所有的 UI 定制和快捷键映射变得极具可编程性。
  • Starship:轻量、极速且高度可定制。配合 Gruvbox Rainbow 主题与 FiraMono Nerd Font 字体,终端信息层级一目了然。
  • 现代 CLI 替代品:我更倾向于使用更加现代命令行工具,并部分通过 alias 替换了系统原生命令:
    • eza 替代 ls(带图标、网格视图)
    • zoxide 替代 cd(支持路径记忆和模糊跳转)
    • bat 替代 cat(自带语法高亮)
    • ripgrep (rg) 和 fd 替代传统的搜索工具

2. 环境管理:拒绝全局污染

随着项目增多,将所有语言环境混杂在系统全局是一场灾难。我采用了严格的环境隔离策略。

双轨制环境管理策略
  • Miniforge:针对数据分析的工作,我使用由社区维护的 Miniforge 替代臃肿的 Anaconda。配置默认不激活 base 环境,确保终端启动速度,并使用一个简单的基础环境(只包含最基础且稳定的依赖)+按项目管理的方法来管理各种环境。独立的项目我使用uv管理环境。
  • Mise:对于 Node.js等其他语言以及常规的 Python 开发,我使用 mise 对编译器进行统一管理。它比 nvm、gvm 等零散的工具更轻量统一,更加方便管理。

3. 配置文件管理:Dotfiles 与 GNU Stow

当你的终端、Git、编辑器甚至窗口管理器都依赖各种 .rc.json 文件时,如何优雅地备份和多端同步?

我的答案是 GNU Stow。我将所有的配置文件统一放置在 ~/.dotfiles 目录下,并使用 Stow 在用户的 Home 目录中生成软链接(Symlinks)。这意味着:

  1. 我的 Home 目录依然干净。
  2. 任何配置的修改都会直接反映在 .dotfiles 目录中。
  3. 配合 Git,换一台新电脑只需 git clone 加一行 stow 命令,就能瞬间复原熟悉的环境。

4. 极致效率工具:让手不用离开键盘

AeroSpace:平铺式窗口管理

MacOS 自带的台前调度或多桌面效率依然不够高。我使用 AeroSpace 作为窗口管理器。相比于 yabai,它无需关闭 MacOS 的 SIP (系统完整性保护) 就能实现完美的树状平铺(Tiling),而且在 MacOS 大版本更新时也不容易崩溃。

通过各种组合键,我可以瞬间将 Arc 浏览器、VS Code 和 Wezterm 精准分配到特定的 Workspace,彻底告别触控板拖拽。

Raycast:Spotlight 的终极替代者

Raycast 已经是 Mac 用户的标配。除了基础的启动应用和剪贴板历史,我重度依赖它的 Quicklinks 功能。无论是搜索各种资源还是进行 Google 翻译,只需呼出 Raycast 敲击几个字母即可直达目标页面。这也是我打开所有应用的唯一入口。

5. 自动化部署:一键安装所有软件

最后,我摒弃了从各种 GUI 页面下载各种软件、插件的过程。

  • VS Code 插件:通过提取 extensions.txt 列表,配合自定义的 Shell 脚本,一键拉取所有主题(Catppuccin)和语言支持(Ruff, Prettier, LaTeX Workshop)。我只保留最基础的插件。
  • 日常软件与 CLI:编写一份 Brewfile。只需执行 brew bundle,就能自动完成 Arc、Notion、Obsidian、LM Studio 甚至各种字体的下载与安装。更加适合长期维护和版本控制。

构建这套工作流虽然需要投入一定的时间折腾配置文件、读文档,但它带来的“一切尽在掌握”的秩序感和长期效率的提升,是完全无价的。

如果你对具体的脚本实现感兴趣,也可以到更详细的 我的 Raw Log 看看。希望这篇文章能为你打造自己的 Mac 工作流提供一些启发!

附录:完整工具与插件清单

1. 终端与命令行现代工具
  • Wezterm: 高度可定制且跨平台的 GPU 加速终端模拟器。
  • NeoVim (配合 LazyVim): 极速且高度可扩展的终端文本编辑器,主要用于修改配置文件。
  • Starship: 跨 Shell 的极速终端提示符美化工具(本文使用 Gruvbox Rainbow 预设)。
  • eza: 现代化的 ls 替代品,支持色彩、图标和网格视图。
  • zoxide: 更智能的 cd 替代品,能记住并快速跳转到常用目录。
  • fzf: 强大的命令行模糊搜索工具,配合 zoxide 使用体验极佳。
  • bat: 带有语法高亮和 Git 集成的现代化 cat 替代品。
  • ripgrep (rg): 极其快速的文本搜索工具,完美替代 grep
  • fd: 简单、直观且快速的目录/文件搜索工具,替代原生 find
  • jq: 轻量级且灵活的命令行 JSON 处理器。
  • tldr: 社区驱动的极简版 man 帮助手册页。
  • yt-dlp: 功能强大的音视频命令行下载工具,支持 YouTube 等众多网站。
  • btop: 界面炫酷且资源详尽的终端系统资源监视器。
  • GNU Stow: 基于软链接的集中式 Dotfiles(点文件)管理工具。
2. 开发环境与包管理
  • Homebrew: MacOS 上不可或缺的缺失包管理器。
  • Miniforge: 社区驱动的轻量级 Conda 发行版,专为数据科学 Python 环境隔离而生。
  • Mise: 统一的全局环境版本管理器,用于管理 Node.js、Golang 和常规 Python 版本。
  • MacTeX: MacOS 平台上完整且原生的 LaTeX 排版系统环境。
3. VS Code 核心插件
  • Catppuccin Frappé & Icons: 柔和护眼的低对比度马卡龙色系主题及配套图标库。
  • Apc Customize UI++: 深入修改 VS Code 原生界面的神器,用于全局替换字体和调整侧边栏样式。
  • ErrorLens: 将代码错误、警告和语法提示直接高亮显示在代码行内。
  • GitLens: 极其强大的 Git 增强插件,在代码行内直接显示历史提交记录和作者。
  • Prettier: 固执己见但极其好用的通用代码格式化工具。
  • Ruff: 采用 Rust 编写的极速 Python Linter 和代码格式化工具。
  • LaTeX Workshop: 在 VS Code 中提供完整的 LaTeX 编写、编译(自动构建)和 PDF 预览工作流。
  • Paste Image: 允许直接从剪贴板将图片粘贴到 Markdown 文件并自动存入本地资源夹。
  • Rainbow CSV: 为 CSV 文件中的不同列提供独立的颜色高亮以增强可读性。
  • Markdoc Language Support: Stripe 官方出品,为 .mdoc 文件提供完美的语法高亮和标签补全。
4. 系统增强与窗口管理
  • AeroSpace: 基于树状结构的 MacOS 平铺式(Tiling)窗口管理器,彻底摆脱触控板拖拽。
  • Raycast: 速度极快且插件生态丰富的启动器,用于全面替代苹果原生的 Spotlight。
  • Mos: 让外接的第三方鼠标在 Mac 上也能拥有触控板般顺滑的滚动体验。
  • KeepingYouAwake: 菜单栏常驻的小茶杯图标,一键防止 Mac 自动休眠。
  • AppCleaner: 干净利落卸载 Mac 软件并清理残留文件的必备小工具。
  • Run Cat: 在菜单栏奔跑的可爱猫咪,奔跑速度反映当前 CPU/内存的使用率。
  • Bob: MacOS 上体验极佳的全局划词翻译与截图翻译工具。
  • Pure Paste: 自动清除剪贴板内容的所有富文本格式,实现纯文本粘贴。
5. 核心生产力与创意软件
  • Cursor: 深度集成 AI 辅助编程功能的现代化代码编辑器。
  • LM Studio & Ollama: 在本地机器上运行和管理各种LLM的客户端。
  • Arc Browser: 颠覆传统标签页逻辑、专注于垂直侧边栏和工作空间划分的现代化浏览器。
  • Obsidian & Notion: 本地知识库与云端协作工作区的完美互补双笔记系统。
  • Zotero: 强大且免费的开源文献管理工具。
  • IINA: 专为 MacOS 设计的现代视频播放器,界面优雅且支持极广。
  • HandBrake: 开源免费的跨平台视频转码器。
  • qView: 极致极简的跨平台图片查看器,没有多余的 UI 干扰。
6. 浏览器扩展
  • easyScholar: 专为科研人员打造的论文助手,一键显示期刊等级与分区。
  • Immersive Translate (沉浸式翻译): 保留原文排版的智能双语对照网页翻译工具。
  • BewlyBewly: 重新设计 Bilibili 网页版 UI,使其更加清爽和现代化的美化插件。
7. 字体
  • Fira Code: 专为程序员设计的等宽字体,支持连字和图标。
  • JetBrains Mono: JetBrains 出品的等宽字体,专为开发者优化。
  • 苹方: 苹果系统自带的中文字体,适合日常使用。

THANKS FOR READING.