I have used Nim for many small experiments, but the main reason why I am not using Nim as my main programming language is that it is not popular enough. I know this is circular, but where I work I am the Nim person. If anything should go wrong on a project where Nim fails to deliver on some points, the burden of having chose that lies on me. If a project goes well, I am bound to maintain it indefinitely because I am the local Nim expert. All this means that using Nim in anger is too risky for me now, although I like to use it for experiments of many kinds.
Other than that, I am worried about the new runtime. Starting to plan the move to a new runtime just before 1.0 is... well, not a good sign. I also don't especially like that this new runtime requires a complex set of lifetime annotations (sink, move, owned...), which makes code less understandable, while before that Nim could be considered a benchmark of readability. Finally, the new runtime doe not seem to be based on sound research on formal type systems (there's just Bacon and Dingle, but it seems an abandoned approach) and new special cases that evade the analyses done so far keep popping out. I think if one wants to really follow such an approach, it must be tried on paper and **proved correct** with an actual demonstration before jumping to the implementation.