I've been using Alacritty for a while. Fast, minimal, does what it says. But after buying Berkeley Mono and wanting to actually use its ligatures — Alacritty became a problem.
So I tried Ghostty. And I'm not going back.
The Core Difference
Alacritty is intentionally minimal. The developers have made it very clear: no ligature support, by design. Their reasoning is that ligatures require a text shaping engine, which adds complexity they don't want in the codebase. Respectable stance. But if you've just paid for a font with beautiful ligatures and want to actually see them — that's a dealbreaker.
Ghostty supports ligatures out of the box. No hacks, no patched builds, no workarounds. Just works.
What Ligatures Actually Do
For anyone unfamiliar — ligatures in monospace fonts replace certain character combinations with a single unified glyph. Common examples:
For anyone unfamiliar — ligatures in monospace fonts replace certain character combinations with a single unified glyph. Common examples:
- -> becomes a clean arrow
- => becomes a double arrow
- != becomes a proper "not equal" symbol
- <= and >= become clean comparison operators
- // and === get cleaned up too
With Berkeley Mono's ligatures rendering properly in Ghostty, code reads more like notation and less like a stream of individual characters. It's subtle, but once you see it you don't want to go back.
How Ghostty Holds Up Otherwise
Speed: fast. Not Alacritty-level obsessive about it, but fast enough that I've never noticed lag in daily use.
Configuration: done in a simple config file. Clean and readable — no YAML sprawl, no complex nesting.
GPU rendering: yes, hardware accelerated. Ghostty uses Metal on macOS and OpenGL/Vulkan on other platforms.
Font rendering: excellent. Berkeley Mono looks exactly as it should — sharp, correct weight, ligatures intact.
What I Miss From Alacritty
Honestly? Not much. Alacritty is slightly snappier in benchmarks. But in real daily use with Neovim and terminal workflows — the difference is not perceptible.
The one thing Alacritty genuinely has is simplicity of scope. It does one thing with zero compromise. If ligatures don't matter to you, Alacritty remains a great choice.
Everything renders cleanly. The ligatures from Berkeley Mono show up exactly as they should. The terminal finally matches the font I paid for.
Bottom Line
If you don't care about ligatures — Alacritty is perfectly fine. If you do — Ghostty is the answer. Simple as that.
18 May 2025
Potato Codex