dotfiles

一套结合Nix与Stow的现代化、分层式个人开发环境配置管理方案。

安装使用

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

帮我安装这个 AI Skill:dotfiles。
它的用途是:一套结合Nix与Stow的现代化、分层式个人开发环境配置管理方案。
详细介绍见:https://321skill.com/skills/dotfiles-fredrikaverpil/
请根据该页面的说明完成安装。

使用示例

当你拿到一台新电脑,想快速搭建起和之前一模一样、包含所有习惯配置和工具的开发环境时,可以

对AI说:“请帮我按照fredrikaverpil的dotfiles方案配置新机器。” 它会引导你安装Nix,克隆该仓库,并根据你的主机名执行相应的Nix重建命令,自动安装声明的软件包并链接所有点文件。日常你想修改shell别名时,直接编辑`stow/shared/shell/aliases.sh`文件,然后运行`stow`命令,更改立即生效,无需重启终端或重建系统。

介绍

这个Skill旨在解决开发者个人开发环境配置混乱、难以在不同机器间同步和复现的问题。它通过Nix、Stow和包管理器三层结构来管理你的整个工作环境:Nix负责系统级配置和包管理,确保环境完全可复现;Stow以符号链接方式管理点文件(如.zshrc),变更即时生效;而特定语言的CLI工具则由其原生包管理器(如uv、deno)安装,Nix仅负责声明依赖。

使用上,你可以通过一条Nix重建命令(如sudo nixos-rebuild switch --flake ~/.dotfiles#hostname)来一键应用或更新整个系统配置和软件包。对于点文件的日常编辑,则直接在stow/目录下修改,并使用stow命令快速同步到$HOME,无需漫长的系统重建。

它非常适合追求环境一致性、有跨多台机器(尤其是macOS和NixOS)工作需求,且希望将配置代码化、版本化的资深开发者和运维工程师。对于习惯使用Nix生态,并希望将点文件管理与系统配置解耦的用户来说,这是一个优雅的解决方案。

需要注意的是,这套方案学习曲线较陡,强烈建议用户对Nix和Stow有基本了解后再使用。在macOS上,由于home-manager激活可能存在上游已知问题,重建脚本内置了自愈机制,但用户仍需知晓可能的故障点。此外,对于语言生态工具的管理方式,作者本人也在寻求优化方案。

核心特点

核心区别在于其清晰的三层架构设计:用Nix保证底层系统和包的可复现性,用Stow实现点文件的即时、灵活管理,两者职责分离。同时,它并非简单地将所有工具都塞进Nix,而是让语言生态工具(Python/npm)使用其原生包管理器,兼顾了Nix的确定性与生态工具的最新版本便利性。

注意事项

不适合对Nix和命令行不熟悉的新手,或在非Nix支持的Linux发行版上寻求开箱即用解决方案的用户。

常见问题

这个dotfiles配置支持Windows吗?

不支持。它主要面向macOS和NixOS/Linux系统,核心工具Nix和Stow在Windows上并非原生支持或体验不佳。

如何更新像uv或npm安装的CLI工具?

需要手动运行各自的升级命令,例如`uv tool upgrade --all`升级Python工具,`npm-tools-upgrade`升级npm工具,Nix重建不会自动升级它们。