dotfiles

一套基于Nix的声明式系统配置,统一管理NixOS与macOS开发环境。

安装使用

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

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

使用示例

“我需要在新的NixOS笔记本上快速搭建和公司台式机一样的开发环境。”,它会引导你克隆此仓库,根据现有主机配置修改`hosts/`下的新配置文件,然后通过`nixos-rebuild switch --flake .#新主机名`一键完成所有软件、Shell配置、窗口管理器乃至编辑器插件的安装与配置。当你换用macOS工作时,

对AI说:“我想在Mac上获得类似的键位和工具体验”,它可以指导你通过`hey rebuild`命令,将同一套配置中适用于macOS的部分(如Aerospace窗口管理、Raycast启动器)部署到位。

介绍

这套dotfiles旨在解决开发者在不同操作系统(尤其是NixOS和macOS)上配置和管理开发环境时,面临的环境不一致、配置繁琐、难以复现和迁移的痛点。它通过Nix语言和Flakes技术,将整个系统的软件包、配置文件、桌面环境、乃至窗口管理器等,以声明式代码的形式统一管理,实现“一次编写,多处部署”。

使用方式非常直接:对于NixOS用户,可以将其作为系统配置直接安装;对于macOS用户,通过Nix和nix-darwin工具链来接管系统配置。核心操作通过一个名为hey的自定义脚本进行封装,例如hey rebuild即可重建整个系统环境,极大地简化了管理流程。

它非常适合追求极致可复现性、自动化,且同时使用Linux(特别是NixOS)和macOS进行开发的全栈或运维工程师。对于希望深入理解基础设施即代码(IaC)理念,并想将个人电脑环境也纳入版本控制的极客型开发者而言,这是一个绝佳的实践样板。

需要注意的是,这套配置深度绑定Nix生态,学习曲线较陡。初次使用者需要花时间理解Nix和Flakes的基本概念。此外,直接克隆使用可能无法完全适配你的硬件,通常需要根据hosts/目录下的示例,创建或修改属于自己的主机配置文件。

核心特点

核心区别在于其“双平台统一配置”能力,使用同一套Nix代码库同时驱动NixOS和macOS,并深度集成了Doom Emacs、bspwm/polybar等高效工具链,提供了从系统层到应用层的一站式声明式解决方案,而非简单的配置文件集合。

注意事项

不适合对Nix生态不熟悉、或仅需简单配置Windows或传统Linux发行版(如Ubuntu)环境的用户。

常见问题

如何在macOS上安装使用?

先使用Determinate Systems安装器安装Nix,然后克隆仓库,运行 `./bin/hey re` 即可。

可以用于Ubuntu吗?

不直接支持。它专为NixOS和macOS(通过nix-darwin)设计,但你可以借鉴其Nix模块化思想。