
Ghostty、tmux、Starship、Neovim。全部がパステルカラーで統一されたターミナル。ピンク、ラベンダー、ミントグリーン。どこを見ても同じトーンの色が並んでいる。
これを実現しているのがCatppuccinというカラーテーマ。一度ハマると抜け出せないパステルの沼を紹介する。
Catppuccin - パステルカラーの統一テーマ
Catppuccinは、目に優しいパステルカラーをベースにしたカラーテーマ。もともとNeovim向けに作られたんだけど、今は400以上のアプリ・ツールに対応する巨大エコシステムに成長している。
用意されているカラーバリエーション(フレーバー)は4つ。
| フレーバー | タイプ | 背景色 | 雰囲気 |
|---|---|---|---|
| Latte | ライト | #eff1f5 | 明るく爽やか |
| Frappe | ダーク | #303446 | 落ち着いた暗さ |
| Macchiato | ダーク | #24273a | Mochaより少し明るい |
| Mocha | ダーク | #1e1e2e | 最も深く、コージー |
どのフレーバーを選んでも、パステルカラーのアクセント(ピンク、ラベンダー、スカイブルー、ミントグリーン)は共通。違うのは背景の明るさだけ。個人的にはMochaの深い暗さが好き。
僕のターミナル構成
7つのCLIツールすべてにCatppuccinを入れている。
Ghostty(ターミナルエミュレータ)
├── tmux(セッション管理)
│ ├── Starship(プロンプト)
│ ├── Neovim(エディタ)
│ ├── bat(catの代替)
│ ├── eza(lsの代替)
│ └── fzf(ファジーファインダー)
ここからは、各ツールに「色を足していく」過程を紹介していく。設定を1つ入れるたびに、パステルの世界が広がっていく感じが楽しい。
1. Ghostty - 土台。1行で世界が変わる
まずはターミナルエミュレータ。ここが全体の背景色を決める。
# ~/.config/ghostty/config
theme = catppuccin-mocha
たった1行。これだけでターミナルの背景がMochaの深い暗さに変わり、文字色がパステルカラーになる。Ghosttyには組み込みテーマとして用意されているので、そのまま使える。なおv1.2.0でテーマ名がTitle Caseに変わったので、バージョンによってはCatppuccin Mochaと書く必要がある。
Ghosttyにはシェーダー機能もあって、カーソルを動かすとパステルカラーの火花が飛び散るエフェクトも使える。Catppuccinの色味との相性が抜群。
Ghosttyおすすめシェーダー集|花火・CRT・カーソルトレイルでターミナルを彩るMac最初の1行を書いた瞬間、「あ、もう戻れないな」って思った。黒一色だったターミナルに色が灯る瞬間。
2. Starship - プロンプトにパステルが添えられる
次はプロンプト。ターミナルを開いて最初に目に入る場所。
Starshipはパレット機能でCatppuccinの色を定義して、各モジュールで参照する。
# ~/.config/starship.toml
palette = 'catppuccin_mocha'
[os]
style = "bg:dark fg:crust"
[directory]
style = "bg:sapphire fg:crust"
[git_branch]
style = "bg:lavender"
[character]
success_symbol = "[∙](fg:red)[∙](fg:cyan)[∙](fg:green)"
error_symbol = '[∙](fg:rosewater)[∙](bold fg:pink)[∙](fg:red)'
# パレット定義
[palettes.catppuccin_mocha]
rosewater = "#f6dbd3"
flamingo = "#f6d0d0"
pink = "#F5C2E7"
mauve = "#d9bcfa"
red = "#f485ad"
maroon = "#eeb0bd"
peach = "#fabeab"
yellow = "#f9e1aa"
green = "#bfe7bb"
teal = "#ace7e0"
sky = "#A8E6F2"
sapphire = "#9bd5f2"
blue = "#b0cbfa"
lavender = "#b7bdf8"
text = "#dbe3fa"
subtext1 = "#ccd4eb"
subtext0 = "#c0c7dd"
overlay2 = "#b0b6cd"
overlay1 = "#9fa1ba"
overlay0 = "#9192a6"
surface2 = "#7e8092"
surface1 = "#686a82"
surface0 = "#52546a"
base = "#313142"
mantle = "#292938"
crust = "#555555"
dark = "#52546a"
パレット機能が優秀で、fg:pinkやbg:sapphireのように色名をそのまま使える。

crustの値を公式の#11111bから#555555に変更しているのは、背景とのコントラストを少し上げたかったから。公式の色そのままだと暗い背景で文字が溶ける。
ターミナルを開くたびにパステルカラーのプロンプトが迎えてくれる。ディレクトリはサファイアブルー、gitブランチはラベンダー。毎回ちょっと嬉しい。
3. tmux - ステータスバーが馴染む
tmuxはプラグインで導入する。
# ~/.config/tmux/tmux.conf
set -g @plugin 'catppuccin/tmux#v2.1.3'
set -g @catppuccin_flavor "mocha"
# 背景を透過にして、Ghosttyの背景を活かす
set -g @catppuccin_window_status_style "none"
set -g @catppuccin_status_background "none"
# ウィンドウ番号の色
set -g @catppuccin_window_current_number_color "#{@thm_blue}"
set -g @catppuccin_window_number_color "#{@thm_overlay_0}"
# ペイン境界線(モードで色が変わる)
set -g @catppuccin_pane_border_style "fg=#{@thm_surface_0}"
set -g @catppuccin_pane_active_border_style "##{?pane_in_mode,fg=#{@thm_overlay_0},##{?pane_synchronized,fg=#{@thm_mauve},fg=#{@thm_overlay_0}}}}"
ポイントはstatus_backgroundを"none"にすること。Ghosttyの背景色がそのまま透けるので、ステータスバーだけ色が浮く問題がなくなる。
実際のステータスバーはこんな感じ。左にセッション情報、中央にウィンドウタブ、右にシステム情報が並ぶ。



透過にした瞬間、tmuxの存在感が「主張」から「添え物」に変わる。画面の統一感が一気に上がる。
4. Neovim - エディタもパステルに
Neovimはlazy.nvimでプラグインとして導入する。
-- ~/.config/nvim/lua/plugins/colorscheme.lua
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
lazy = false,
opts = {
flavour = "mocha",
transparent_background = true,
term_colors = true,
styles = {
comments = { "italic" },
conditionals = { "italic" },
},
integrations = {
cmp = true,
gitsigns = true,
nvimtree = true,
treesitter = true,
notify = true,
mini = true,
flash = true,
indent_blankline = { enabled = true },
native_lsp = {
enabled = true,
underlines = {
errors = { "undercurl" },
hints = { "undercurl" },
warnings = { "undercurl" },
information = { "undercurl" },
},
},
telescope = { enabled = true },
which_key = true,
},
custom_highlights = function(colors)
return {
Visual = { bg = "#4F5168" },
Comment = { fg = "#666775", style = { "italic" } },
CursorLineNr = { fg = "#ffb7ff", style = { "bold" } },
CmpBorder = { fg = "#6ADFEE" },
Pmenu = { bg = "#2a2a2a", fg = "#ffffff" },
PmenuSel = { bg = "#4F5168", fg = "#ffffff" },
FloatBorder = { fg = "#6ADFEE" },
}
end,
},
config = function(_, opts)
require("catppuccin").setup(opts)
vim.cmd.colorscheme("catppuccin")
end,
}
大事なのはtransparent_background = true。これでGhosttyの背景がNeovimの中でもそのまま表示される。背景画像やシェーダーを使っている場合、これがないとNeovimだけ黒背景になって浮く。
integrationsでは、UIを持つプラグイン(telescope、gitsigns、cmpなど)をすべてCatppuccinに対応させている。ここを忘れると一部だけ色が違って気持ち悪い。

カーソル行の番号がピンク(#ffb7ff)で光るのが地味に気に入っている。コード書いてるだけなのに、なんかおしゃれ。
5. bat - catするだけでパステル
batはテーマファイルを配置して1行書くだけ。
# ~/.config/bat/config
--theme="Catppuccin Mocha"
テーマファイル(.tmTheme形式)は公式リポジトリからダウンロードして~/.config/bat/themes/に配置。bat cache --buildを忘れずに。

catの代わりにbatを叩くだけで、ファイルの中身がパステルカラーのシンタックスハイライトで表示される。ログを見るのすら楽しい。
6. eza - lsがカラフルになる
ezaはファイルタイプやパーミッションごとに色を細かく設定できる。
# ~/.config/eza/theme.yml
colourful: true
filekinds:
normal: {foreground: "#cdd6f4"}
directory: {foreground: "#94e2d5"}
symlink: {foreground: "#f5c2e7"}
pipe: {foreground: "#a6adc8"}
block_device: {foreground: "#fab387"}
char_device: {foreground: "#f9e2af"}
socket: {foreground: "#cba6f7"}
special: {foreground: "#f38ba8"}
executable: {foreground: "#a6e3a1"}
mount_point: {foreground: "#89b4fa"}
perms:
user_read: {foreground: "#a6adc8"}
user_write: {foreground: "#f38ba8"}
user_execute_file: {foreground: "#a6e3a1"}

lsを打つだけでディレクトリはティール、実行ファイルはグリーン、シンボリックリンクはピンク。ファイル一覧がカラフルに染まる。
7. fzf - 枠線までパステル
fzfはシェルの環境変数でCatppuccinカラーを指定する。
# ~/.config/fish/config.fish
set -x FZF_DEFAULT_OPTS '
--color=spinner:#f5e0dc,hl:#f38ba8
--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc
--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8
--color=bg+:#45475a
--color=border:#313244,label:#cdd6f4
--color=preview-border:#9999cc,preview-label:#ccccff
--color=list-border:#bfe7bb,list-label:#99cc99
--color=input-border:#f6cce7,input-label:#ffcccc
'
tmuxのポップアップと組み合わせると、prefix + fでパステルカラーのfzfがふわっと出てくる。

セクションごとに枠線の色が違うのがいい。プレビュー枠はラベンダー系、リスト枠はミントグリーン、入力枠はピンク。fzfが可愛くなる日が来るとは思わなかった。
統一のコツ
transparent_backgroundで背景を統一する
Neovim、tmuxなど背景色を持つツールはtransparent_backgroundを有効にする。こうするとGhosttyの背景色が全体で透過されるので、ツール間で背景色が分断されない。これが統一感の要。
フレーバーは1つに揃える
おすすめはMocha。対応ツールが最も多く、ネット上の設定例もMochaが圧倒的。困ったときに検索しやすいのは大きい。
実は最初、GhosttyがFrappe、batがMacchiato、他がMochaで3種類混在してた。並べないと気づかないけど、揃えたら「あ、全然違ったわ」ってなる。
Catppuccin公式のポートを使う
各ツールの設定は、なるべくCatppuccin公式のGitHubで公開されているポートを使うといい。自分でHEX値を拾って設定すると、微妙に色がズレる。400以上のポートが用意されているので、大抵のツールはカバーされている。
まとめ
毎日8時間以上向き合う画面が、好きな色で統一されている。それだけのことなんだけど、思った以上に気持ちいい。
Catppuccinの強みはエコシステムの広さ。新しいツールを導入したら、まずCatppuccinのGitHubを覗く。大抵ポートがある。この安心感が、パステルの沼から抜け出せなくなる理由なのかもしれない。