Windows Dev Workstation Build Notes
I got ahold of the Windows 10 Technical Preview so I had to reinstall all of my development tools. I wanted to take the opportunity to document how I like to setup my system.
Assumptions
- Guess what! I’m doing this for a Windows 10 Tech Preview system. Everything is fairly generic and should work with previous version.
Windows Path e.g. /usr/bin
I like to keep a bunch of batch files and other executables handy by stuffing them into a bin
folder that is in my user profile.
- Create the
bin
foler in %userprofile%. - Add
%userprofile%\bin
to your user’s path.
Sublime Text
Do not pass go, do not collect $200 dollars. You will absolutely need a good text editor. Even if you live and breath Visual Studio this tool will find a way into your heart.
- Download the Sublime Text 3 installation application.
- Install the application accepting all of the defaults.
- Create a batch file named
subl.bat
in yourbin
directory. The file should have the following contents.@start "sublime" "%ProgramW6432%\Sublime Text 3\sublime_text.exe" %*
- Configure Sublime Text to your liking. I have also posted a separate article on a starting point for setup.
*You may want to also install my favorite monospace font, Source Code Pro.
Git
Git is the glue. Every project I work on resides in a Git repo, whether it is local or hosted with GitLab or GitHub. I have even extended this out and have some automation setup to pull switch configs and keep them updated in a Git repo.
- Download the Git Installer.
- Install the application. When asked about the PATH, select “Use Git and optional Unix tools from the Windows Command Prompt”.
- If everything installed correctly, you will be able to open a new command prompt and execute
git --version
.
Project Folders
I organize my projects into three folders. One for work projects, one for personal projects, and one for external projects. Create the following folders:
%userprofile%\Projects
%userprofile%\Projects-Personal
%userprofile%\Projects-External
CLINK
Clink combines the native Windows shell cmd.exe with the powerful command line editing features of the GNU Readline library, which provides rich completion, history, and line-editing capabilities. Readline is best known for its use in the well-known Unix shell Bash, the standard shell for Mac OS X and many Linux distributions.
- Download the installation.
- Install normally with defaults.
CLINK Git Prompt
- Open a command prompt
- Change directory to your external projects folder. (e.g.
cd %userprofile%\Projects-External
) - Clone the repository
git clone https://github.com/djs/clink-gitprompt.git
- Create a link to the lua file
ln %userprofile%\Projects-External\clink-gitprompt\git_prompt.lua %localappdata%\clink\git_prompt.lua
GOW
Gow (Gnu On Windows) is the lightweight alternative to Cygwin. It uses a convenient Windows installer that installs about 130 extremely useful open source UNIX applications compiled as native win32 binaries. It is designed to be as small as possible, about 10 MB, as opposed to Cygwin which can run well over 100 MB depending upon options.
- Open a command prompt
- Change directory to your external projects folder. (e.g.
cd %userprofile%\Projects-External
) - Clone the GOW repository
git clone https://github.com/bmatzelle/gow.git
- Add
%userprofile%\Projects-External\gow\bin
to your users path.
GitFlow
-
Download the getopt binary archive, extract the getopt.exe and copy it in
C:\Program Files (x86)\Git\bin
. - Open a command prompt
- Change directory to your external projects folder. (e.g.
cd %userprofile%\Projects-External
) - Clone the gitflow repository
git clone https://github.com/petervanderdoes/gitflow.git
- Change into the gitfloe directory
cd gitflow
- Run the installation
contrib\msysgit-install.cmd "C:\Program Files (x86)\Git"
SysInternals
- Open a command prompt
- Change directory to your external projects folder. (e.g.
cd %userprofile%\Projects-External
) - Clone the sysinternals repository
git clone https://github.com/kbandla/sysinternals.git
- Add
%userprofile%\Projects-External\sysinternals\tools
to your user path.
Ruby
- Download the Windows installer from the official Ruby site. http://rubyinstaller.org/downloads/
- Run the installer and install with default selections.
Ruby DevKit
- Download the 2.1 Dev Kit from the official Ruby Site. This is a self extracting file. http://rubyinstaller.org/downloads/
- Run the installer and extract the files to
c:\ruby21-devkit
. - Register the Dev Kit with Ruby
cd c:\ruby21-devkit ruby dk.rb init ruby dk.rb install
Update the Ruby Gem SSL
I ran into an issue where I was unable to install any Gems. I found the solution from luislavena. I choose the manual installation.
- Download AddTrustExternalCARoot-2048.pem
- Place the file into
C:\Ruby21-x64\lib\ruby\2.1.0\rubygems\ssl_certs
Jekyll
gem install jekyll
gem install rouge
IIS
I know, use Apache or Nginx. Well, IIS works fine for the majority of my development work and gives me another platform to test on. I also develop on Mac OS and Linux so I feel like I hit the big three well enough.
- From an elevated PowerShell prompt
enable-windowsoptionalfeature -online -featurename IIS-WebServerRole
- Download the Microsoft Web Platform Installer.
- Run the installer
- Once completed, open the IIS Manager and start the Web Platform Installer. Install the following components.
- URL Rewrite 2.0
- PHP 5.6.0
Composer
- Download composer.phar from https://getcomposer.org/composer.phar and place it in your
bin
directory. - Create
composer.bat
in your bin directory with the following contents.@php "%~dp0composer.phar" %*
Node
Download and install the Node MSI installer. http://nodejs.org/dist/v0.10.35/x64/node-v0.10.35-x64.msi
Grunt
npm install -g grunt-cli
Bower
npm install -g bower
Python
- Download and install the Python 3 MSI installer. https://www.python.org/ftp/python/3.4.2/python-3.4.2.amd64.msi
- Install with regular options, however DO select the option to “Add python.exe to Path”
MariaDB
- Download and install the MariaDB MSI installer. https://downloads.mariadb.org/f/mariadb-10.0.16/winx64-packages/mariadb-10.0.16-winx64.msi/from/http%3A/nyc2.mirrors.digitalocean.com/mariadb?serve
- Install with all default options. Be sure to remember your root password.