This uses Chocolatey and Boxstarter to install a loadout for Sitecore/.NET development on a new computer. Click the link below to start a click-to-run that does all the things. It's that easy. Fork the gist and alter the link below to customize for your own usage!
Last active
May 25, 2021 11:36
-
-
Save kamsar/707496cd15ab119b0e30f567da1307c8 to your computer and use it in GitHub Desktop.
Kam's Dev Box Setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sets up a handily configured development box for Sitecore using Chocolatey and Boxstarter | |
# Feel free to fork and hack at you see fit. | |
$ErrorActionPreference = 'Stop' | |
# Temporary checksum fix while https://github.com/mwrock/boxstarter/issues/198 is worked out | |
choco upgrade chocolatey --version 0.9.10.3 --allow-downgrade | |
# Prevent needing -y on all commands | |
choco feature enable -n=allowGlobalConfirmation | |
# | |
# Windows Settings | |
# | |
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions | |
Set-TaskbarOptions -Size Large -Combine Full | |
Disable-GameBarTips | |
Disable-BingSearch | |
Disable-InternetExplorerESC | |
Set-CornerNavigationOptions -EnableUsePowerShellOnWinX | |
Update-ExecutionPolicy RemoteSigned | |
Enable-WindowsOptionalFeature -Online -FeatureName "TelnetClient" -All -NoRestart | |
Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -All -NoRestart | |
# | |
# IIS | |
# | |
DISM /Online /Enable-Feature /All /FeatureName:IIS-ApplicationDevelopment /FeatureName:IIS-ASPNET /FeatureName:IIS-ASPNET45 /FeatureName:IIS-BasicAuthentication /FeatureName:IIS-CommonHttpFeatures /FeatureName:IIS-DefaultDocument /FeatureName:IIS-DirectoryBrowsing /FeatureName:IIS-HealthAndDiagnostics /FeatureName:IIS-HttpCompressionDynamic /FeatureName:IIS-HttpCompressionStatic /FeatureName:IIS-HttpErrors /FeatureName:IIS-HttpLogging /FeatureName:IIS-HttpRedirect /FeatureName:IIS-HttpTracing /FeatureName:IIS-ManagementConsole /FeatureName:IIS-ManagementScriptingTools /FeatureName:IIS-ManagementService /FeatureName:IIS-Performance /FeatureName:IIS-RequestFiltering /FeatureName:IIS-StaticContent /FeatureName:IIS-URLAuthorization /FeatureName:IIS-WebServer /FeatureName:IIS-WebServerManagementTools /FeatureName:IIS-WebServerRole /FeatureName:IIS-WindowsAuthentication | |
choco install urlrewrite | |
# | |
# .NET Dev Tools | |
# | |
choco install visualstudio2017professional | |
choco install visualstudio2017-workload-netweb # ASP.NET is a separate module now | |
# Handle these manually for SQL Server Developer Edition (or uncomment to get SQLEXPRESS instance) | |
#choco install mssqlservermanagementstudio2014express | |
#choco install MsSqlServer2014Express | |
# R# package doesn't seem to install in VS right | |
#choco install resharper | |
#choco install dotcover | |
#choco install dotpeek | |
#choco install dottrace | |
#choco install dotmemory | |
# | |
# MongoDB (as a windows service) | |
# | |
$mongoDbPath = "$env:SystemDrive\MongoDB" | |
$mongoDbConfigPath = "$mongoDbPath\mongod.cfg" | |
$url = "https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-3.2.7.zip" | |
$zipFile = "$mongoDbPath\mongo.zip" | |
$unzippedFolderContent ="$mongoDbPath\mongodb-win32-x86_64-2008plus-3.2.7" | |
if ((Test-Path -path $mongoDbPath) -eq $false) | |
{ | |
Write-Host "Setting up directories..." | |
$temp = md $mongoDbPath | |
$temp = md "$mongoDbPath\log" | |
$temp = md "$mongoDbPath\data" | |
$temp = md "$mongoDbPath\data\db" | |
Write-Host "Setting up mongod.cfg..." | |
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "dbpath=$mongoDbPath\data\db`r`n") | |
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "logpath=$mongoDbPath\log\mongo.log`r`n") | |
[System.IO.File]::AppendAllText("$mongoDbConfigPath", "smallfiles=true`r`n") | |
Write-Host "Downloading MongoDB..." | |
$webClient = New-Object System.Net.WebClient | |
$webClient.DownloadFile($url,$zipFile) | |
Write-Host "Unblock zip file..." | |
Get-ChildItem -Path $mongoDbPath -Recurse | Unblock-File | |
Write-Host "Unzipping Mongo files..." | |
$shellApp = New-Object -com shell.application | |
$destination = $shellApp.namespace($mongoDbPath) | |
$destination.Copyhere($shellApp.namespace($zipFile).items()) | |
Copy-Item "$unzippedFolderContent\*" $mongoDbPath -recurse | |
Write-Host "Cleaning up..." | |
Remove-Item $unzippedFolderContent -recurse -force | |
Remove-Item $zipFile -recurse -force | |
Write-Host "Installing Mongod as a service..." | |
& $mongoDBPath\bin\mongod.exe --config $mongoDbConfigPath --install | |
Write-Host "Starting Mongod..." | |
& net start mongodb | |
} | |
else { | |
Write-Host "MongoDB already installed." | |
} | |
# | |
# Misc Tools | |
# | |
choco install 7zip | |
choco install fiddler4 | |
choco install putty | |
# Not installing Git because I like to: | |
# 1) Disable Git GUI context menu | |
# 2) Not install the VS plugins and other extras for GitEx | |
# choco install git.install | |
# choco install gitextensions | |
choco install sublimetext3 | |
choco install visualstudiocode | |
choco install googlechrome | |
choco install slack | |
choco install dashlane | |
choco install googledrive | |
choco install windirstat | |
choco install beyondcompare | |
# | |
# MS Office (if you want it) | |
# | |
# choco install Office365Business | |
# Windows Updates | |
Install-WindowsUpdate -GetUpdatesFromMS -AcceptEula |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@kamsar,
I know it's a bit unrelated, but we're trying to setup a new local dev box and I keep getting the following when running
lp setup
. Can you advise?