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 Here is the minimal Zsh configuration that works well as a starting point: export HISTSIZE=1000000000 export SAVEHIST=$HISTSIZE setopt EXTENDED_HISTORY setopt autocd autoload -U compinit; compinit It's an already pretty good setup with completions! Some details about this configuration: HISTSIZE and SAVEHIST set the size of your history. EXTENDED_HISTORY adds timestamps to your history entries. autocd allows you to change directories without typing cd. compinit initializes the Zsh completion system. Prompt customization You also want to customize your prompt. For prompts, I'm using starship which is a fast and minimal prompt packed into a single binary. The very old way of doing this in Oh My Zsh was to use plugins and custom themes. With starship, it's very simple and easy now. It replaces git, virtual environmen...
First seen: 2026-01-10 04:53
Last seen: 2026-01-10 18:55