I think Nim does DSLs particularly well and is the performant option for the Python class of scripty general purpose languages. I personally prefer more state controlled languages (Clojure, Rust) but I've considered pushing for Nim on shared/work projects. The main reason I haven't is network effects. The language niceties compared to other scripty general purpose languages aren't going to make up for the time spent writing all the libraries from scratch and I can't point to being able to control state as a motivation.
Odd, I've really yet to run into a key library that I needed and couldn't find. Not all libraries are listed in Nimble too. Granted I've not done much web server stuff in Nim. Sometimes a library needed a bit of polish, which is usually trivial given how concise they are. I've actually had better luck with it than say with Elixir on anything not web related. Occasionally I've needed to wrap or convert some C code on non-embedded projects.