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?
Because of this:
And some note by the author of the scheme:
Why should I guess at the tea leaves instead of just using deterministic zsh?
Weird I don’t have to think about all these graphs. It can be as complicated as you make it to. I use Linux since 2008 and most of the time was Bash (with a few years of Zsh in between) and there is no such problem in real world. At least for me. And I am a person who constantly writes scripts and would get in trouble if env vars are not set correctly or something like that. From my experience Zsh was as messy as Bash and I had the same troubles with it setting env correctly.
I have to admit that I never understood the need for bashrc and bash_profile. I hated that with a passion when I started to set up my bash configuration. I never saw the need to have so many files and so much complication to have a consistent shell whenever I logged in the console or spawned a konsole in KDE.
The paths shown on that diagram are 7 for bash, and 4 for zsh, so it’s surely an improvement. However, now that I have set it all on a git repository, I don’t see it as a big deal. I have a profile that sources bashrc, and then I do it all in bashrc. I’ve checked /etc/skel and it seems the distro does roughly the same (and I’ve never switched away from Debian or Debian-based in 20 years). I’m not sure if it’s such a big deal. But I’m still curious about trying zsh some day. :)
Thanks for the blog post. I’ll check it out.