dotfiles

使用Nix Flakes统一管理macOS与Linux开发环境配置

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:dotfiles。
它的用途是:使用Nix Flakes统一管理macOS与Linux开发环境配置
详细介绍见:https://321skill.com/skills/dotfiles-poorrican/
请根据该页面的说明完成安装。

使用示例

“我正在一台新的macOS笔记本上工作,请帮我用这个dotfiles仓库配置好我的Neovim、Zsh和Git环境。” 它会引导你克隆仓库,检查现有主机配置或创建新的,然后运行`home-manager switch --flake .#mbp`命令来一键安装所有预定义的软件包和配置文件。

介绍

这个Skill解决开发者在多台机器(如MacBook、Linux服务器)上同步和维护复杂开发环境配置的难题。它通过Nix Flakes、nix-darwin和home-manager技术栈,将终端、编辑器、Shell等工具的配置文件集中管理,实现声明式、可复现的环境部署。

使用时,你只需在仓库中定义好针对不同主机(如mbp、dgx)的配置模块,然后通过简单的命令行(如home-manager switch --flake .#mbp)即可一键激活或切换整个用户环境。对于macOS系统级配置,也提供了相应的构建和切换命令。

它非常适合需要频繁切换工作环境、追求环境一致性且对自动化有较高要求的技术人员,如使用多台设备的开发者、运维工程师或学术研究者。

建议在使用前对Nix语言和Flakes概念有基本了解。由于配置基于Nix,初次构建可能需要较长时间下载依赖,但后续更新和回滚会非常高效。注意,它主要面向有命令行使用经验的用户。

核心特点

与常见的dotfiles管理方案(如纯Git同步或GNU Stow)相比,它深度集成Nix生态,不仅同步文件,更通过声明式Nix模块管理完整的软件包、配置和服务依赖,确保环境在不同系统间的绝对一致性和可复现性。

注意事项

不适合对Nix不熟悉、或只需要简单同步几个配置文件的新手用户。

常见问题

如何在新的Linux服务器上快速部署我的开发环境?

克隆仓库后,运行`./bin/bootstrap-dotfiles`脚本初始化,然后执行`home-manager switch --flake .#emc`(假设主机名为emc)即可。

如何为新的应用程序(如一个新的终端模拟器)添加配置?

在`configs/`目录下创建对应应用的XDG配置结构,然后在`nix/modules/`中创建Nix模块引用这些文件,最后在主机配置中导入该模块并重建。