1) You can write tasks in nimscript, which you can use to automate various 
things, included building. This is more frequently done in nimble files (which 
are written in nimscript as well)

3) If you use nimble, you can run `nimble tasks` to see the lists of existing 
tasks, and `nimble taskName` to run `taskName`.

Also, a task is not `used to provide new arguments to nim`. You can use it for 
this, but also for any other build task that you may want to automate, e.g. 
[generating bindings from header 
files](https://github.com/unicredit/nimcuda/blob/master/nimcuda.nimble#L72)

5) I am not sure what you mean, but you can use nimble to run tests, see for 
instance [these 
tasks](https://github.com/unicredit/linear-algebra/blob/master/linalg.nimble)

Also, I don't understand

> once my Nim library is installed, consumers of my library are on their own

You don't install libraries, you depend on them using a `requires` clause in 
your nimble files. See [this](https://forum.nim-lang.org/t/2954) and 
[this](https://github.com/nim-lang/Nim/issues/5776) discussions

6) I don't understand neither the question nor the answer: can you explain what 
you mean by

> a good idea is to provide a nimscript with my installed library, so that 
> consumers can include that

I think you want to provide tasks to install foreign deps but I am not sure

Reply via email to