My Terminal Setup
The macOS defaults are fine until you've used something better. Over time I've swapped out a handful of them for tools that are faster or just less annoying to use.

You can find my dotfiles here if you want the same setup.
Ghostty
As you probably noticed from the image, my terminal of choice is Ghostty. I tried a lot of others before landing on it. iTerm2 felt bloated, Alacritty was fine but too minimal, Warp kept trying to be something I didn't ask for. Ghostty hits the right balance. Highly configurable, fast, and has been my daily driver since the beta.
Starship

Prompt configuration has a way of becoming its own project. Starship avoids that. I set it up once with the things I actually need (current directory, git branch, command duration) and haven't touched it since.
eza

I have eza aliased to ls so the switch is invisible. You only really notice it when you SSH into something and wonder why ls suddenly looks so ugly.
alias ls='eza -l --icons'
alias la='eza -l -a --icons'
alias ld='eza -l -D --icons'
alias ll='eza --icons'zoxide

Smarter cd. I type part of a directory name and zoxide figures out where I mean. Took about a day to get used to it, and now typing out a full path feels like a punishment.
bat

bat is cat with syntax highlighting. Aliased to cat. It also shows git diff markers in the gutter, which comes up more often than I expected. I've had it installed for so long I forget it's not the default.
alias cat='bat'fd
fd is find but I can actually remember how to use it. With find I was Googling the syntax every time. With fd I just type what I want. It also respects .gitignore by default, so searching a project doesn't mean wading through node_modules.
None of these tools are revolutionary on their own. But stacked together, they turn the terminal from something I tolerate into something I actually prefer over any GUI.