todkaiser/dotfiles

GitHub: todkaiser/dotfiles

一套通过单条幂等脚本完成 macOS 开发环境全自动配置的 dotfiles 管理方案。

Stars: 0 | Forks: 0

dotfiles macOS 开发环境配置,使用 [GNU Stow](https://www.gnu.org/software/stow/) 和 [Homebrew](https://brew.sh/) 进行管理。 ## 功能 - **单条命令,整机配置** — 通过单个 `./setup` 完成 Homebrew、应用、dotfiles、语言运行时以及 git/SSH 的全部配置。 - **幂等性** — 随时可安全重复运行;每一步都会检查状态并仅在需要时执行操作,使你的 Mac 与仓库保持一致。 - **声明式与权威性** — Brewfile 是唯一事实来源;`brew bundle cleanup` 会移除任何未列出的内容,确保机器状态与清单完全匹配。 - **基于 Stow 管理的 symlink** — 配置文件以 symlink 的方式链接到 `$HOME`,支持版本控制且可逆。 - **自动化的 SSH 设置** — 自动生成密钥,在 GitHub 上注册用于身份验证和签名,并将密码缓存在 macOS Keychain 中,实现无弹窗的签名提交。 - **敏感信息保留在本地** — git 身份信息保存在未追踪的 `~/.gitconfig.local` 中;密钥均为现场生成,绝不提交。 - **开发与个人配置分离** — 提供干净、公开的开发者 Brewfile,以及可选的 gitignored `Brewfile.personal` 用于非开发类应用。 - **安全就绪** — 内置常用的信息安全与网络工具(nmap, Burp Suite, mitmproxy, Wireshark, ngrok)。 ## 安装 ``` git clone https://github.com/todkaiser/dotfiles.git ~/dotfiles cd ~/dotfiles ./setup ``` 安装脚本会按顺序执行以下步骤: 1. 安装 Homebrew(如果尚未安装) 2. 通过 `Brewfile` 安装开发者软件(如果存在 `Brewfile.personal`,则同时安装个人应用) 3. 通过 `stow` 将配置文件以 symlink 形式链接到 `$HOME` 4. 安装 Oh My Zsh(保留已有的 `.zshrc`) 5. 通过 `mise` 安装语言运行时 6. 生成 SSH 密钥(如果缺失),并在 GitHub 上注册用于身份验证和签名 7. 提示输入你的 Git 用户名/邮箱,保存在未追踪的 `~/.gitconfig.local` 中 8. 使用该密钥启用 SSH 提交签名 ### 可选:个人应用 `Brewfile` 仅用于开发。对于非开发类应用(浏览器、媒体、消息传递),请将它们添加到 gitignored 的 `Brewfile.personal`(参见 `Brewfile.personal.example`)中,然后重新运行 `./setup`。 ## 结构 | 路径 | 内容 | |------|----------| | `setup` | 引导脚本(Homebrew, stow, SSH 密钥, git 身份配置) | | `Brewfile` | 开发者环境 — CLI 工具、开发应用、VS Code 扩展 | | `Brewfile.personal` | 本地、gitignored — 任何杂项非开发类软件 | | `zsh/` | `.zshrc`, `.zprofile`, `.zsh_functions` | | `git/` | `.gitconfig` | | `ssh/` | `.ssh/config`(由 Keychain 支持的密钥加载) | | `vim/` | `.vimrc` | | `mise/` | 运行时管理器配置(Ruby, Node, Go, Python, Rust) | | `vscode/` | 扩展列表 |
标签:Cutter, Dotfiles, GNU Stow, Homebrew, SSH签名, 内存分配, 开发环境配置, 数字取证, 网络安全研究, 自动化脚本