So I’m currently using zsh + oh my zsh, and have been using it for some years now. It’s good, it has amazing features (via plugins) and overall I’m happy with it. But lately it has become laggy for me (probably because of plugins) and I want to see if there’s any other shell with features like ZSH but faster and lighter?
I’ve tried Fish, and usually install it on my servers, but it’s not POSIX compliant so learning what commands actually do what in Fish seems like a hassle.
I’ve heard of Oilshell, Yash, Nushell but haven’t tried any of them.
What is your setup for your interactive shell?
It’s not POSIX either, but I’ll answer your closing question: My current shell of preference is Nushell.
Does it need to be POSIX? Isn’t that only for compatibility with really old Unix systems.
Drop oh-my-zsh and look for something else to customize your prompt. I like Powerlevel10k but Starship is good too.
Ditch oh my zsh, install the plugins directly.
Because zsh is very fast and light. I’m using it with only a handful of plugins, manually installed, and starship
It wouldn’t be fair to say zsh is slow because ohmyzsh is slow. ohmyzsh is notorious for being a bit bloated. If you pull the whole thing, it makes a mess of your shell and you really can’t tell anymore what is what.
It’s possible to install the individual stuff you need from oh my zsh without pulling the whole thing.
I am a happy antidote user. With it, you can do something like this on your
zsh_plugins.txt
file:ohmyzsh/ohmyzsh path:plugins/extract
Though ohmyzsh provides its own means to enable and disable plugins, this will allow you to cut that down to the pulling only of individual plugins in the first place.
Your mileage may vary, but other plugin managers may give you different ways to accomplish the same.
zsh is quite an advanced shell. You will find other shells that do things radically different and have their own bells and whistles, but if you are going for feature parity it may be hard to find a replacement.