ITADN
apjanke/dotfiles
apjanke/dotfiles · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

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-homebrew
    • sudo ./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-systemsetup-osx-user 脚本只能对 setup-osx-homebrew 具有软依赖,以便可以在没有 Homebrew 安装的情况下运行它们来配置“干净”的机器。而且截至 2024 年,setup-osx-* 脚本是最容易出问题的,因为每个新的 macOS 版本,Apple 似乎都会移除或破坏 macOS 中的一些脚本或可配置性支持,而我太累了,无法跟上这些变化。

许可证

本项目中的所有材料均根据 MIT 许可证授权,除非另有说明。参见 LICENSE.md