Terminal setup, 2026 edition
I prune my dotfiles once a year. This year the theme was subtraction: twenty-two lines of shell configuration left, down from about three hundred.
Kept
set -o viin the interactive shell. Old habit, still faster than holding arrow keys.- Fuzzy history search, bound to
Ctrl-R. The single highest-value binding I have. alias g='git status -sb'andalias l='ls -lah'. Two letters, used hourly.- A prompt that shows the git branch and the exit status of the last command, and nothing else.
Deleted
Every plugin that added latency to opening a shell. Every alias longer than four characters, because if I cannot remember it I will not use it. The framework that managed my configuration, which I replaced with a repository of symlinks and a nine-line install script.
The rule I am keeping
If a piece of configuration does not change my behaviour at least once a week, it is decoration, and decoration becomes maintenance when the tool it decorates changes its API. The pruning session took forty minutes and will save me that much in the next six months, mostly in not debugging someone else's shell plugin.