@sds
Recently switched from using Z-Shell for the past decade to Fish [1].
When paired with the Fisher plugin manager [2] and the Tide prompt plugin [3], it's been a much more pleasant experience than I was expecting.
Like many before me, I have synthesized my setup into a bootstrap script I can run on a brand-new mac and everything Just Works™—you can find it here, though I recommend you use it for reference and not for your personal setup, as it is very opinionated and changing often: https://github.com/sds/.files?tab=readme-ov-file#dot-files
It's a pretty stark departure from my prior solution, but after a decade the YAGNI principle [4] has really rung true for me—I spent far too much time making my configuration framework [5] customizable to an unnecessary degree.
[1] https://fishshell.com/
[2] https://github.com/jorgebucaran/fisher
[3] https://github.com/IlanCosman/tide
[4] https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it
[5] https://github.com/sds/dot