Skip to content

JoshuaHarris391/cosyterm

Repository files navigation

cosyTerm

Your whole terminal stack, themed in one command.
Ghostty, your shell, Starship, eza, tmux, NeoVim — all Catppuccin Mocha, fully reversible.

PyPI CI License Platform

cosyTerm screenshot


Install

pip install cosyterm
cosyterm

Launches an interactive wizard. Pick which tools to install, choose your font and shell, then review every shell command that will run before a single thing happens. One final Enter executes the whole plan. About two minutes. Existing configs are moved to a timestamped backup first, so cosyterm restore --latest reverses the whole run.

Prefer the old step-by-step prompts (or running in a non-TTY environment like CI)? cosyterm --classic.

What you get

Tool What it does
Nerd Font 10 patched fonts — JetBrains Mono, Commit Mono, Cascadia Code, and more
Ghostty GPU-accelerated terminal emulator by Mitchell Hashimoto
Fish or Zsh Fish (recommended) or Zsh (POSIX-compatible)
Starship Cross-shell prompt — git, language versions, right-aligned and clean
eza ls with icons, colors, git status, and tree views
tmux Terminal multiplexer with pastel status bar at top
NeoVim + LazyVim IDE-grade editor, pre-configured, zero setup

Changing your font

Pick any of the 10 bundled Nerd Fonts at install time, or switch later.

Switch to a different bundled font

cosyterm install font

Re-runs just the font step. Select a new one from the menu; cosyterm installs it and rewrites the font-family line in ~/.config/ghostty/config automatically. Restart Ghostty to pick it up.

Use a font you installed yourself

Edit ~/.config/ghostty/config and change the font-family line to your font's family name (the same string Ghostty expects — e.g. font-family = MyFont Nerd Font Mono). Restart Ghostty.

Scripted / non-interactive

COSYTERM_FONT_CHOICE=0xProto COSYTERM_YES=1 cosyterm install font

Valid keys: JetBrainsMono, CommitMono, CascadiaCode, Hack, FiraCode, 0xProto, Monofur, OpenDyslexic, Agave, Hasklig, or skip.

Docs

  • Safety model — every command that runs, every URL fetched, every sudo — plus backups and blast-radius guarantees.
  • Recoverycosyterm doctor, cosyterm restore, and the --dry-run preview.
  • Automation — scripted installs (COSYTERM_YES=1, COSYTERM_NVIM_CHOICE), re-running a single step, and the Python API.
  • Design philosophy — why cosyTerm is opinionated and what it won't add.

Try it. If it's not for you, cosyterm restore --latest puts everything back.

Requirements

macOS or Linux · Python 3.8+ · bash · git · Homebrew (macOS) or apt/dnf/pacman (Linux)

Contributing

Open source contributions are welcome. Before adding a new tool or feature, open an issue to discuss it — see CONTRIBUTING.md.

Credits

License

MIT

About

Get a cosy terminal in one command

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors