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 :)