Boxstarter hacking (pt. 2)
So i got an answer from the boxstarter guru’s over at codeplex. Actually Matt Wrock answered himself.
He told me that the code i was using like this:
invoke-boxstarter {(new-object net.webclient).DownloadString('http://path/to/domainjoin.txt') | iex}
was calling into some lower level functions of boxstarter, hence it was a bad idea.
He directed me to calling
Install-BoxstarterPackage -Package http://path/to/partial
this approach may works just like the web web call http://boxstarter.org/package/url? thingie, but unfortunately the packages are called the same, both are called temp_BoxStarterpackage and both have version 1.0. This causes the second install to go by quickly, as chocolatey already thinks the package is installed.
So my solution to this problem was to create chocolatey packages, so i took all my little powershell scripts, and packaged them up. Then i took my MSDN premium account and fired up a Nuget feed using Klondike on Azure.
This way i just need to have small powershell scripts that boxstarter will use, and then pull the packages from this private feed.
Just like this:
cinst domainjoin -source http://path/to/feed
cinst notepadplusplus
cinst procexp
cinst baretail
cinst fiddler4
cinst updates -source http://path/to/feed
I could have pushed the need packages to my private feed and used that for all packages. But i don’t feel like maintaining every package I might need that I did not make myself.
This is what i have done. If not only to remind my self what i did :)