Live data from Hacker News

Oh My Zsh adds bloat

rushter.com

71–80 of 304 posts

Re: Oh My Zsh adds bloat

#71
post #3

Or simply use fish

Seriously. I do think people should spend enough time with bash or posix sh to be comfortable with it, but I'd recommend everyone at least just try fish. It's a lovely interactive experience out of the box with colors, completions, a great prompt, etc. Plus, the scripting language is quite comfy. Like, somewhere between bash and Python (if you find Python comfy, I guess). At least to me it makes more intuitive sense, once I got over the fact that "it's not bash/zsh."

It's written in Rust, if you care about that sort of thing (I switched before that was a thing). And for simple one-liners, compatibility actually has improved at least a bit (like you can do && now, which wasn't a thing before).

Write your shell-specific helper scripts or personal scripts in fish, write your portable scripts in Python or Bash. Look, I love standards. Sometimes non-standard things make sense though. Sometimes they even make more sense in the right context.

Or maybe you'll hate it. That's fine. People won't know until they try though.

For something newer and even more different, check out nushell. I don't have much experience with it, but a lot of its ideas are enticing.

Re: Oh My Zsh adds bloat

#72
post #65

Earlier quoted context omitted.

I'm using fzf and it's amazing. What does atuin bring additionally? Looks very similar

Atuin also has syncing and backups though I've never really felt the need to use it. I prefer keeping histories separate and when I need to share shell commands I just do the usual methods like putting it in a shared text file, send it to myself on a chat app or just looking at the command and typing it out

Yeah. It boils down to preferences. By the way, there is also an option to search only in current host and current directory as well (+current session).

Re: Oh My Zsh adds bloat

#73

I don't think 0.38s is a bad trade-off for convenience when the rest of the tools I need to do my job collectively are another 2s at shell startup. NVM alone adds 0.5-0.6s on my M4 Macbook Air. Bigger fish to fry if we're being practical.

You can replace nvm with https://mise.jdx.dev/ , it starts effectively instantly and works not only for node versions but all programming languages and tools.

`mise use node@latest`

Re: Oh My Zsh adds bloat

#74

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.

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.

Re: Oh My Zsh adds bloat

#75
Had this problem awhile ago of my zsh startup being slow. Just opened claude code and told it to benchmark my shell start and then optimize it. Took like 5 minutes and now it's ultra fast. Hardly any idea what it did exactly but worked great.

Re: Oh My Zsh adds bloat

#76

I agree. And you probably neither need Omarchy, CachyOS, etc. Choose boring and get peace of mind.

CachyOS is basically arch on easy mode. I used to spend countless hours tinkering with arch but then I got older and don’t have much time. Plus there are helpful meta packages for gaming that work great out of the box, which for a gamer like me sans Windows is pretty awesome.

I've tinkered at most an hour on my arch install and it's just been running smoothly. The installer these days is easy to go through as well. It's the same for bash, very little customization, then it runs smoothly for years.

I'm not saying CachyOS is bad, just that it is in my opinion another layer of complexity that may change/deprecate/etc.

Re: Oh My Zsh adds bloat

#77
post #24
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.

Yeah but you can use something like zim that is better than omz but still easy. The shell starts so fast with zim and it is a breeze to set up

Exactly. The popular culture has bad picks. We can be low effort without necessarily being 100% unselective! No taste is not mandatory! Just the littlest bit of trying & listening to our peers can make a better world.

There's so many better non-shite alternatives. Just one: Zim aka zimfw is one. It's just so sad that there's such a negative creep energy towards "I tried nothing and did nothing and this is where I am". Bad hacker bad. You deserve no voice.

Re: Oh My Zsh adds bloat

#78
> I'm using starship which is a fast and minimal prompt packed into a single binary.

cargo install starship --locked

downloads 336 packages. So much for "minimal". cargo is the new npm

Re: Oh My Zsh adds bloat

#79

I don't think 0.38s is a bad trade-off for convenience when the rest of the tools I need to do my job collectively are another 2s at shell startup. NVM alone adds 0.5-0.6s on my M4 Macbook Air. Bigger fish to fry if we're being practical.

You can replace nvm with https://mise.jdx.dev/ , it starts effectively instantly and works not only for node versions but all programming languages and tools. `mise use node@latest`

or asdf

Re: Oh My Zsh adds bloat

#80
post #65
post #48

For command search I've replaced regular search and fzf with atuin. Works especially well with multiple hosts.. https://atuin.sh/ EDIT: The OP fails to mention zsh profiling: zprof. I discovered that atuin is my biggest waster at the moment with like 20ms and rest of the stuff I could clean up.

I'm using fzf and it's amazing. What does atuin bring additionally? Looks very similar

I use atuin for the shell history as it seems to know when I've run a command in one tab/split while another is open where fzf doesn't seem to sync it all the time. But I still use fzf to find files.

(Bonus, I use Zoxide to replace the alt+d cd shortcut as it's much faster, and use https://github.com/Aloxaf/fzf-tab for tab completions in the terminal to become fuzzy, very very useful)

Post reply on HN