Skip to content
All posts
Tooling7 min read

The Terminal Setup I Have Not Rebuilt in Three Years

Not a configuration tour. Four decisions that turned my terminal from a project back into a tool.

Ari Bennett

Software engineer and writer

A vintage computer with a small CRT monitor on a plain pedestal
A vintage computer with a small CRT monitor on a plain pedestal

For years my terminal was a hobby. I rebuilt it every few months, chasing a prompt that displayed slightly more information, and the reward for all that work was a setup I could not reproduce on a new machine without losing an afternoon.

Three years ago I rebuilt it one last time with a single goal: nothing in here should ever need my attention again. Here is what was left after I removed everything that did.

One file, no framework

The whole configuration is one file, under a hundred lines, with comments explaining why anything unusual is there. No plugin manager, no framework, nothing that loads other things at startup.

The test is that I can read it in three minutes and understand all of it. Frameworks made my prompt prettier and my failures mysterious. When the shell now does something surprising, the cause is in a file I can read on the way to fixing it.

A prompt that answers three questions

Mine shows the current directory, the branch when there is one, and whether the last command failed. That is it. No timers, no version numbers, no icons, no counts.

Those three answers cover the questions I actually ask dozens of times a day. Everything else I displayed over the years was information I looked at once, out of curiosity, and never acted on.

Shortcuts for the things I mistype

I do not create shortcuts to save keystrokes. I create them to remove the commands I get wrong under pressure: the log format with four flags, the container command with the mounted path, the two step database dump.

The rule is that a shortcut has to be something I have already typed wrong at least twice. Shortcuts invented in advance are just another vocabulary to remember, and I never remember them.

Search, not memory

The one thing I would keep if I lost everything else is fuzzy history search. Almost everything I do in a terminal I have done before, sometimes eighteen months ago, and searching my own history is faster and more accurate than remembering flags.

Alongside it: a search across file contents, and a search across file names. Three searches, one key each. That combination replaced more of my old configuration than any other change.

A tool you have to maintain is a project. A tool you forget you configured is finished.

What I removed and have not missed

Directory jumping based on frequency, because typing the path is more predictable. Automatic environment switching, because it broke in ways that cost more than it saved. A status line with change counts, because it made every prompt wait on the filesystem. Sixteen colours of highlighting in the shell itself, which was pretty and never once helped.

Three years without touching it is not a boast about the setup. It is what a tool is supposed to feel like.

Written by

Ari Bennett

Software engineer and writer

I build web software for a living and write about the parts that are hard to search for: the trade-offs, the dead ends, and the small habits that make a codebase pleasant to come back to a year later. A decade in, I still keep a paper notebook next to the keyboard.

More about the writer

Related posts

Browse the archive
Tooling

The Case for Boring Tools

The tools I have kept are not the ones that impressed me. They are the ones that never asked for my attention again.

Ari Bennett · 6 min read

Design

Designing for the Second Read

Interfaces get read twice: once by somebody skimming, once by somebody in trouble. Designing for the second reader changes nearly every decision.

Ari Bennett · 8 min read

Before you go

Get the next one by email.

If this was useful, the newsletter is the same thing in short form every second Wednesday. One useful item per issue, nothing else.

One short issue every second Wednesday. No tracking, no forwarding, unsubscribe in one click.