Live data from Hacker News

Speeding up my ZSH shell

scottspence.com

1–10 of 133 posts

Re: Speeding up my ZSH shell

#2
I discovered this issue 2-3 years ago. On slightly older machines, there was a palpable startup time. My fix was going through OhMyZSH and stripping away all the parts that I felt unnecessary (I call this my "leanZSH" and its considerably lighter version of OMZ.) It doesn't track upstream, and I manually update the plugin directory once in a while. Surprisingly OhmyZSH is pretty modular and doesn't break easily.

[Not the best hackjob out there but here it is:

https://github.com/gradientwolf/leanzsh

If you want to update it just copy over the latest `plugin/` folder from OMZ repo. You can get rid of all the plugins you dont want, as well as the themes. It somehow works]

Re: Speeding up my ZSH shell

#5
post #3

Aha! Now I know that nvm was slowing my shell startup down. Now I've reconfigured .zshrc to lazy-load nvm, and everything's snappy: zstyle ':omz:plugins:nvm' lazy yes

Cool! Also, there's a zsh wrapper for nvm:

https://github.com/lukechilds/zsh-nvm?tab=readme-ov-file#laz...

Re: Speeding up my ZSH shell

#6
Oh-my-zsh has a lot of cool and handy features, but it is a huge and complex beast. Personally, I only cared about 3–4 features, so I simply removed it and sought out how to enable those features alone.

Additionally, a lot of functionality which I wanted wasn’t there in OMZ, so my setup had a lot of custom bits anyway.

My zshrc, for reference: https://git.sr.ht/~whynothugo/dotfiles/tree/269248912920d25e...

Re: Speeding up my ZSH shell

#9
From the post, it seems like ZSH tries to update on every shell spawn:

   DISABLE_AUTO_UPDATE="true"
WTF? Even if we ignore the crime of non-critical software updating itself, the fact that it does it on every start instead of every day or week is insane.

I do not want my shell sending network requests to odd servers without explicit action from me, thanks.

Re: Speeding up my ZSH shell

#10
post #2

I discovered this issue 2-3 years ago. On slightly older machines, there was a palpable startup time. My fix was going through OhMyZSH and stripping away all the parts that I felt unnecessary (I call this my "leanZSH" and its considerably lighter version of OMZ.) It doesn't track upstream, and I manually update the plugin directory once in a while. Surprisingly OhmyZSH is pretty modular and doesn't break easily. [Not…

I think you're better off switching to https://starship.rs

I did try to do my whole zsh config/theme from scratch, but it did take some time and lot of small features here and there were no worth the effort (like python version, vevn, and such) so I just switched to starship which is very fast and easy to use

Post reply on HN