nixmac 是一款由 AI 驱动的 macOS 配置管理器,基于 nix-darwin 构建,通过从简单的英语请求生成 Nix、显示差异以及通过原子重建和回滚安全地应用更改,将您的 Mac 变成一个可重现、版本控制的系统。
https://nixmac.com/?ref=producthunt&utm_source=aipure
Nixmac

产品信息

更新于:2026年07月07日

什么是 Nixmac

nixmac 是一款 macOS 应用程序,旨在使使用 Nix 管理 Mac 变得平易近人且可靠。它基于 nix-darwin 和 Nix 生态系统(包括 Nixpkgs 和 home-manager,并可选集成 Homebrew)构建,可帮助您设置和演进声明性配置,而无需从头开始手动编写所有内容。您可以从一个合理的模板开始,该模板可以搭建一个可工作的 flake,或者导入一个现有的 flake(包括来自 GitHub 的 flake),然后从上次中断的地方继续——使您的系统配置可重现且易于在不同机器之间共享。

Nixmac 的主要功能

nixmac 是一个由 AI 驱动的 macOS 配置管理器,它基于 nix-darwin 构建,可帮助您将 Mac 变成一个可重现、版本控制的系统。您可以用简单的英语描述所需的更改,它会生成/更新 Nix 代码(通常是一个 flake),构建配置,并通过带有实时构建输出的原子 darwin-rebuild 切换安全地应用它。它可以搭建一个合理的入门模板,导入现有的 flake(包括来自 GitHub 的),通过只读检查检测先前的手动/自定义设置,在应用前显示行级差异,检测手动编辑造成的漂移,并将每次应用的更改提交到 Git 以便轻松查看历史记录和回滚。
自然语言到 Nix 更改: 用简单的英语描述您想要什么;nixmac 读取您现有的配置,编写/更新 Nix 代码,并迭代直到它构建成功。
Flake 脚手架和清晰的项目布局: 选择一个起始模板(例如,nix-darwin + Determinate、nixos-unified 或 flake-parts),nixmac 会搭建一个带有合理模块的工作 flake,并在第一次尝试时就能构建成功。
导入现有配置(无需重写): 将 nixmac 指向现有 flake(本地文件夹、flake 引用或 GitHub),它会从您当前的设置继续,包括自动检测 flake.nix 文件。
安全、可观察的重建: 实时流式传输每个重建阶段(评估、构建、获取/编译、激活)并原子地应用更改;失败的构建不会改变正在运行的系统。
可审查的差异 + 漂移检测: 在更改落地之前显示按文件、行级的差异;检测手动编辑(“漂移”)并允许您将其纳入配置或撤消它们。
Git 原生历史记录和恢复: 每次应用都会成为一个带有 AI 编写的语义消息的 Git 提交,创建一个类似变更日志的历史记录,并支持一键恢复到以前的状态。

Nixmac 的使用场景

可重现的开发者工作站: 使用 nix-darwin/home-manager 统一工程师 Mac 上的工具、shell 和服务,并通过 Git 提交和差异跟踪和审查更改。
大规模入职和设备设置: 从已知良好的模板或现有团队 flake 快速启动新 Mac,减少设置时间并确保配置一致性。
macOS 的个人“基础设施即代码”: 维护一个版本控制的 Mac 配置,其中系统更改以自然语言请求,作为差异进行审查,并以原子方式应用,具有回滚安全性。
从临时/手动调整迁移到声明式配置: 使用只读检测来发现已自定义的内容,将其转换为 Nix 代码,并持续捕获未来手动编辑造成的漂移。
多机一致性和恢复: 使用 Git 历史记录在多台 Mac 上复制相同的设置,并在出现错误更改或重建失败后恢复到已知的工作状态。

优点

基于 nix-darwin 构建的可重现、版本控制的 macOS 配置,具有原子应用/回滚行为。
强大的透明度:实时重建输出以及行级差异和漂移检测降低了“黑盒”风险。
灵活的入职:搭建一个工作 flake 或导入一个现有的 flake(包括来自 GitHub 的),无需重写。

缺点

尽管有 AI 辅助,但仍需要采用/理解 Nix 概念(flakes、nix-darwin)以进行更深入的故障排除。
AI 功能可能依赖于托管模型或外部 API 密钥;离线模式需要本地工具(例如 Ollama)。
macOS 特定的操作限制(例如,完全磁盘访问和应用程序转移注意事项)如果安装/运行不正确,可能会增加设置摩擦。

如何使用 Nixmac

1) 下载并安装 nixmac: 访问 https://nixmac.com/download 并安装 macOS 应用程序。
2) 启动 nixmac 并开始引导: 打开 nixmac 并开始引导流程(它将引导您设置可重现、版本控制的 Mac 配置)。
3) 选择配置模板(搭建一个可工作的 flake): 在引导步骤“Config directory”中,选择一个起始模板,以便 nixmac 搭建一个首次即可构建的 Nix flake。显示的选项包括:“nix-darwin + Determinate(推荐)”、“nixos-unified for cross-platform”和“flake-parts for minimalists”。
4) 或者导入现有 flake 而不是搭建: 如果您已经使用 Nix 管理您的 Mac,请将 nixmac 指向您现有的 flake(例如,连接 GitHub 帐户并让 nixmac 自动检测 flake.nix,或使用本地文件夹/flake 引用)。
5) 让 nixmac 检测现有手动自定义项(漂移/导入): 在引导过程中,nixmac 可以运行只读检测,查找您已手动更改的设置、软件包和服务,然后将它们转换为您可以保留在配置中的 Nix 代码。
6) 观看实时构建和重建阶段: 在应用初始设置或后续更改时,nixmac 会实时流式传输每个阶段(评估 flake、构建软件包、从缓存获取/编译以及激活配置)。
7) 使用原子激活安全地应用更改 (darwin-rebuild switch): nixmac 使用真实的 darwin-rebuild switch 原子地应用更改。如果构建失败,您的运行系统将保持不变(失败时自动回滚;在通过之前不会激活任何内容)。
8) 配置 AI 推理(托管、自带密钥或本地): 在“AI inference”步骤中,选择 nixmac 将如何生成/迭代 Nix 更改:使用 nixmac 托管模型(按量计费)、自带 API 密钥(例如 Anthropic/OpenAI),或使用 Ollama 完全本地/离线运行。
9) 用简单的英语描述您想要的内容来做出更改: 引导完成后,使用自然语言提示请求更改(例如,安装软件包、启用设置)。nixmac 读取您的配置,规划编辑,编写 Nix,并迭代直到构建成功。
10) 在应用前审查行级差异: 在更改生效之前,检查逐文件、逐行差异,准确显示将添加/删除的内容,以便您可以验证它不是一个黑盒子。
11) 处理漂移:采纳或撤销手动更改: 如果您在 Nix 之外更改了某些内容,nixmac 会检测到漂移并提供选项,要么将这些更改采纳到您的声明性配置中,要么撤销它们以恢复到声明状态。
12) 将每次应用保存为 Git 提交并在需要时回滚: 每次应用都保存为 Git 提交(带有 AI 编写的语义提交消息)。您可以通过 Git 支持的历史记录/一键恢复工作流程恢复任何以前的状态。
13) (可选) 使用 CLI 进行演进提示和限制: 您可以使用 nixmac evolve "<request>" 从终端运行更改。对于自托管的 OpenAI 兼容服务器或较小的上下文窗口,可以设置限制,例如 --max-output-tokens(也可在“Settings → AI Models → Evolution Limits”中配置)。示例:nixmac evolve "install ripgrep and fd";或 nixmac evolve "enable Touch ID for sudo" --max-output-tokens 32768。

Nixmac 常见问题

nixmac 是一个基于 nix-darwin 构建的 AI 驱动的 macOS 配置管理器。它通过让您用简单的英语描述所需的更改,将您的 Mac 变成一个可重现、版本控制的系统;然后它编写 Nix,构建它,并安全地应用它。

与 Nixmac 类似的最新 AI 工具

Gait
Gait
Gait是一个集成了AI辅助代码生成和版本控制的协作工具,使团队能够高效地跟踪、理解和共享AI生成代码的上下文。
invoices.dev
invoices.dev
invoices.dev 是一个自动化发票平台,直接从开发人员的 Git 提交生成发票,并具有与 GitHub、Slack、Linear 和 Google 服务的集成能力。
EasyRFP
EasyRFP
EasyRFP 是一个 AI 驱动的边缘计算工具包,通过深度学习技术简化 RFP(请求提案)响应并实现实时田间表型。
Cart.ai
Cart.ai
Cart.ai是一个AI驱动的服务平台,提供全面的业务自动化解决方案,包括编码、客户关系管理、视频编辑、电子商务设置和自定义AI开发,并提供24/7支持。