After speaking with Sergio the best option I think for now is to go classic.
Even if we bundled gcc and all libraries and that worked nim also supports C++, JavaScript, and alternative compilers like clang and Intel which would be limited by strict confinement.
I have a stable, nightly, and LTS branch release of nim and nim docs building and being pushed to the store now via GitHub Actions: https://github.com/sirredbeard/nim_lang_snap I just need approval for the classic snaps to get nim working correctly.
In the request, nim is a programming language and to compile code it needs access to C headers and a compiler. As with other languages of this nature, classic is required to have access to /usr/include, etc. The requirements are understood and this follows an established classic pattern.
I’ve vetted the publisher. Granting use of classic. This is now live.
We have had one request for an lts track, but I had some concerns about the semantics and how a single lts track will lead to it being a “rolling lts” which kind of defeats the purpose (do read the thread to see my comments which also apply here). I feel it’s better to have per-supported-version tracks so users can choose, and wait a few weeks until the “default tracks” feature is finalized to use a default track to route users to a current, stable LTS. All of this is merely advice/suggestion from us, if you really want an lts track and are aware of the implications, it can be done.