feat: add optional terminal environment setup

This commit is contained in:
叶林立
2026-08-18 21:02:41 +08:00
parent a690d147d1
commit 35ba1d7bb8
3 changed files with 346 additions and 15 deletions
+21 -5
View File
@@ -28,9 +28,24 @@
pi install git:git@bitbucket.org:siakitem/my-pi.git
```
安装组合包成功后,脚本会检查 `codegraph``kotlin-lsp`、Java 21+ 和 `jdtls`。缺失的
依赖会逐项显示 `[y/N]` 选项,仅在用户明确选择 `Y`安装。Kotlin、Java 和 JDT LS 的
自动安装使用 Homebrew;如果机器没有 Homebrew,脚本会保留组合包安装结果并给出提示。
安装组合包成功后,脚本会依次检查终端环境和机器级 CLI。所有缺失项目都逐项显示
`[y/N]`,默认拒绝,仅在用户明确选择 `Y`修改机器或用户配置:
- 检查 KittymacOS 使用 Homebrew cask 安装,其他系统使用 Kitty 官方安装器。Kitty
可用后继续检查并可通过官方 `themes` kitten 配置 `Solarized Dark`
- 检查 Oh My Zsh。安装采用官方 unattended 模式,不切换默认 shell、不立即启动 Zsh,
也不覆盖现有 `.zshrc`
- 检查 Powerlevel10k;可克隆到 Oh My Zsh 的 custom themes 目录,并在没有现有
`~/.p10k.zsh` 时复制官方 Lean 预设、切换为兼容性更高的 ASCII 图标模式。脚本会把
`ZSH_THEME` 和预设加载语句写入 `.zshrc`,因此首次启动不会进入交互配置向导。
- 逐项检查 `git``zsh-autosuggestions``zsh-syntax-highlighting` 是否已经在
`.zshrc``plugins` 数组中启用。后两个插件缺少源码时会先克隆到 Oh My Zsh 的
custom plugins 目录;语法高亮按最后一个插件处理。
- 最后继续检查 `codegraph``kotlin-lsp`、Java 21+ 和 `jdtls`。Kotlin、Java 和 JDT LS
的自动安装使用 Homebrew。
脚本首次改动 `.zshrc` 前会在同目录创建带时间戳的备份。若机器没有所需的 Homebrew、
`curl``git`,脚本会保留已完成的安装结果、继续检查其他项目,并最终返回非零状态。
`rtk` 只供默认关闭的命令改写使用,因此不会作为必装依赖检查。
也可以绕过脚本,直接运行上面的 `pi install` 命令,此时机器级 CLI 不会被检查。
@@ -41,8 +56,9 @@ pi install git:git@bitbucket.org:siakitem/my-pi.git
./uninstall.sh
```
卸载脚本只调用 `pi remove`,不会删除 CodeGraph、Kotlin LSP、JDT LS 或 Java,因为这些
机器级工具可能仍被其他项目使用。两个脚本都可通过 `PI_PACKAGE_SOURCE` 覆盖默认包源,
卸载脚本只调用 `pi remove`,不会删除 Kitty、终端主题、Oh My Zsh、Powerlevel10k、Zsh
插件、CodeGraph、Kotlin LSP、JDT LS 或 Java,因为这些用户环境或机器级工具可能仍被其他
项目使用。两个脚本都可通过 `PI_PACKAGE_SOURCE` 覆盖默认包源,
例如在本地检出中测试:
```bash