[1]: https://ninite.com/
[1]: https://ninite.com/
OneGet can install applications from repositories, using any number of providers. The preview version comes with a version of Chocolatey [2] built in managed code (C#) instead of PowerShell, but it supports the same Chocolatey gallery (a repository of software packages) and protocol.
PowerShellGet [3] can install PowerShell modules (e.g. make new Cmdlets available on the PowerShell command line). The modules can be delivered as scripts or as compiled .NET assemblies. By default PowerShellGet is configured to use a (closed preview) repository [4], which makes it not very usable, but it's interesting to know what direction it is headed.
As a more practical alternative to PowerShellGet, have a look at PSGet [4], a PowerShell module for installing PowerShell modules, with its own dedicated repository. Hopefully Microsoft's PowerShellGet will support PSGet as a provider in the future as well, the names are certainly confusing.
Desired State Configuration (DSC) [6] is a new (Windows 8.1) capability to configure Windows using a declarative syntax extension of PowerShell v4. It can set registry keys, create files and directories, enable Windows Features, and more. DSC 'resources' are PowerShell modules, so DSC's capabilities can be extended, see this GitHub repository [5] for examples.
Alternatively, have a look at Boxstarter [7]. It can do installation and configuration, and you can host your 'starter script' online and launch it with a single command. Boxstarter will take care of all Windows restarts that might be necessary along the way.
[1]: http://www.microsoft.com/en-us/download/details.aspx?id=4407...
[3]: http://blogs.msdn.com/b/powershell/archive/2014/05/20/settin...
[4]: https://msconfiggallery.cloudapp.net/
[5]: http://psget.net/
[6]: https://github.com/powershellorg/dsc
[7]: http://blogs.technet.com/b/privatecloud/archive/2013/08/30/i...
Be aware that, although most modern package solutions for Windows are using NuGet as a packaging format, using NuGet.exe directly (the application) and with nuget.org (the website) is meant for managing software development dependencies, not installing/updating end-user applications or command-line utilities.
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
# tools
choco install dropbox
choco install gow
choco install googledrive
# graphics
choco install inkscape
choco install colorpic
choco install blender
choco install gimp
# IDEs
choco install eclipse
choco install VisualStudio2012Professional
# editors
choco install atom
choco install lighttable
choco install ProgrammersNotepad
# browsers
choco install firefox
choco install GoogleChrome
# languages
choco install jdk8
choco install lein
choco install groovy
choco install python
choco install ruby
# build
choco install ant
choco install gradle
choco install maven
choco install puppet
choco install wixtoolset
# servers
choco install nodejs.install
choco install Tomcat
# databases
choco install mysql
choco install mysql.workbench
choco install toad.mysql
# scm
choco install git.install
choco install TortoiseGit
choco install GitHub
choco install svn
choco install tortoisesvn
choco install ankhsvnhttps://github.com/berdario/dotfiles/blob/master/deploy.py
On windows I'm forced to do some nasty tricks (i.e.: reloading the script with admin user, and if any exception happens I output the stacktrace on a tkinter textarea, since the terminal is not available anymore)
(to actually install software, I use chocolatey, but it's really hit and miss...)