As I've posted elsewhere 
([http://forum.nim-lang.org/t/2679#16589)](http://forum.nim-lang.org/t/2679#16589\)),
 I think that a good solution would be to use Chocolatey.

There is already a Nim Choco package, but it's way unmaintained:

[https://chocolatey.org/packages/nim](https://chocolatey.org/packages/nim)

The advantages of Cholocolatey are that its already a well-established app for 
installing updating all sort of packages that don't come with an installer, and 
offer the final user a single interfact (ChocoGUI) from which to update all 
packages. I use it to update Ruby, Node, Go, and other langs, which is much 
better than having to manually check via the browser if a new release is 
available, and then go through the whole setup process.

Since Choco packages are executed silently, there is no clicking YES, YES, YES 
... YES at each update to confirm existing settings. But his also means that a 
Nim package would have to be thought over carefully, for example: I think tha 
Aporia IDE and MinGW shouldn't be in the main Nim package because in silent 
installation the user is not given a choice over these. Maybe multiple Nim 
packages could be created: Nim 32bit, Nim 64bit, Aporia, and even a Nim package 
for installing MinGW or TDM-GCC --- which would solve the main issue that 
started this thread, ie: offer users help on setting up a GCC environment on 
Windows.

I believe that we need an official Nim packages on Chocoloatey, to avoid having 
yet another umaintained package.

Also, since Choco packages are just Powershell scripts, usually hosted on 
GitHub, the whole process could be integrated into Nim's release cycle: when a 
new version of Nim is released, some script could automatically edit the 
strings in the choco-package to the new release number and download link, and 
push a commit to GitHub and (I guess) even update the package on Choco website.

I am convinced that Choco is the easiest solution to maintain, and since it is 
normal that a software has different choco packages, it would allow to create 
different setup scripts, covering all possibile needs.

Reply via email to