I have just uploaded the latest gen.nim generator with support for GTK's interfaces. Additional GErrors are now mapped to Nim's exceptions. Readme contains an example for that, at the bottom.
Closing, please reopen when problems occur.
Question, Is there any documentation to nim-gtk3? Or a brief user-guide? If not, do you plan to publish them?
I guess you have seen the README for the high level bindings nimble package?
https://github.com/StefanSalewski/gintro
If you have basic GTK knowledge, that should be enough to start. Mr. Pilsbury has already tested that package successfully. Of course much more testing and improvement is necessary, and I am going to provide more tutorial examples. But I can not provide an example for each widget or for the thousands gtk3 related functions, that would result in a 700 pages book as that of Mr Krause for GTK2 in C.
For the low level bindings, currently located at github.com/ngtk3: In the last week I have updated them for latest GTK 3.22 locally -- as Mr PMunch wants to use them for his GUI framwork, I am going to publish that bindings as a nimble package called oldgtk3 located at github.com/stefansalewski, maybe already today or tomorrow. The name oldgtk3 is a bit misleading, because that are the latest low level bindings for gtk 3.22. But we need a toplevel name, so that we can use something like "import oldgtk3/[gtk, glib, cairo]". And as we now have the gobject-introspection based gintro package with high level bindings, I think the name oldgtk3 is somewhat justified.
For that low level bindings, the Nim editor NEd is a medium size example, and the chess game nim-chess is a basic example. Additional tiny examples are located in each sub package (cairo, gtk-sourceview and such) each in a subdirectory called test. Generally, for the low level bindings you can follow each C tutorial, it is a trivial 1:1 translation, c2nim may help.
[EDIT]
Have just uploaded the low level nimble GTK 3.22 package:
https://github.com/StefanSalewski/oldgtk3
So "nimble install oldgtk3" should work soon, when dom96 has merged it into nimble package list. But generally the high level bindings are more interesting, and "nimble install gintro" works already :-)