V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
royfk
V2EX  ›  macOS

新 Mac 配环境花了三小时还没配完,试过的自动化方案没一个省心的

  •  
  •   royfk · 1 天前 · 3933 次点击

    上个月又买了台 Mac ,又经历了一遍配环境地狱。

    之前几年一直想找个靠谱的自动化方案,陆续试了 Brewfile 、自己写 bash 、chezmoi 、nix-darwin ,踩了一圈坑。Brewfile 最省事但只管 brew install 那堆东西,shell 配置 macOS 偏好 git 身份统统不管,搞完发现才干了三分之一的活。自己写 bash 想把剩下的也自动化,结果国内网络你懂的,中间断一下整个脚本就挂了,而且这玩意跑两遍就报错。

    chezmoi 搞 dotfile 确实专业,但光研究它的目录结构就花了比我配 .zshrc 还长的时间。nix-darwin 我专门花了一整个周末,从满怀期待到满屏报错,现在对日常用 nix 的人是真的肃然起敬。

    后来实在受不了,自己糊了个 CLI 把这几个的活攒一块了(开源的,有兴趣的点 blog 里的链接)。每个方案的坑我都记下来了,也附了国内换镜像源的完整配置,不换源上面说的全白搭:

    blog.fullstackjam.com/2026/mac-setup-automation-guide-2026-zh/

    所以想问问大家现在都怎么搞的?纯 Brewfile 就完事了还是也在折腾别的?有没有人真的在日常用 nix-darwin 的,学了多久上的手? dotfile 你们用啥管,chezmoi ? stow ?还是直接 git bare repo 硬来?

    57 条回复    2026-02-16 16:56:25 +08:00
    Jiajin
        1
    Jiajin  
       1 天前
    新电脑到手,自己配置也挺有意思的。homebrew 、on my zsh 就够了。
    willwon1
        2
    willwon1  
       1 天前
    换了不下 4 台 macbook 了。每次到手都是用换机、基本上换过来所有东西都配好、跟以前机器一模一样
    MacsedProtoss
        3
    MacsedProtoss  
       1 天前 via iPhone
    网络环境软路由来保证的情况下 配环境很快啊 cli 部分 brew 就完事了 gui 部分的话看你有多少是需要走 App Store 的
    seanzxx
        4
    seanzxx  
       1 天前
    nix-darwin 我是日常用的,操心是真操心。
    用稳定版本软件更新慢
    用 master 有时候会出错,而且有些出错很久都没有人修,逼得自己动手修,跳过单元测试了,修改 python 依赖。

    配置好了也挺安心的,指哪打哪,比如你只安装一个 opencode ,他不会像 homebrew 一样还暴露一个 node 恶心人,传递依赖都是内部消化,外部不可见。
    它不光可以搞定软件安装,配置文件也可以搞定,写一套迁移起来也挺方便的。


    我现在是用 nix-darwin 管理命令行工具,nix-darwin 通过 brew 管理 GUI app
    ratazzi
        5
    ratazzi  
       1 天前
    https://hola.ac 自己写的

    macOS 因为权限问题确实很多不能自动
    royfk
        6
    royfk  
    OP
       1 天前
    @Jiajin 确实,第一次配很有意思。但配第 5 次的时候那个新鲜感就没了...😂
    royfk
        7
    royfk  
    OP
       1 天前
    @willwon1 迁移助理是省心,不过我有个强迫症想每次都 clean install ,不想把旧 Mac 的坑带过来。你迁移过来会不会有旧版本的包冲突之类的问题?
    royfk
        8
    royfk  
    OP
       1 天前
    @MacsedProtoss 软路由确实必备!可惜不是人人都有
    royfk
        9
    royfk  
    OP
       1 天前
    @seanzxx 真猛,我那个周末就是卡在 master 出错这步直接弃了...你这还得自己跳单测改依赖,已经不是配环境了这是修包了😂 大佬从开始学到能日常用花了多久啊?
    lerry
        10
    lerry  
       1 天前
    dot files 手动复制,常用软件 brew install
    huijiewei
        11
    huijiewei  
       1 天前
    不省心不就是网络问题,跟其他没有半毛钱关系


    反正我不管跑什么,最终 99%的问题都是网络造成的问题
    zktree
        12
    zktree  
       1 天前 via iPhone
    如果信任 AI ,可以让 claude code 通过远程 ssh 配置
    royfk
        13
    royfk  
    OP
       1 天前
    @zktree 哈哈哈这个思路太野了,不过让 AI 全自动搞我还是有点虚的...
    zktree
        14
    zktree  
       1 天前 via iPhone
    @royfk 现在家里的 home lab 基本都交给 Claude Code 了 😂
    Docker 升级、ADB 连接电视装应用、代理配置、HA 调整这些基本一次就能搞定,省心不少。
    whoosy
        15
    whoosy  
       1 天前
    直接迁移助理
    maojun
        16
    maojun  
       1 天前 via iPhone
    直接时间机器恢复就跟上一台一模一样
    royfk
        17
    royfk  
    OP
       1 天前
    @zktree 我主要还是担心它操作我的主力机,毕竟上面还有工作项目,不过你这个场景听起来是真的省心
    yuanmomo9090
        18
    yuanmomo9090  
       1 天前 via iPhone
    不是 timemachine ?
    foxkiller
        19
    foxkiller  
       1 天前
    就配个 neovim 就行。。。其他的不用配啥了……
    Jiceburger
        20
    Jiceburger  
       1 天前 via Android
    来红帽吧,kickstart 传三代 🐶
    zhhmax
        21
    zhhmax  
       1 天前
    我现在开发环境都在云服务器上,本地 Mac 配置一下 iTerm2 ,装个 VSCode 后就能开发了。
    stinkytofux
        22
    stinkytofux  
       1 天前
    最近 10 年我只配过两次环境, 第一次是人生第一台 mac, 第二次是 Intel 转 ARM. 中间换电脑, 加电脑,直接用时间机器还原.
    royfk
        23
    royfk  
    OP
       1 天前 via iPhone
    @zhhmax 要拉 GitHub 代码咋办,国内拉不会很慢吗
    Jiajin
        24
    Jiajin  
       1 天前
    @royfk 换电脑太频繁了,三五年一换没这个烦恼。
    Jiajin
        25
    Jiajin  
       1 天前
    第一步永远是先从 tun 层面解决网络问题,然后就简单了。
    zhhmax
        26
    zhhmax  
       1 天前   ❤️ 1
    @royfk #23 云服务器在美国,用一台美西三网优化线路中转,平时远程上去开发非常丝滑,俩服务器一年成本也就三百多。
    Folder
        27
    Folder  
       1 天前   ❤️ 1
    我的 mac 配置不复杂, 安装的软件也不多, 所以更喜欢手动来. 特别是手动安装配置的过程中能发现不少实际上用不到的和之前没配置好的东西. 有点像代码重构一样.
    royfk
        28
    royfk  
    OP
       1 天前 via iPhone
    @Folder 说用 timemechine 的人永远 get 不到新 mac 就是新 mac
    royfk
        29
    royfk  
    OP
       1 天前 via iPhone
    @zhhmax 赛博美国开发者
    usVexMownCzar
        30
    usVexMownCzar  
       1 天前 via iPhone
    整个美区等非国区的账号,开机初始化后,App Store 登录美区账号下载 shadowrocket 圈 x ,打开 Safari 去✈️复制订阅链接。

    接下来水到渠成😎
    darksword21
        31
    darksword21  
    PRO
       1 天前
    nix
    maojun
        32
    maojun  
       1 天前 via iPhone
    想 clean install 的话可以配好以后用时间机器做一个模板,以后每次从这个时间点恢复,也方便
    MasterCai
        33
    MasterCai  
       1 天前
    TimeMachine ,我更希望我的新 Mac 用起来跟我的旧 Mac 一样,迁移了三次都挺好用的
    huaweii
        34
    huaweii  
       1 天前 via Android
    brewfile + stow (管理 dotfile )+ AI 写个脚本,很简单。
    yhxx
        35
    yhxx  
       1 天前
    每次都是手动,感觉很好玩,像是一个新玩具

    自动化掉感觉就像是个工具了
    royfk
        36
    royfk  
    OP
       1 天前 via iPhone
    @huaweii 我之前也是这么搞的,后来维护 Brewfile + stow 冲突处理这些零碎时间加起来不少,就干脆写了个 CLI 把这些打包了:github.com/openbootdotdev/openboot​​​​​​​​​​​​​​​​
    Liftman
        37
    Liftman  
       23 小时 42 分钟前
    直接 codex 启动就行了。。有啥复杂的。。我现在给客户服务器部署我都不亲自去的。直接 codex ssh 操作。分分钟全部完成。。。折腾啥玩意。
    snylonue
        38
    snylonue  
       22 小时 55 分钟前
    @seanzxx unstable 分支应该会稳定一点
    lixintcwdsg
        39
    lixintcwdsg  
       21 小时 26 分钟前
    不都是 timemachine 恢复吗?没有一次配置过。
    volvo007
        40
    volvo007  
       21 小时 22 分钟前 via iPhone
    先用备份还原,如果没有备份纯手装也很快。装了这么多次,首要就是把梯子的软件和配置先搞好。新系统啥都不做第一件事就是搞梯子,搞完之后后面的一马平川了。有条件的话我会把几个重要的软件安装包也备好,省得下载花时间。我工作比较杂,要装的东西非常多,但基本 3-4 小时也都搞定了( brew 里面大约 30 个库或者 app 、conda 、golang 、node 、rust/cargo 、vscode/cursor 、blender 、fusion 、ps/lightroom 后台放它自己装、Office 后台自己装、raycast 、Chrome 、dbeaver 、最花时间的应该是 nvim 编译+简单配置但现在也熟练了、kitty 配置一下就行,剩余的就是平日花时间慢慢完善了)
    dawn009
        41
    dawn009  
       21 小时 19 分钟前
    确实麻烦。而对我而言另一个问题是,我的这些使用偏好更新的很快,在偏好稳定之前不适合做自动化配置,然而一直稳定不下来。
    royfk
        42
    royfk  
    OP
       21 小时 11 分钟前
    @volvo007 你这个列表基本就是 openboot developer preset 的内容哈哈,一个命令能把这 30 多个包全装完,cask 的也包含。要是下次换机可以试试:openboot.dev
    volvo007
        43
    volvo007  
       21 小时 5 分钟前 via iPhone
    @royfk 哦哦这样吗,那下次又可以省事了,我去看看
    FlashEcho
        44
    FlashEcho  
       20 小时 12 分钟前
    我换电脑的频率不高,所以一般是手动重装的,这样可以正好清理掉一些顽固的缓存和不用的软件,如果非要自动化,我感觉用手动先处理好网络问题,然后 homebrew+App Store+各种配置文件的专门仓库+ansible playbook 可能能搞定,不寄希望于一个工具真的干所有,对外只有一个 playbook 也行
    gudecatch
        45
    gudecatch  
       20 小时 1 分钟前
    可能我并不经常动我装的东西,所以体感来说 nix-darwin 还挺好用的,一套系统能基本管上 mac, linux
    bowencool
        46
    bowencool  
       19 小时 12 分钟前
    全部时间机器恢复,累计得有 10 台 mac 了
    royfk
        47
    royfk  
    OP
       18 小时 57 分钟前   ❤️ 1
    @FlashEcho 我之前也试过 homebrew + ansible playbook 这套,后来发现 playbook 维护成本比想象中高。现在常用的部分打包成了一个 CLI ,本质上就是你说的"对外只有一个 playbook"的思路:github.com/openbootdotdev/openboot
    veightz
        48
    veightz  
       18 小时 45 分钟前 via Android
    要不先安装个 codex 或者 claude ,然后让它来装?
    EVJohn
        49
    EVJohn  
       18 小时 39 分钟前
    你不买个 surge 吗?
    cloverzrg2
        50
    cloverzrg2  
       16 小时 51 分钟前
    四五年才换一次 MacBook ,用的时候缺哪个就装哪个,不感觉有什么烦恼, 这样新系统也更干净
    20015jjw
        51
    20015jjw  
       16 小时 30 分钟前
    稍微有点信息搜索能力就不能找不到 mackup...
    phoenix0openclaw
        52
    phoenix0openclaw  
       13 小时 50 分钟前
    我现在的结论是:别指望“一把梭”,分层最省心:
    1 ) Brewfile 只管 GUI/CLI 包(+ mas 装 App Store ),当作 base image ;
    2 )语言运行时用 mise/asdf ( node/python/ruby…),跟 brew 解耦;
    3 ) macOS defaults / ssh/git 身份 / 证书 这些写成可重跑的小脚本(幂等+重试),最后人工填一次 secrets 。
    chezmoi/stow 我更偏 chezmoi ,但只拿它管 dotfiles ,别让它背全世界。⑯
    dilidilid
        53
    dilidilid  
       12 小时 14 分钟前   ❤️ 1
    不理解有啥需要配置的,就算不用 Time Machine ,MAS 把软件一装,iCloud 一同步,home 目录配置和脚本复制过去,brew 那些软件需要的时候再装,不就完了吗,可能再把微信目录复制一下?你还要配置啥
    royfk
        54
    royfk  
    OP
       9 小时 41 分钟前 via iPhone
    @phoenix0openclaw 你这个分层思路跟我做的工具思路基本一致,第 1 层 Brewfile + 第 3 层 macOS defaults/git 配置这些我打包成了一个 CLI ,snapshot 能把当前环境导出,换机一个命令恢复。第 2 层 mise/asdf 确实应该独立管,不该耦合进来。开源的:github.com/openbootdotdev/openboot
    JEFFMEME
        55
    JEFFMEME  
       9 小时 23 分钟前 via iPhone
    1.你这种迁移多且频繁的需求,用时间机器(备份还原设计目的就是干这个的)迁移不是更方便么:)
2.电脑配置买高一点,降低更换频次;
3.工作内容职业随年限会更迭的,以后多为管理、检查,自然配置折腾的就少了:)
PS:没有恶意单纯聊聊~
    LotusChuan
        56
    LotusChuan  
       5 小时 14 分钟前
    我环境都是命令行的,vcsh 做版本管理,配完代理后 pull 下来就全自动化了。最多就有些密钥不好托管到 github ,需要手动从旧机器拷过来
    bubuyier
        57
    bubuyier  
       1 小时 4 分钟前
    我最近也是配了一台新 Mac ,用 Claude Code + nix-Darwin 来管理软件,很满意了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1751 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 111ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    ♥ Do have faith in what you're doing.