Tech News
← Back to articles

You probably don't need Oh My Zsh

read original related products more articles

Oh My Zsh is still getting recommended a lot. The main problem with Oh My Zsh is that it adds a lot of unnecessary bloat that affects shell startup time.

Since OMZ is written in shell scripts, every time you open a new terminal tab, it has to interpret all those scripts. Most likely, you don't need OMZ at all.

Here are the timings from the default setup with a few plugins:

➜ ~ /usr/bin/time -f "%e seconds" zsh -i -c exit 0 .38 seconds

And that's only for prompt and a new shell instance! Creating a new tab takes some time for your terminal too. It feels like a whole second to me.

My workflows involve opening and closing up to hundreds of terminal or tmux tabs a day. I do everything from the terminal. Just imagine that opening a new tab in a text editor would take half a second every time.

Once in a while, it also checks for updates, which can take up to a few seconds when you open a new tab.

I see no reason in frequent updates for my shell configuration. Especially, when a lot of third-party plugins are getting updates too. Why would you want you shell to fetch updates?

My advice is to start simple and only add what you really need.

Minimal Zsh configuration

... continue reading