11/20/2017 - 6:39 PM

New Dev Machine Script

New Dev Machine Script

# to execute:
# . { iwr -useb } | iex; get-boxstarter -Force
# Install-BoxstarterPackage -PackageName -DisableReboots


# Windows Explorer has undesirable defaults - fix for this installation:
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions -EnableShowFullPathInTitleBar -DisableOpenFileExplorerToQuickAccess -EnableShowFrequentFoldersInQuickAccess

# Override Chocolatey default of asking for confirmation on everything
chocolatey feature disable -n allowGlobalConfirmation

# Windows Subsystem For Linux
cinst -y Microsoft-Windows-Subsystem-Linux -source WindowsFeatures

# .NET, IIS and friends
cinst -y DotNet4.6.1
cinst -y IIS-WebServerRole -source WindowsFeatures
cinst -y IIS-WebServer -source WindowsFeatures
cinst -y IIS-Security -source WindowsFeatures
cinst -y IIS-BasicAuthentication -source WindowsFeatures
cinst -y IIS-DefaultDocument -source WindowsFeatures
cinst -y IIS-DigestAuthentication -source WindowsFeatures
cinst -y IIS-DirectoryBrowsing -source WindowsFeatures
cinst -y IIS-HttpErrors -source WindowsFeatures
cinst -y IIS-HttpLogging -source WindowsFeatures
cinst -y IIS-HttpRedirect -source WindowsFeatures
cinst -y IIS-ManagementConsole -source WindowsFeatures
cinst -y IIS-IPSecurity -source WindowsFeatures
cinst -y IIS-ISAPIExtensions -source WindowsFeatures
cinst -y IIS-ISAPIFilter -source WindowsFeatures
cinst -y IIS-LoggingLibraries -source WindowsFeatures
cinst -y IIS-CustomLogging -source WindowsFeatures
cinst -y IIS-IIS6ManagementCompatibility -source WindowsFeatures
cinst -y IIS-Metabase -source WindowsFeatures
cinst -y IIS-NetFxExtensibility -source WindowsFeatures
cinst -y IIS-RequestFiltering -source WindowsFeatures
cinst -y IIS-RequestMonitor -source WindowsFeatures
cinst -y IIS-StaticContent -source WindowsFeatures
cinst -y IIS-HttpCompressionStatic -source WindowsFeatures
cinst -y IIS-HttpCompressionDynamic -source WindowsFeatures
cinst -y IIS-HttpTracing -source WindowsFeatures
cinst -y IIS-WindowsAuthentication -source WindowsFeatures
cinst -y IIS-WebSockets -source WindowsFeatures

# now start the software packages
cinst -y tortoisehg
cinst -y googlechrome
cinst -y googlechrome.canary
cinst -y 7Zip
cinst -y adobereader
cinst -y atom
cinst -y audacity
cinst -y awstools.powershell
cinst -y AzureStorageExplorer
cinst -y baretail
cinst -y clipx
cinst -y ConEmu
cinst -y cmder -pre
cinst -y curl
cinst -y docker-for-windows
cinst -y dropbox
cinst -y elixir
cinst -y evernote
cinst -y fiddler4
cinst -y firefox
cinst -y f.lux
cinst -y lastpass
cinst -y git
cinst -y githubforwindows
cinst -y vim
cinst -y kickassvim
cinst -y lockhunter
cinst -y ngrok.portable
cinst -y nodejs
cinst -y notepadplusplus
cinst -y nuget.commandline
cinst -y opera
cinst -y papercut
cinst -y rabbitmq
cinst -y python
cinst -y python2
cinst -y putty
cinst -y poshgit
cinst -y Posh-HG
cinst -y pscx
cinst -y Roundhouse
cinst -y Slack
cinst -y skype
cinst -y smartgit
cinst -y sourcetree
cinst -y sysinternals
cinst -y tortoisesvn
cinst -y vagrant
cinst -y virtualbox
cinst -y visualstudiocode
cinst -y vmwareworkstation
cinst -y WebStorm
cinst -y windbg
cinst -y windirstat
cinst -y winmerge

# Visual Studio and friends
choco install visualstudio2017community --package-parameters "--allWorkloads --includeRecommended --includeOptional --passive --locale en-US"
cinst -y resharper		
cinst -y sql-server-management-studio

cinst -y ruby
# by using refreshenv, installing devkit will (probably) see the ruby installation and not require further manual steps
cinst -y ruby2.devkit

cinst -y WindowsAzurePowershell

# set up a local Nuget package source
new-item C:\packages -type directory
nuget source add -Name Local -source C:\packages

# configure git identity
git config --global "Dave Rael"
git config --global ""
git config --global credential.helper wincred
git config --global --bool pull.rebase true

# make WinMerge my git difftool tool of choice
git config --global diff.tool "winmerge"
git config --global difftool.prompt "false"
git config --global difftool.winmerge.cmd 'winmergeu.exe -e -u-x -wl -wr -dl base -dr mine \"$LOCAL\" \"$REMOTE\" -wl -wr -dl base -dr mine \"$LOCAL\" \"$REMOTE\"'

# Jekll and dependencies (depends on having a sound Ruby installation)
gem install bundler
gem install jekyll
gem install t
gem install wdm

# Phoenix Framework (depends on having a sound Elixir installation)
mix local.hex
mix archive.install

# grab my standard configuration
md C:\Code
cd C:\Code
hg clone
cd Setup\PowerShell