Andrew 的 Dotfiles 仓库
Andrew Janke 的个人配置文件和系统设置脚本。
这里的想法是尽可能接近这样一种状态:坐在一台全新的电脑或用户账户前,只需运行几条命令,就能完全按照我喜欢的方式设置好并开始工作,而不是花几个小时手动摆弄 GUI 偏好设置面板之类的东西。
使用此仓库
注意!整个项目仍在进行中,可能永远不会“完成”。我将此仓库公开,以便其他人可以使用我的代码和技术。但它不是一个产品,在接口和行为上都不稳定,也没有任何支持。我可能会随时继续更改这些内容以满足我自己的需求,甚至可能以不向后兼容的方式。因此,你不能只是克隆仓库,直接使用它,并期望它是稳定的。
如果你想使用此仓库,请复制一份,阅读并理解它,然后将其加载到你自己的 dotfiles 仓库中;之后,如果你愿意,可以以受控、审慎的方式从上游拉取更新。(最好不要使用我仓库的 GitHub fork;你需要一个独立的(“规范的”)仓库。)
仓库部分
此仓库有几个不同的部分。
- dotfiles – Unix 风格的配置文件,可直接放入主目录。
- bin – 我希望在所有计算机上都有的、大致可移植的小型 Unix 脚本和程序。
- sys-setup – 用于安装软件和调整系统设置的系统和用户配置脚本。
- settings – 设置数据文件。
- manual – 从各种程序中导出和导入的设置文件,手动管理。
- iTerm2 – iTerm2 的“从文件夹加载设置”偏好同步功能的共享数据目录。
整体安装 / 使用
要设置 dotfiles:
- 将此仓库克隆到本地,并放置在其永久位置。
- 运行仓库根目录中的
install-dotfiles命令。
这将把您各种 ~/.* 文件符号链接到仓库中的定义。
要使用 sys-setup 从零开始设置一台新的 Mac:
- 将此仓库克隆到本地,并放置在其永久位置。
- 安装 Xcode 和/或 Xcode CLT。
- 在
sys-setup中:./setup-osx-homebrewsudo ./setup-osx-system./setup-osx-user
在 Dropbox 中使用 - 不推荐
我过去曾将此仓库的“本地”克隆放在我的 Dropbox 云盘中,但这效果不佳,我现在不再这样做,也不建议其他人这样做。现在我只将其保存在 Dropbox 或任何其他云盘之外的常规仓库克隆目录中。
这个想法是为了省去在每台使用它的计算机上定期执行 git pull 的工作,并自动在所有地方获取最新且最完善的版本。但由于各种原因,Dropbox 并不完全适合这样做。我的 dotfiles 优先级很高,我希望它们能立即同步,但当数据变动量很大时,Dropbox 可能需要数小时甚至数天才能追上,而且没有很好的方法来优先同步某些文件。云盘同步似乎与 git 存在潜在的冲突,而 git 本身就是一种数据同步机制。我有时确实希望不同的计算机使用我的 dotfiles 的不同分支或版本。一些程序(如 Anaconda)喜欢在设置过程中笨拙地修改你的 dotfiles,当这种情况发生时,我希望注意到它,查看它发生在哪里,并撤销它。大约从 2021 年起,Dropbox 非常希望让你的文件仅存在于云端,但我希望我所有的 dotfiles 都在本地同步,以便被本地计算机备份捕获。等等。
设计与实现说明
有关我的 dotfiles 和 shell 配置设置的设计信息,请参阅 dotfiles/README.md。
setup-osx-system 和 setup-osx-user 脚本只能对 setup-osx-homebrew 具有软依赖,以便可以在没有 Homebrew 安装的情况下运行它们来配置“干净”的机器。而且截至 2024 年,setup-osx-* 脚本是最容易出问题的,因为每个新的 macOS 版本,Apple 似乎都会移除或破坏 macOS 中的一些脚本或可配置性支持,而我太累了,无法跟上这些变化。
许可证
本项目中的所有材料均根据 MIT 许可证授权,除非另有说明。参见 LICENSE.md。