为 macOS 和 Linux 准备的一键终端配置:主题、提示符、字体、周边工具一次性调成同一套。
English · 简体中文

选一个主题,slate 把整套终端实时切过去,不用重启。
我一直没找到一款真正顺手的终端美化工具。每次想把终端弄漂亮一点,就得去翻别人的 dotfile 仓库、到处抄配置、叠一堆插件。折腾半天,环境可能一团糟还恢复不过来,必须得去研究到底动了什么。
所以我写了 slate:一条命令把终端、提示符、字体、CLI 工具统一调成一套风格;所有 slate 写的东西都放在它自己管的文件里,想卸载就 slate clean,是真的干净。
# macOS · Homebrew
brew install MoonMao42/tap/slate-cli
# macOS 或 Linux · 一键脚本
curl -fsSL https://raw.githubusercontent.com/MoonMao42/slate/main/install.sh | sh
# Rust 用户
cargo install slate-cli
然后运行 slate setup。

slate setup 一键配置。
gsettings)。slate setup、slate status、报错信息看起来都像出自一手。slate config set sound off。(README 录屏是无声的;实际运行时已包含反馈音。)
终端、提示符、系统信息、常用 CLI,全部共用同一套配色。

slate list —— 9 个家族分组,Solarized 紧跟在 Catppuccin 后面。
* GitHub README 录屏无声;安装后的 CLI 仍会播放内置反馈音,除非手动关闭。
slate 内置 20 套对应全部主题家族的 Neovim 配色,切换主题时已打开的 buffer 当场重载。


兼容 LazyVim、kickstart.nvim,或者一个裸 init.lua。
浅色模式 → 浅色主题 + 匹配的提示符、语法高亮、工具配色
深色模式 → 深色主题 + 匹配的提示符、语法高亮、工具配色
从主菜单里开启(slate → Auto-Theme)。每个主题家族自带深浅色配对,也可以在主菜单里自己重新配对。
官方构建目标:x86_64-apple-darwin、aarch64-apple-darwin、x86_64-unknown-linux-gnu、aarch64-unknown-linux-gnu。Linux 主要在 Debian/Ubuntu + GNOME 上验证。
| 等级 | 平台 | 状态与说明 |
|---|---|---|
| Tier 1 — 一线(每次发版 CI smoke test) | macOS(Apple Silicon + Intel) | Ghostty、Kitty、Alacritty、Terminal.app(部分支持——无 live preview、无透明度、字体无法自动应用)。 |
| Tier 1 — 一线(每次发版 CI smoke test) | Debian / Ubuntu + GNOME(x86_64 + aarch64) | Ghostty、Kitty、Alacritty 全部接好;各自的热重载都跑通。 |
| Tier 2 — 尽力而为(接好但不进 CI) | 其他 Linux 发行版(Fedora、Arch)以及其他桌面(KDE、Sway) | 主题仍能应用;热重载视所用终端而定。 |
| Tier 3 — 不支持 | Windows | 没有支持计划。 |
Shell:zsh、bash、fish。zsh 已在本机验证;bash 与 fish 已接入,尚待更大范围测试。
各终端逐项状态
| 终端 | 状态 | 说明 |
|---|---|---|
| Ghostty | 最推荐 | 完整支持——热重载、透明度、watcher 自动拉起 |
| Kitty | 完整 | kitten @ set-colors 实时推送;透明度 + Nerd Font 同步 |
| Alacritty | 完整 | 行内预览与热重载 |
| Terminal.app | 部分 | 仅 macOS;不支持 live preview、不支持透明度、字体无法自动更换 |
| 其他 | 尽力而为 | Shell 与 CLI 工具层主题通用;终端自身视觉效果看其能力 |
全部命令
slate # 交互式主菜单
slate setup # 引导式配置
slate setup --quick # 非交互、默认值
slate setup --only starship # 单独重配某个工具
slate theme # 带实时预览的主题选择器
slate theme <name> # 按名称应用
slate theme --auto # 跟随系统深浅色
slate font # Nerd Font 选择器
slate config set opacity frosted # 透明度:solid / frosted / clear
slate config set sound off # 反馈音开关
slate export # 把当前配置导成 URI
slate import <uri> # 从 URI 恢复配置
slate share # 截取带水印的终端图
slate status # 查看当前配置
slate doctor ghostty # 检查 Ghostty 配置问题
slate list # 列出所有主题
slate restore # 选一个快照回滚
slate restore --list # 列出所有回滚点
slate clean # 清除 slate 写下的一切
工作原理
slate 通过独立的 include 文件跟你现有的配置共存,不会替换你的 dotfile:
~/.config/slate/config.toml # 偏好(主题、字体、开关)
~/.config/slate/auto.toml # 深浅色配对
~/.config/slate/managed/<tool>/* # slate 自管的生成物
~/.config/<tool>/... # 你自己的文件,原样不动
Ghostty 用 config-file = ...;Kitty/Alacritty 用 include/import;zsh/bash/fish 是 rc 文件里一段带明确 START/END 标记的代码块;Neovim 是 init.lua(或 init.vim)里一行 pcall(require, 'slate') —— slate 卸载后 pcall 自动降级为 no-op。slate 的文件归 slate 管,你自己的文件永远不动。
共 20 款变体、9 个家族:Catppuccin · Solarized · Tokyo Night · Rosé Pine · Kanagawa · Everforest · Dracula · Nord · Gruvbox。
20 款变体 · 调色板预览
使用 scripts/render-theme-gallery.sh 重新生成;后续若有漂移,由 tests/docs_invariants.rs 兜底。色块顺序从左到右:背景 · 前景 · 品牌强调色 · 红色。
| 家族 | 变体 | ID | 外观 | 调色板 |
|---|---|---|---|---|
| Catppuccin | Catppuccin Frappé | catppuccin-frappe |
Dark | |
| Catppuccin | Catppuccin Latte | catppuccin-latte |
Light | |
| Catppuccin | Catppuccin Macchiato | catppuccin-macchiato |
Dark | |
| Catppuccin | Catppuccin Mocha | catppuccin-mocha |
Dark | |
| Solarized | Solarized Dark | solarized-dark |
Dark | |
| Solarized | Solarized Light | solarized-light |
Light | |
| Tokyo Night | Tokyo Night Dark | tokyo-night-dark |
Dark | |
| Tokyo Night | Tokyo Night Light | tokyo-night-light |
Light | |
| Rosé Pine | Rose Pine Dawn | rose-pine-dawn |
Light | |
| Rosé Pine | Rose Pine Main | rose-pine-main |
Dark | |
| Rosé Pine | Rose Pine Moon | rose-pine-moon |
Dark | |
| Kanagawa | Kanagawa Dragon | kanagawa-dragon |
Dark | |
| Kanagawa | Kanagawa Lotus | kanagawa-lotus |
Light | |
| Kanagawa | Kanagawa Wave | kanagawa-wave |
Dark | |
| Everforest | Everforest Dark | everforest-dark |
Dark | |
| Everforest | Everforest Light | everforest-light |
Light | |
| Dracula | Dracula | dracula |
Dark | |
| Nord | Nord | nord |
Dark | |
| Gruvbox | Gruvbox Dark | gruvbox-dark |
Dark | |
| Gruvbox | Gruvbox Light | gruvbox-light |
Light |
借助 AI 辅助开发,每一处改动都经过人工 review 和测试后才合入。
MIT。
站在一堆很棒的项目之上: Ghostty · Kitty · Alacritty · Neovim · Starship · bat · delta · eza · lazygit · fastfetch · tmux · zsh-syntax-highlighting · Nerd Fonts。
$ claude mcp add slate \
-- python -m otcore.mcp_server <graph>