Skip to content

Instantly share code, notes, and snippets.

@brettveenstra
Last active November 6, 2021 15:44
Show Gist options
  • Save brettveenstra/38908c756fe4cf5922a0420127daa8ca to your computer and use it in GitHub Desktop.
Save brettveenstra/38908c756fe4cf5922a0420127daa8ca to your computer and use it in GitHub Desktop.
Dev Box Starters
#-------------------------------------------------------------------------------#
# #
# This script installs all the stuff I need to develop the things I develop. #
# Run PowerShell with admin priveleges, type `env-windows`, and go make coffee. #
# #
# -James #
# #
# #
# ripped from: https://github.com/jamestharpe/windows-development-environment #
#-------------------------------------------------------------------------------#
#
# Functions
#
function Update-Environment-Path
{
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") `
+ ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
}
#
# Package Managers
#
# Choco
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs; exit }
Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | iex
refreshenv # Update-Environment-Path
# Must-haves
choco install notepadplusplus --yes
choco install cmder --yes
choco install powershell --yes
choco install sql-server-management-studio --yes
#
# Git
#
choco install p4merge --yes
choco install git --yes --params '/GitAndUnixToolsOnPath'
choco install tortoisegit --yes
refreshenv
git config --global alias.ls "log --pretty=format:'%C(yellow)%h %ad%Cred%d %Creset%s%Cblue [%cn]' --decorate --date=short"
git config --global alias.amend "!git add -A && git commit --amend --no-edit"
git config --global alias.ca "commit -a --amend --reuse-message=HEAD"
git config --global alias.co "checkout"
git config --global alias.cob "checkout -b"
git config --global alias.wip "commit -am 'WIP'"
git config --global diff.tool "p4merge"
git config --global difftool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
git config --global merge.tool "p4merge"
git config --global mergetool.p4merge.path "C:\Program Files\Perforce\p4merge.exe"
git config --global mergetool.keepbackup "false"
git config --global mergetool.p4mergetool.trustexitcode "false"
git config --global fetch.prune "true"
git config --global branch.master.mergoptions "--ff-only"
git config --global branch.main.mergoptions "--ff-only"
git config --global pull.rebase "true"
git config --global credential.helper "wincred"
#
# Caddy HTTP Server
#
choco install caddy --yes
refreshenv
#
# Languages
#
choco install dotnetcore --yes
choco install python3 --yes
choco install jdk8 --yes
refreshenv
# Node
choco install nvm --yes
refreshenv
nvm install latest --reinstall-packages-from=node
nvm install 16.13 --reinstall-packages-from=node
nvm use 16.13.0
refreshenv
npm install -g gulp-cli
npm install -g typescript
#
# Docker
#
# Hyper-V required for docker and other things
Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All -NoRestart
choco install docker-desktop --version=3.6.0 --yes
refreshenv
# Yarn
choco install yarn --yes
# Bower
npm install -g bower
# Grunt
npm install -g grunt-cli
# ESLint
npm install -g eslint
npm install -g babel-eslint
npm install -g eslint-plugin-react
#
# VS Code
#
choco install visualstudiocode --yes # includes dotnet
refreshenv
code --install-extension robertohuertasm.vscode-icons
code --install-extension CoenraadS.bracket-pair-colorizer
code --install-extension eamodio.gitlens
# PowerShell support
code --install-extension ms-vscode.PowerShell
# CSharp support
code --install-extension ms-vscode.csharp
# HTML, CSS, JavaScript support
code --install-extension Zignd.html-css-class-completion
code --install-extension lonefy.vscode-JS-CSS-HTML-formatter
code --install-extension robinbentley.sass-indented
code --install-extension dbaeumer.vscode-eslint
code --install-extension RobinMalfait.prettier-eslint-vscode
code --install-extension flowtype.flow-for-vscode
code --install-extension dzannotti.vscode-babel-coloring
code --install-extension esbenp.prettier-vscode
code --install-extension formulahendry.auto-rename-tag
# NPM support
code --install-extension eg2.vscode-npm-script
code --install-extension christian-kohler.npm-intellisense
# Docker support
code --install-extension PeterJausovec.vscode-docker
# Markdown Support
code --install-extension yzhang.markdown-all-in-one
code --install-extension mdickin.markdown-shortcuts
# Media Viewers
choco install vlc --yes
# Browsers
choco install firefox --yes
choco install microsoft-edge --yes
choco install googlechrome --yes
#
# Tooling & Misc
#
choco install 7zip --yes
choco install slack --yes
choco install filezilla --yes
choco install nugetpackageexplorer --yes
choco install firacode --yes # See https://www.youtube.com/watch?v=KI6m_B1f8jc
choco install picassio --yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment