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

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

  •  
  •   royfk · 17 小时 32 分钟前 · 3178 次点击

    上个月又买了台 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 硬来?

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

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


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

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


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

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

    自动化掉感觉就像是个工具了
    royfk
        36
    royfk  
    OP
       13 小时 21 分钟前 via iPhone
    @huaweii 我之前也是这么搞的,后来维护 Brewfile + stow 冲突处理这些零碎时间加起来不少,就干脆写了个 CLI 把这些打包了:github.com/openbootdotdev/openboot​​​​​​​​​​​​​​​​
    Liftman
        37
    Liftman  
       12 小时 52 分钟前
    直接 codex 启动就行了。。有啥复杂的。。我现在给客户服务器部署我都不亲自去的。直接 codex ssh 操作。分分钟全部完成。。。折腾啥玩意。
    snylonue
        38
    snylonue  
       12 小时 6 分钟前
    @seanzxx unstable 分支应该会稳定一点
    lixintcwdsg
        39
    lixintcwdsg  
       10 小时 36 分钟前
    不都是 timemachine 恢复吗?没有一次配置过。
    volvo007
        40
    volvo007  
       10 小时 32 分钟前 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  
       10 小时 29 分钟前
    确实麻烦。而对我而言另一个问题是,我的这些使用偏好更新的很快,在偏好稳定之前不适合做自动化配置,然而一直稳定不下来。
    royfk
        42
    royfk  
    OP
       10 小时 22 分钟前
    @volvo007 你这个列表基本就是 openboot developer preset 的内容哈哈,一个命令能把这 30 多个包全装完,cask 的也包含。要是下次换机可以试试:openboot.dev
    volvo007
        43
    volvo007  
       10 小时 16 分钟前 via iPhone
    @royfk 哦哦这样吗,那下次又可以省事了,我去看看
    FlashEcho
        44
    FlashEcho  
       9 小时 23 分钟前
    我换电脑的频率不高,所以一般是手动重装的,这样可以正好清理掉一些顽固的缓存和不用的软件,如果非要自动化,我感觉用手动先处理好网络问题,然后 homebrew+App Store+各种配置文件的专门仓库+ansible playbook 可能能搞定,不寄希望于一个工具真的干所有,对外只有一个 playbook 也行
    gudecatch
        45
    gudecatch  
       9 小时 11 分钟前
    可能我并不经常动我装的东西,所以体感来说 nix-darwin 还挺好用的,一套系统能基本管上 mac, linux
    bowencool
        46
    bowencool  
       8 小时 22 分钟前
    全部时间机器恢复,累计得有 10 台 mac 了
    royfk
        47
    royfk  
    OP
       8 小时 7 分钟前
    @FlashEcho 我之前也试过 homebrew + ansible playbook 这套,后来发现 playbook 维护成本比想象中高。现在常用的部分打包成了一个 CLI ,本质上就是你说的"对外只有一个 playbook"的思路:github.com/openbootdotdev/openboot
    veightz
        48
    veightz  
       7 小时 56 分钟前 via Android
    要不先安装个 codex 或者 claude ,然后让它来装?
    EVJohn
        49
    EVJohn  
       7 小时 50 分钟前
    你不买个 surge 吗?
    cloverzrg2
        50
    cloverzrg2  
       6 小时 2 分钟前
    四五年才换一次 MacBook ,用的时候缺哪个就装哪个,不感觉有什么烦恼, 这样新系统也更干净
    20015jjw
        51
    20015jjw  
       5 小时 41 分钟前
    稍微有点信息搜索能力就不能找不到 mackup...
    phoenix0openclaw
        52
    phoenix0openclaw  
       3 小时 1 分钟前
    我现在的结论是:别指望“一把梭”,分层最省心:
    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  
       1 小时 24 分钟前   ❤️ 1
    不理解有啥需要配置的,就算不用 Time Machine ,MAS 把软件一装,iCloud 一同步,home 目录配置和脚本复制过去,brew 那些软件需要的时候再装,不就完了吗,可能再把微信目录复制一下?你还要配置啥
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   801 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:11 · PVG 07:11 · LAX 15:11 · JFK 18:11
    ♥ Do have faith in what you're doing.