命令列工具
nicknisi/dotfiles avatar
nicknisi/dotfiles

一份以 Mise 驱动的 Apple Silicon 工作站清单

此專案圍繞「nicknisi/dotfiles」建置,面向真實業務場景,提供可重複使用、可持續維運的開源實作。

2,992 個 Star372 個 ForkShellMIT
GitHub

秒懂

它是什麼?
真实使用中的 macOS dotfiles 仓库,同时提供 Ubuntu devcontainer 检查路径,重点考察 bootstrap 的副作用和机器差异。
適合誰用?
nicknisi/dotfiles 适合需要Ghostty、zsh、Starship、tmux、Neovim、AeroSpace、SketchyBar、Pi、Claude Code 与 Fleet的读者,但不适合把 README 宣传语直接当成生产保证的场景。采用前先执行 curl -fsSL https://raw.githubusercontent.com/nicknisi/dotfiles/main/install.sh | bash -s -- --dry-run,检查与该项目相关的真实输出、权限、版本和回滚路径;尤其要记录资料没有说明的部分,再决定是否纳入正式环境。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 Shell(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

初始设置与位置无关性 · nicknisi-dotfiles-deep-analysis

该仓库是作者日常使用的工具配置集合,包括 vim、zsh、git、homebrew 和 neovim。README 说明这些 dotfiles 是为了优化作者自己的工作流程而精心整理的,对其他人来说结果可能有所不同。开始时,将仓库克隆到任意位置,因为它的设计不依赖所在位置。在 macOS 上,需要先安装 XCode 命令行工具,命令是 `xcode-select --install`。克隆命令是 `git clone git@github.com:nicknisi/dotfiles.git`。仓库不依赖其位置,因此可以放在任何地方。这是主要的设置事实。

這份設定以 nicknisi-dotfiles-deep-analysis 的實際檔案與命令為核心,使用前要對照目前機器的路徑、工具版本與作業系統差異。這段限制不能由一般 dotfiles 教學取代。

專案核對 0:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

dot 命令取代 install.sh · nicknisi-dotfiles-deep-analysis

该仓库包含一个管理 dotfiles 的 `dot` 命令,取代了之前的 `install.sh` 脚本。它使用 `DOTFILES` 环境变量指定 dotfiles 目录路径,并通过 `PATH` 发现外部命令。默认情况下,链接时会忽略 `bin`、`applescripts` 和 `resources` 目录。基本用法包括 `dot help`、`dot backup`、`dot link [package]` 和 `dot unlink [package]`。在 ZSH 配置完成之前,该命令不在 PATH 中,因此可以从 dotfiles 根目录以 `bin/dot <command> <subcommand>` 运行。备份命令会将现有的 dotfiles 和 Neovim/Vim 配置备份到指定目录(默认 `~/dotfiles-backup`)。链接和取消链接支持详细输出和目标目录指定。内置命令包括用于交互式 Git 配置的 `dot git setup`、用于系统默认设置的 `dot macos defaults`、`dot shell change` 和 `dot shell terminfo`、`dot homebrew install` 和 `dot homebrew bundle`,以及用于清理旧符号链接的 `dot legacy clean`。该命令是可扩展的:在 `$PATH` 中添加名为 `dot-<command>` 的可执行文件即可使用,并使用 'Description:' 注释作为帮助文本。

專案核對 1:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

ZSH 配置与提示符行为 · nicknisi-dotfiles-deep-analysis

ZSH 提示符在 `config/zsh/zshrc` 中定义。它将 `EDITOR` 设置为 `nvim`,加载 `~/.terminfo` 设置,将 `CODE_DIR` 设置为 `~/Developer`,递归地从 `$DOTFILES/zsh` 查找并 source 所有 `.zsh` 文件,如果存在 `~/.localrc` 则 source 它(用于机器特定的配置),并将 `~/bin` 和 `$DOTFILES/bin` 添加到 `PATH`。插件由自定义的插件管理器 `zfetch` 管理。使用的插件包括 zsh-async、zsh-syntax-highlighting、zsh-autosuggestions、zsh-npm-scripts-autocomplete 和 fzf-tab。可以在 `~/.zshrc` 或 `~/.localrc` 中添加类似 `zfetch nicknisi/work-scripts` 的行来添加其他插件。提示符非常简洁,显示当前目录、Node.js 项目中的 Node 版本以及挂起任务指示器。`` 字符表示有挂起的任务。当存在 `package.json` 或 `node_modules` 时,会显示 node 提示符。

專案核對 2:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

Neovim 配置从 Vim 迁移到 Lua · nicknisi-dotfiles-deep-analysis

README 声明这不再是 Vim 配置;配置已迁移为 Neovim 专用,并且大部分用 Lua 编写。`vim` 被设置为 `nvim` 的别名。最简单的安装方式是通过 Homebrew:`brew install neovim`,但如果运行了 `dot homebrew bundle`,可能已经安装。所有配置从 `config/nvim/init.lua` 开始,并符号链接到 `~/.config/nvim`。第一次运行很可能会显示许多错误,因为插件尚未安装。lazy.nvim 会在首次运行时自动安装所需插件。插件在 `config/nvim/lua/nisi/plugins/` 下的多个文件中组织。新插件会自动安装。`:Lazy` 是 lazy.nvim 的接口,并且可以使用 `vimu` 别名以无头方式同步插件。

專案核對 3:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

tmux 主题、按键绑定和 git 状态 · nicknisi-dotfiles-deep-analysis

作者喜欢在 tmux 中运行一切,通常上方有一个大窗格用于 Neovim,底部或右侧有多个窗格用于运行各种命令。仓库没有预配置的布局。仓库带有一个 `tm` 命令,列出活动会话或提示创建新会话。配置包含一个自定义主题系统,自动适配 macOS 深色/浅色模式。状态栏显示 git 仓库信息、Apple Music 或 Spotify 正在播放的音乐、会话名称和系统时间,使用 powerline 风格分隔符和 Nerd Font 图标。前缀从 `Ctrl-b` 改为 `Ctrl-a`。按键绑定:`h`、`j`、`k`、`l` 选择窗格;大写变体放大窗格;破折号创建垂直分割;竖线创建水平分割。git 状态指示器需要 Nerd Font。设置 `$TMUX_MINIMAL` 会在只有一个窗口时隐藏状态栏。

專案核對 4:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

代理编排由 fleet 处理 · nicknisi-dotfiles-deep-analysis

多代理 tmux 编排,包括状态徽章、跳转到等待代理、仪表盘 TUI 和提示注入,由独立的仓库 `fleet` 处理,通过 `brew install nicknisi/formulae/fleet` 安装。tmux 配置调用 `fleet status`、`fleet next` 和 `fleet reconcile`。fleet 通过本地市场注册为 Claude Code 插件。`bin/` 中仍然保留的与代理相关的脚本是 `claude-statusline`、`claude-tmux-cleanup` 和 `claude-notify`。像 `claude-dashboard` 和 `claude-next` 这样的旧脚本已被取代并移除。MCP 服务器配置位于 `~/.claude.json` 用户作用域中,不在此仓库中跟踪。

專案核對 5:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

Docker 测试和推荐软件 · nicknisi-dotfiles-deep-analysis

仓库中存在一个 Dockerfile,作为 Linux 支持的测试环境。构建镜像需要 Docker,并使用 SSH 密钥作为构建参数:`docker build -t dotfiles --force-rm --build-arg PRIVATE_KEY="$(cat ~/.ssh/id_rsa)" --build-arg PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)" .`。运行 `docker run -it --rm dotfiles` 会打开一个 bash shell,用于测试 dotfiles 安装过程。作者主要在 macOS 上工作,推荐 WezTerm、Aerospace 和 Raycast。完整的软件和装备列表在作者的 `/uses` 页面上。问题和 issue 通过 GitHub discussions 处理。

專案核對 6:請在 nicknisi-dotfiles-deep-analysis 的 README、設定檔或命令輸出中確認這一節描述的具體行為,並把檔案路徑、參數名稱、平台條件與錯誤結果分開記錄。這些觀察可用來判斷功能是否真的符合目前流程,也能在升級後定位差異。素材未列出的性能或安全承諾,不應自行補上。

編輯結論

nicknisi/dotfiles 适合需要Ghostty、zsh、Starship、tmux、Neovim、AeroSpace、SketchyBar、Pi、Claude Code 与 Fleet的读者,但不适合把 README 宣传语直接当成生产保证的场景。采用前先执行 curl -fsSL https://raw.githubusercontent.com/nicknisi/dotfiles/main/install.sh | bash -s -- --dry-run,检查与该项目相关的真实输出、权限、版本和回滚路径;尤其要记录资料没有说明的部分,再决定是否纳入正式环境。这个判断针对 nicknisi/dotfiles 的具体入口和限制,不替代现场验证。

官方來源

  1. Official README
  2. Project repository
社群筆記

社群筆記