Mastodon

My lil' Ghostty terminal config

Posted by Matt Birchler
— 2 min read
My lil' Ghostty terminal config

I wrote about Ghostty last week, and since then I've played around with it enough to know it's my new terminal emulator of choice. For me the killer feature is how fast it is, putting the most popular apps to shame (Apple Terminal and iTerm, specifically).

I'm not a power user by any means, as I typically use my terminal to do things like ssh into my server to install updates, to run a few other scripts on servers, and that's about it. So I don't need a crazy customized command line or anything, but if I'm going to use a terminal, I want it to be nice. Below are the minimal changes I've made to Ghostty's config file (get to it with Command + , in the app) to make it more my own.

theme=catppuccin-latte
window-height=30
window-width=110

title="Oh, hello"
window-title-font-family="MonoLisa Variable"

font-family="MonoLisa Variable"
font-size=14
font-feature=-liga
font-thicken=true

That's it, that's the entire config! Everything you can do is documented in the official docs, but if you're curious what the above things do in my config…

  • theme sets the theme. A ton of themes are built into the app, and you can type ghostty +list-themes to see a list of them all. Once you find one you like, just use its name in the theme value
  • window-height sets the height of the window. This is based on "cells" which is basically how high each character is. My 30 value means the window is 30 lines of text high.
  • window-width does the same but for width. My window is 110 characters wide.
  • title sets the window title to whatever you want. I suspect more serious terminal fiends won't want this since there can be useful data in that in some cases, but I don't personally ever use it.
  • window-title-font-family sets the font you want to use for the menu text.
  • font-family sets the font for the command line. I love MonoLisa, but there are a million fonts that will work just great (or just use the default).
  • font-size sets the font size (obvs). I like my terminal window to be a bit larger than the default.
  • font-feature lets you enable or disable specific features of font rendering. I've set -liga which turns off custom ligatures since I find them more confusing than beautiful.
  • font-thicken thickens your terminal font. Probably not needed most of the time, but MonoLisa's variable font is quite thin the default way Ghostty renders it, so this feature just puts a bit more meat on those bones.

I'm also using Oh My Zsh, Powerlevel10k, and a few other little plugins that make my terminal experience a bit better. Again, I'm not a high-level terminal user by any means, but if you're curious about what I have set up there, let me know and I can dive into those as well.