For ZSH it really depends on how you work and what you program on and such, for the system I’m on at this moment my OMZ plugin list is:
131 │ plugins=(
132 │ asdf
133 │ command-not-found
134 │ colored-man-pages
135 │ colorize
136 │ compleat
137 │ copydir
138 │ copyfile
139 │ cp
140 │ dircycle
141 │ dirhistory
142 │ dirpersist
143 │ docker
144 │ encode64
145 │ extract
146 │ git
147 │ git-extras
148 │ gpg-agent
149 │ gradle
150 │ history
151 │ history-substring-search
152 │ kate
153 │ #last-working-dir
154 │ #per-directory-history
155 │ rsync
156 │ screen
157 │ ssh-agent
158 │ taskwarrior
159 │ tmux
160 │ tmuxinator
161 │ torrent
162 │ urltools
163 │ vundle
164 │ web-search
165 │ pj
166 │ gitignore
167 │ gnu-utils
168 │ mix
169 │ postgres
170 │ rebar
171 │ npm
172 │ pip
173 │ virtualenv
174 │ debian
175 │ systemd
176 │ emoji-clock
177 │ cargo
178 │ rust
179 │ rustup
181 │ themes
182 │ )
There are others I like to use as well but I try to keep the plugin list short to keep loading fast (simple alias and completion plugins, as most of those are, don’t really matter, but some other plugins definitely increase loading time), so the plugin list I use is pretty system specific for whatever I do on the given system.
Sounds like you were loading too many plugins, by default it doesn’t load any so loading time is pretty instant.
I like fish but it’s too incompatible with the posix style. ZSH is more of just a better BASH. I’ve only been playing with nushell for some things because of how it works make certain kinds of work much easier and faster.