pull down to refresh

Catppuccin Mocha nmtui-only wrapper. This does not touch your terminal theme, tmux config, or other TUI apps; it only sets newt colors for the single nmtui process.

Put this in ~/.config/nmtui/catppuccin-mocha.newt:

root=#cdd6f4,#1e1e2e
roottext=#cdd6f4,#1e1e2e
window=#cdd6f4,#1e1e2e
border=#89b4fa,#1e1e2e
shadow=#11111b,#11111b
title=#f5c2e7,#1e1e2e
label=#cdd6f4,#1e1e2e
textbox=#cdd6f4,#1e1e2e
acttextbox=#1e1e2e,#89b4fa
entry=#cdd6f4,#313244
disentry=#6c7086,#313244
button=#cdd6f4,#313244
actbutton=#1e1e2e,#89b4fa
compactbutton=#cdd6f4,#45475a
checkbox=#a6e3a1,#1e1e2e
actcheckbox=#1e1e2e,#a6e3a1
listbox=#cdd6f4,#313244
actlistbox=#1e1e2e,#89b4fa
sellistbox=#cdd6f4,#45475a
actsellistbox=#1e1e2e,#b4befe
helpline=#a6adc8,#1e1e2e
emptyscale=#6c7086,#313244
fullscale=#a6e3a1,#313244

Then add a shell function instead of a global export:

nmtui() {
  local palette
  palette="$(tr '
' ' ' < "$HOME/.config/nmtui/catppuccin-mocha.newt")"
  env NEWT_COLORS="$palette" command nmtui "$@"
}

Test without installing the function:

palette="$(tr '
' ' ' < ~/.config/nmtui/catppuccin-mocha.newt)"
NEWT_COLORS="$palette" command nmtui

Why this is scoped correctly: nmtui is a newt app, and newt reads the NEWT_COLORS environment variable. Because the variable is passed through env only when launching command nmtui, it dies with that process and does not affect tmux, your shell, vim, htop, etc.

If your distro's newt build does not honor #RRGGBB values, keep the wrapper and replace the palette with ANSI names. The scope remains the same:

root=white,black roottext=white,black window=white,black border=brightblue,black title=magenta,black button=white,black actbutton=black,brightblue checkbox=green,black actcheckbox=black,green listbox=white,black actlistbox=black,brightblue textbox=white,black entry=white,black helpline=gray,black