BoxStarter
Creates a fresh .Net developer environment from a bare OS utilizing powershell and chocolatey.
Windows development environment creation made easy!
- 100% Unattended Install with pending reboot detection and automatic logon.
- Lots of Windows configuration utilities including installing critical updates, changing windows explorer options, and more.
- Easily installs to a Thumb drive or Set-BoxstarterShare to share it on your network.
Build your Uber Geek Environment
#After extracting Boxstarter.1.0.0.zip on MYCOMPUTER
.\setup.bat
Import-Module $env:appdata\boxstarter\Boxstarter.Chocolatey\Boxstarter.Chocolatey.psd1
#Create minimal nuspec and chocolateyInstall
New-BoxstarterPackage MyPackage
#Edit Install script to customize your environment
Notepad (Join-Path $Boxstarter.LocalRepo "MyPackage\tools\ChocolateyInstall.ps1")
#Pack nupkg
Invoke-BoxstarterBuild MyPackage
#share Repo
Set-BoxstarterShare
#Or Copy to thumb drive G
Copy-Item $Boxstarter.BaseDir G:\ -Recurse
#on new bare os
\\MYCOMPUTER\Boxstarter\Boxstarter Mypackage
#Enter password when prompted and come back later to new box
Here is an example developer chocolateyInstall.ps1:
Install-WindowsUpdate -AcceptEula
Update-ExecutionPolicy Unrestricted
Move-LibraryDirectory "Personal" "$env:UserProfile\skydrive\documents"
Set-ExplorerOptions -showHidenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions
Set-TaskbarSmall
Enable-RemoteDesktop
cinstm VisualStudio2012Ultimate
if((Get-Item "$($Boxstarter.programFiles86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe").VersionInfo.ProductVersion -lt "11.0.60115.1") {
if(Test-PendingReboot){Invoke-Reboot}
Install-ChocolateyPackage 'vs update 2 ctp2' 'exe' '/passive /norestart' 'http://download.microsoft.com/download/8/9/3/89372D24-6707-4587-A7F0-10A29EECA317/vsupdate_KB2707250.exe'
}
cinstm fiddler
cinstm mssqlserver2012express
cinstm git-credential-winstore
cinstm console-devel
cinstm sublimetext2
cinstm skydrive
cinstm poshgit
cinstm dotpeek
cinstm googlechrome
cinstm Paint.net
cinstm windirstat
cinstm sysinternals
cinstm NugetPackageExplorer
cinstm resharper
cinstm windbg
cinst Microsoft-Hyper-V-All -source windowsFeatures
cinst IIS-WebServerRole -source windowsfeatures
cinst IIS-HttpCompressionDynamic -source windowsfeatures
cinst IIS-ManagementScriptingTools -source windowsfeatures
cinst IIS-WindowsAuthentication -source windowsfeatures
cinst TelnetClient -source windowsFeatures
$sublimeDir = "$env:programfiles\Sublime Text 2"
Install-ChocolateyPinnedTaskBarItem "$env:windir\system32\mstsc.exe"
Install-ChocolateyPinnedTaskBarItem "$env:programfiles\console\console.exe"
Install-ChocolateyPinnedTaskBarItem "$sublimeDir\sublime_text.exe"
Install-ChocolateyPinnedTaskBarItem "$($Boxstarter.programFiles86)\Google\Chrome\Application\chrome.exe"
Install-ChocolateyPinnedTaskBarItem "$($Boxstarter.programFiles86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
Install-ChocolateyFileAssociation ".txt" "$env:programfiles\Sublime Text 2\sublime_text.exe"
Install-ChocolateyFileAssociation ".dll" "$($Boxstarter.ChocolateyBin)\dotPeek.bat"
if(!(Test-Path("$sublimeDir\data")){mkdir "$sublimeDir\data"}
copy-item (Join-Path (Get-PackageRoot($MyInvocation)) 'sublime\*') -Force -Recurse "$sublimeDir\data"
move-item "$sublimeDir\data\Pristine Packages\*" -Force "$sublimeDir\Pristine Packages"
copy-item (Join-Path (Get-PackageRoot($MyInvocation)) 'console.xml') -Force $env:appdata\console\console.xml
Install-ChocolateyVsixPackage xunit http://visualstudiogallery.msdn.microsoft.com/463c5987-f82b-46c8-a97e-b1cde42b9099/file/66837/1/xunit.runner.visualstudio.vsix
Install-ChocolateyVsixPackage autowrocktestable http://visualstudiogallery.msdn.microsoft.com/ea3a37c9-1c76-4628-803e-b10a109e7943/file/73131/1/AutoWrockTestable.vsix
Install-ChocolateyVsixPackage vscommands http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8/file/74740/18/SquaredInfinity.VSCommands.VS11.vsix
Leveraging Chocolatey Goodness
The BoxStarter code base has undergone a major reorganization over the past few months in collaboration with Rob Reynolds' awesome Windows Package manager:
Chocolatey. Much of BoxStarter's functionality has been improved and ported over directly into the Chocolatey repository as of release 0.9.8.20.
Functionality now in Chocolatey includes:
- Creating task bar shortcuts, file associations and windows explorer context menu items.
- Adding any "windows feature" available to the OS
- Installing Visual Studio extensions
You can create and save BoxStarter packages for different types of installations to suit your distinct needs. The package format follows the Nuget specification so you can save them on your favorite public or private feed. By default, boxstarter searches the local "BuildPackages" folder in the Boxstarter repo, the Chocolatey Nuget Feed, and the MyGet Boxstarter feed.
Get More Information
See the
Documentation
Import-Module Boxstarter.Chocolatey
Get-Help Boxstarter