Skip to content

johnkattenhorn/windows-development-environment

 
 

Repository files navigation

How to run the scripts

Using BoxStarter

To run a setup script, click a link in the table below from your target machine. This will download Boxstarter, and prompt you for Boxstarter to run with Administrator privileges (which it needs to do its job). Clicking yes in this dialog will cause the script to begin. You can then leave the job unattended and come back when it's finished.

Click link to run Description
Essentials Windows Essentials (VS Code, Office, Chrome, Firefox)
Development Development (Visual Studio, SQL Developer Edition, NodeJs, Angular)

NOTE: I've been have some issues with running Boxstarter remotely so I've also created a version of the scripts without BoxStarter dependencies but you can also try invoking Boxstarter from Powershell like:

choco install -y boxstarter

OR Without Chocolately previously installed

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://boxstarter.org/bootstrapper.ps1')); Get-Boxstarter -Force

Once its installed open a new Powershell Admin window and invoke the package using

Install-BoxstarterPackage -PackageName "https://raw.githubusercontent.com/johnkattenhorn/windows-development-environment/master/development.ps1?token=AK0OHkKpCgt-8lIcqBiQ1amsoPRrsDB7ks5a-J-0wA%3D%3D"

Using Chocolately

Install Chocolately using powershell

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Download Chocolately build script

Link to copy Description
iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/johnkattenhorn/windows-development-environment/master/choco_essentials.ps1?token=AK0OHkKpCgt-8lIcqBiQ1amsoPRrsDB7ks5a-J-0wA%3D%3D'))" Windows Essentials (VS Code, Office, Chrome, Firefox)
iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/johnkattenhorn/windows-development-environment/master/choco_development.ps1?token=AK0OHkKpCgt-8lIcqBiQ1amsoPRrsDB7ks5a-J-0wA%3D%3D')) Development (Visual Studio, SQL Developer Edition, NodeJs, Angular)

Run Chocolately Script

Setting up a VM

Windows 10 VM setup instructions

  1. Use Hyper-V's Quick Create to set up a VM
  2. Once signed in to your VM, visit this project in a web browser and click one of the script links in the Readme

The Goods

Package Management: Chocolatey

Chocolatey is a powerful package manager for Windows, working sort of like apt-get or homebrew. Let's get that first. Fire up CMD.exe as Administrator and run:

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

Once done, you can install packages by running cinst (short for choco install). Most packages below will be installed with Chocolatey.

Package Management: Upgrade All Packages

To upgrade all chocolately packages installed to latest versions you can issue the following command in a PowerShell (Administrator) console:

choco upgrade all
Bonus: Use Windows 10 & OneGet

Windows 10 comes with OneGet, a universal package manager that can use Chocolatey to find and install packages. To install, run:

Get-PackageProvider -name chocolatey

Once done, you can look for all Chrome packages by typing Find-Package -Name Chrome or install it by typing Install-Package -Name GoogleChrome.

Terminal: CMDer (with PowerShell Support)

The PowerShell in Windows 10 got a bunch of upgrades, but it's even better if used with CMDer or Hyper, both powerful tools to do more command-line things with. CMDer is the old-school veteran, while Hyper hasn't been around for long. Try both and see what you like more! I personally prefer Hyper, simply because it can be styled and extended with addons. Install with:

cinst cmder -pre
cinst hyper

Even if you don't want to use either, you should enable your PowerShell to execute scripts. You're a developer - the terminal is your friend.

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

If you want to go even further, check out the attached PowerShell Profile in this repository. It's my personal one and might not be perfect for you, but it makes my personal life a lot easier. You can edit your PowerShell profile with your favorite editor by calling $PROFILE, so if you're using Visual Studio Code, call code $PROFILE (or vim $PROFILE - you get the idea).

NPM

You just installed Node, which means that you also installed a slightly outdated version of npm. npm@3 is currently in development and offers a bunch of benefits for Windows users. You probably want to upgrade to npm, at least version 5.6.

npm install -g npm-windows-upgrade
npm-windows-upgrade

About

🔭 Turning Windows into an environment ready for modern development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 100.0%