Live data from Hacker News

Oh My Zsh adds bloat

rushter.com

191–200 of 304 posts

Re: Oh My Zsh adds bloat

#191
post #169
post #96

Earlier quoted context omitted.

I'm so glad I switched to fish, I'd rather have genuinely good settings out of the box rather than endless configuration, and honestly it's much better out of the box than any configuration I've ever had. Only drawback is that it's not POSIX, no issue for me, but maybe for people who have a lot of muscle memory with bash.

For POSIX: I leave Bash as the system shell and then shim into Fish only for interactive terminals. This works surprisingly well, and any POSIX env initialisation will be inherited. I very rarely need to do something complicated enough in the REPL of the terminal and can start a subshell if needed. Fish is nicer to script in by far, and you can keep those isolated with shebang lines and still run Bash scripts (with a…

I often write multi-line commands in my zsh shell, like while-loops. The nice thing is that I can readily put them in a script if needed.

I guess that somewhat breaks with fish: either you use bash -c '...' from the start, or you adopt the fish syntax, which means you need to convert again when you switch to a (bash) script.

Re: Oh My Zsh adds bloat

#192
post #19

Prezto is faster than OMZ, and has been for over a decade. Starship is faster still. I switched from using Prezto standalone to using Prezto + Starship and relying primarily on Starship several years ago. I'd be surprised if many people are still using Oh My ZSH in 2026 vs using Prezto, anyway.

zsh4humans is even faster than Prezto, according to their benchmarks. that’s what I’m using daily.

Re: Oh My Zsh adds bloat

#193
post #126

> The main problem with Oh My Zsh is that it adds a lot of unnecessary bloat that affects shell startup time. Wowsers! That +0.5 seconds delay will kill cats everywhere. We must microoptimise the startup time of shells!!! Or ... we could simply use bash and KDE konsole with, say, 10 tabs. That setup works for me since ages; admittedly I use bash just as a wrapper for simple actions as well as calling a gazillion of a…

Plus, how many shell can one individual open in a day ? I'm doing that once per day on a good day, maybe twenty if I have a lot of unplanned work on subprojects that needs to be done concurrently with my main task.

As another commenter, I'm probably at 100s per day.

A reason is that I use i3 workspaces, with each workspace being for different tasks, so I don't want to reuse a terminal that has another context.

One issue with keeping a single shell is that the history is full of irrelevant stuff. If you run commands that take a while and print a lot of output, you want it to be as clean as possible. If I want the beginning of the command, I can scroll to the top, and I don't end up with some unrelated output.

I also take quite notes in vim everywhere, often next to long-running commands, using tmux.

Re: Oh My Zsh adds bloat

#194

Earlier quoted context omitted.

I won't spoil the article, but if you read to the end you'll find out what this "FMZ" project is called.

Can you spoil it for me, because I read it to the end and saw no mention of such a project. Unless you are referring to the DIY approach the article suggests.

Somewhere else in the comment thread Zim (zimfw) was mentioned which after reading their website sounds pretty much like that.

Re: Oh My Zsh adds bloat

#196
When I switched to zsh 5 years ago, I went with a stock set up too.

There's quite a few things the OP's post didn't mention about shell history that I think are really important:

    setopt HIST_IGNORE_ALL_DUPS # Never add duplicate entries.
    setopt HIST_IGNORE_SPACE    # Ignore commands that start with a space.
    setopt HIST_REDUCE_BLANKS   # Remove unnecessary blank lines.
It's possible to roll your own prompt that does helpful things without using starship.

Also you can roll your own zsh plugin manager in a few lines of shell scripts, `fast-syntax-highlighting` is a really useful plugin to get real-time feedback when typing commands.

Most of those things are mentioned here https://nickjanetakis.com/blog/i-recently-switched-to-zsh-an..., the post is 5 years old but just about all of that is what I do today still. Since then it has evolved to become better IMO, including using a dedicated Vim zsh plugin which is much improved over the default zsh key binds. Also another plugin to show zsh's tab complete in fzf instead of zsh's window. The tab complete demo video is here https://nickjanetakis.com/blog/hooking-up-fzf-with-zsh-tab-c....

Re: Oh My Zsh adds bloat

#197
post #159

Earlier quoted context omitted.

Try https://starship.rs then. Starship gives you the same "drop in and go" experience but without the 200ms+ prompt lag. One curl -> one line in your rc file, works on zsh/bash/fish/whatever. Configuration is straightforward and easy imo: https://starship.rs/config/ Give it a spin, I think you won't regret it.

I tried using Starship, and it’s clearly faster than Oh My Zsh, but my issue was that I relied on some useful Oh My Zsh features that I didn’t know how to replicate in Starship. One of these is history filtering - for example, when I type source and press the up arrow, I only see previously run source commands, which makes it easy to find what I’m looking for. I tried to get this working in Starship, but had no luck.

Control r. This is a zsh feature not a starship/oh my zsh feature

Re: Oh My Zsh adds bloat

#198
post #4

I use oh my zsh for exactly one reason: I can get a good shell experience out of the box and immediately start working on stuff productively, whether it's a new machine, a new remote host or a container. I could spend hours figuring out all those things, bit I'd rather use that time for something more important.

I stopped using Oh My Zsh for exactly one reason too: It was so freaking slow it had a noticeable effect on my shell and my mood. It frustrated me that I had to stop and wait every time I opened a tab.

So I removed it, then continued using Zsh and whenever I missed something from before I looked up what it was and installed the plugin easily with Homebrew. The whole process took under an hour. I realised I only needed two or three plugins.

Now my shell is fast, without unnecessary bloat, and does what I need. I’m much more productive and happier, and at the end of the day I don’t really see what’s more important than that (within the scope of the conversation).

Re: Oh My Zsh adds bloat

#199
post #74

Earlier quoted context omitted.

starship is great. I use it with a powerlevel10k fallback in my dotfiles for systems, starship is not installed yet to not break the shell entirely.

Starship is a single binary, pretty easy to carry around even the first time you ssh somewhere.

I'm totally aware... However p10k is the thing I used before so fallback was a low hanging fruit.
Post reply on HN