My Alacritty Setup
Quick rundown of how I have Alacritty configured on macOS. The whole file
is around 30 lines of TOML and lives at ~/.config/alacritty/alacritty.toml.
Why Alacritty
I want a terminal that opens fast, scrolls fast, and gets out of my way. Alacritty does that. It is GPU accelerated, has no built in tabs or splits (I let tmux handle those), and the config is plain TOML so it is easy to read and to put in a dotfiles repo.
Theme
I use the Argonaut theme. The themes repo is cloned as a submodule under
~/.config/alacritty/themes and pulled in with a single import line:
[general]
import = ["~/.config/alacritty/themes/themes/argonaut.toml"]
Using ~ rather than the full path means the file is portable across
machines.
Font
Hack Nerd Font at size 16. Hack has clean glyphs at small sizes and the Nerd Font version includes icons that work well in tools like fish, lazygit, or my neovim file tree.
[font]
size = 16
[font.normal]
family = "Hack Nerd Font"
style = "Regular"
[font.bold]
family = "Hack Nerd Font"
style = "Bold"
[font.italic]
family = "Hack Nerd Font"
style = "Italic"
[font.bold_italic]
family = "Hack Nerd Font"
style = "Bold Italic"
I had Bold style set to Regular for a long time without noticing.
If you ever wonder why your bold text does not look bold, that is the
first place to check.
Window
[window]
option_as_alt = "OnlyLeft"
decorations = "Buttonless"
padding = { x = 8, y = 8 }
A few small things that make a big difference:
option_as_alt = "OnlyLeft"makes the left Option key behave like Alt. This is what lets things likeAlt+.in fish orAlt+1..9in tmux actually fire. The right Option key keeps the macOS behavior so I can still type accented characters.decorations = "Buttonless"keeps the traffic light buttons but drops the rest of the title bar. Cleaner look without losing the close button.- A bit of padding so text does not touch the window edge.
Scrollback
[scrolling]
history = 10000
10k lines. Enough to scroll up after a long build without losing things.
Selection and Mouse
[selection]
save_to_clipboard = true
[mouse]
hide_when_typing = true
Selecting text automatically copies it to the system clipboard, so I do not need cmd+c every time. And the mouse cursor disappears while I type, which is small but nice.
Cursor
[cursor]
style = { shape = "Beam", blinking = "On" }
Beam cursor that blinks. Easier to spot than a block when I am scanning the screen.
Shell
[terminal.shell]
program = "/opt/homebrew/bin/fish"
Fish, installed through Homebrew. Post about my fish setup is coming separately.
That is it
The whole config fits on one screen, which I like. If you want to copy
parts of it, the file is in my dotfiles repo
under alacritty/alacritty.toml.
This post was put together with help from an AI assistant.