Skip to content

Instantly share code, notes, and snippets.

@joshmccall221
Forked from jessfraz/boxstarter.ps1
Last active October 11, 2023 15:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshmccall221/26393292659b8db8a6de19739fca1b27 to your computer and use it in GitHub Desktop.
Save joshmccall221/26393292659b8db8a6de19739fca1b27 to your computer and use it in GitHub Desktop.
Boxstarter Commands for a new Windows box.
# Description: Boxstarter Script
# Author: Jess Frazelle <jess@linux.com>
# Last Updated: 2017-09-11
#
# Install boxstarter:
<#
function cinst {
choco install -y @args
}
Set-ExecutionPolicy RemoteSigned
. { iwr -useb http://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force
Install-BoxstarterPackage -PackageName https://gist.githubusercontent.com/joshmccall221/26393292659b8db8a6de19739fca1b27/raw -DisableReboots
#>
# Set-ExecutionPolicy RemoteSigned
# . { iwr -useb http://boxstarter.org/bootstrapper.ps1 } | iex; get-boxstarter -Force
# Install-BoxstarterPackage -PackageName https://gist.githubusercontent.com/joshmccall221/26393292659b8db8a6de19739fca1b27/raw -DisableReboots
#
# You might need to set: Set-ExecutionPolicy RemoteSigned
#
# Run this boxstarter by calling the following from an **elevated** command-prompt:
# start http://boxstarter.org/package/nr/url?<URL-TO-RAW-GIST>
# start http://boxstarter.org/package/nr/url?https://gist.githubusercontent.com/joshmccall221/26393292659b8db8a6de19739fca1b27/raw
# OR
#
# Install-BoxstarterPackage -PackageName <URL-TO-RAW-GIST> -DisableReboots
#
# Learn more: http://boxstarter.org/Learn/WebLauncher
#---- TEMPORARY ---
Disable-UAC
Set-ExplorerOptions -showHiddenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions
Set-TaskbarSmall
#####################
# SOFTWARE
#####################
#####################
# vim
#####################
# (Updated) - How to create a full stack C# dev. environment in NeoVim on Windows 10 from scratch - https://www.youtube.com/watch?v=d12RCPgCe4U&t=3007s
# http://code52.org/carnac/
cinst carnac
# file options
Set-ExplorerOptions -showHiddenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions
# init.lua file - https://gist.github.com/jdavid82/84527270ea1fa57cd98da290e0a3468b
# Windows Terminal:
cinst microsoft-windows-terminal
# Custom prompt for Powershell tutorial: https://docs.microsoft.com/en-us/wind...
cinst cascadiacodepl
# ctrl + shift + ,
<#
- https://pureinfotech.com/change-font-face-windows-terminal/
- https://www.hanselman.com/blog/how-to-make-a-pretty-prompt-in-windows-terminal-with-powerline-nerd-fonts-cascadia-code-wsl-and-ohmyposh
"profiles":
{
"defaults":
{
"font":
{
"face": "Cascadia Code PL"
}
},
#>
# Oh My Posh Themes: https://ohmyposh.dev/docs/themes
cinst oh-my-posh
# Text to add to powershell profile:
Add-Content -Path $PROFILE -Value 'oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\easy-term.omp.json" | Invoke-Expression'
# Powershell execution policies: https://docs.microsoft.com/en-us/powe...
# Background image: https://unsplash.com/photos/iSYYLt2rKac
# btm
cinst bottom
# Vertical and horizontal splits alt + shift + [+/-]
# Neovim
cinst neovim
New-Item -ItemType "directory" -Path $Env:LOCALAPPDATA/nvim
New-Item -ItemType "file" -Path $Env:LOCALAPPDATA/nvim/init.lua
# Paq package manager: https://github.com/savq/paq-nvim
git clone https://github.com/savq/paq-nvim.git $env:LOCALAPPDATA\nvim-data\site\pack\paqs\start\paq-nvim
# Configure Paq in init.lua
Invoke-RestMethod -Uri https://gist.githubusercontent.com/joshmccall221/7ee8a3b20058bc1326bebbdaaf016604/raw | Add-Content -Path $env:LOCALAPPDATA/nvim/init.lua
# Omnisharp: https://www.omnisharp.net/
cinst visualstudio2022buildtools dotnet-6.0-sdk omnisharp
# Ale: https://github.com/dense-analysis/ale
New-Item -ItemType "directory" -Path 'C:\source'
cd 'C:\source'
dotnet new react -n rect-demo
cd .\rect-demo\
git init; git add .; git commit -am "init"
# Ripgrep: https://github.com/BurntSushi/ripgrep
cinst ripgrep
# Telescope: https://github.com/nvim-telescope/tel...
# Plenary nvim: https://github.com/nvim-lua/plenary.nvim
# asyncomplete.vim: https://github.com/prabirshrestha/asy...
# vim signify: https://github.com/mhinz/vim-signify
# typescript
cinst typescript
# Conquer of Completion: https://github.com/neoclide/coc.nvim
# :CocInstall coc-css coc-json coc-tsserver coc-html
# Console
cinst PowerShell
cinst poshgit
cinst microsoft-windows-terminal
# 7Zip
##cinst 7zip.install -y
# Some browsers
cinst GoogleChrome -y
##cinst firefox -y
##cinst firefox-dev --pre -y
##cinst microsoft-edge -y
##cinst microsoft-edge-insider -y
##cinst microsoft-edge-insider-dev -y
# Dev Tools
cinst git.install -y
cinst nvm -y
cinst visualstudio2022enterprise -y
nvm install lts
nvm use lts
cinst cascadiacode -y
cinst vscode -y
#cinst vscode-insiders -y
cinst github-desktop -y
cinst postman -y
cinst fiddler -y
##cinst teamviewer -y
cinst azure-cli -y
# Geek tools
cinst obs-studio -y
#cinst obs-ndi -y
# Messaging
cinst slack -y
cinst whatsapp -y
#cinst discord -y
#cinst microsoft-teams -y
cinst telegram -y
#cinst skype -y
# Tools
#cinst foxitreader -y
#cinst vlc -y
#cinst rescuetime -y
##cinst nordvpn -y
cinst powertoys -y
cinst files -y
#cinst notion -y
# Graphic Tools
#cinst paint.net -y
#cinst screentogif -y
#cinst handbrake -y
#cinst audacity -y
# Manually
# Xmeters
################################
### #--- Fonts ---
### choco install inconsolata -y
###
### #--- Windows Settings ---
### Disable-BingSearch
### Disable-GameBarTips
###
### Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions
### Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -Lock
### Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -AlwaysShowIconsOn
###
### #--- Windows Subsystems/Features ---
### # choco install Microsoft-Hyper-V-All -source windowsFeatures
### choco install Microsoft-Windows-Subsystem-Linux -source windowsfeatures
#
##--- Tools ---
##choco install git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"' -y
##choco install poshgit
##choco install sysinternals -y
##choco install vim
#
##--- Apps ---
##cinst GoogleChrome -y
##choco install docker-for-windows
##choco install sharex
##choco install microsoft-teams
###cinst github
###cinst git
#
#
#
### choco install vcxsrv
### #cinst messenger
###cinst slack
###cinst spotify
### #cinst vlc
###cinst popcorntime
##cinst nodejs
##cinst nvm
###cinst androidstudio
### ##cinst virtualbox
### ##cinst VirtualBox.ExtensionPack
### ##cinst vagrant
### #choco install vmware-workstation-player
### #cinst winscp
### #cinst pathmanager.portable
###cinst postman
### #cinst python
### #cinst winrar
### #cinst cmake
###cinst github
### #cinst notepad2
### ##cinst golang
### #cinst clink
### #cinst processhacker
### #cinst tixati
### #cinst windowssystemcontrolcenter
### #cinst openvpn
### #cinst chocolatey-core.extension
### #cinst kcleaner
### ##cinst malwarebytes
#
#
###cinst visualstudiocode
###cinst visualstudio2019enterprise
####cinst VisualStudio2013Professional -InstallArguments "/Features:'WebTools'"
####cinst visualstudio2017enterprise --package-parameters "--allWorkloads --includeRecommended --includeOptional --passive --locale en-US"
####cinst resharper
####cinst visualstudio2013-webessentials.vsix
####cinst vs2013.vscommands
##
################
### Games
##
####cinst origin
####cinst steam
####cinst battle.net
##
##
##
###--- Uninstall unecessary applications that come with Windows out of the box ---
##
### 3D Builder
###Get-AppxPackage Microsoft.3DBuilder | Remove-AppxPackage
##
### Alarms
###Get-AppxPackage Microsoft.WindowsAlarms | Remove-AppxPackage
##
### Autodesk
###Get-AppxPackage *Autodesk* | Remove-AppxPackage
##
### Bing Weather, News, Sports, and Finance (Money):
##Get-AppxPackage Microsoft.BingFinance | Remove-AppxPackage
##Get-AppxPackage Microsoft.BingNews | Remove-AppxPackage
##Get-AppxPackage Microsoft.BingSports | Remove-AppxPackage
##Get-AppxPackage Microsoft.BingWeather | Remove-AppxPackage
##
### BubbleWitch
##Get-AppxPackage *BubbleWitch* | Remove-AppxPackage
##
### Candy Crush
##Get-AppxPackage king.com.CandyCrush* | Remove-AppxPackage
##
### Comms Phone
##Get-AppxPackage Microsoft.CommsPhone | Remove-AppxPackage
##
### Dell
##Get-AppxPackage *Dell* | Remove-AppxPackage
##
### Dropbox
##Get-AppxPackage *Dropbox* | Remove-AppxPackage
##
### Facebook
##Get-AppxPackage *Facebook* | Remove-AppxPackage
##
### Feedback Hub
##Get-AppxPackage Microsoft.WindowsFeedbackHub | Remove-AppxPackage
##
### Get Started
##Get-AppxPackage Microsoft.Getstarted | Remove-AppxPackage
##
### Keeper
##Get-AppxPackage *Keeper* | Remove-AppxPackage
##
### Mail & Calendar
##Get-AppxPackage microsoft.windowscommunicationsapps | Remove-AppxPackage
##
### Maps
##Get-AppxPackage Microsoft.WindowsMaps | Remove-AppxPackage
##
### March of Empires
##Get-AppxPackage *MarchofEmpires* | Remove-AppxPackage
##
### McAfee Security
##Get-AppxPackage *McAfee* | Remove-AppxPackage
##
### Uninstall McAfee Security App
### $mcafee = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "McAfee Security" } | select UninstallString
##if ($mcafee) {
## $mcafee = $mcafee.UninstallString -Replace "C:\Program Files\McAfee\MSC\mcuihost.exe",""
## Write "Uninstalling McAfee..."
## start-process "C:\Program Files\McAfee\MSC\mcuihost.exe" -arg "$mcafee" -Wait
##}
##
### Messaging
##Get-AppxPackage Microsoft.Messaging | Remove-AppxPackage
##
### Minecraft
##Get-AppxPackage *Minecraft* | Remove-AppxPackage
##
### Netflix
### Get-AppxPackage *Netflix* | Remove-AppxPackage
##
### Office Hub
##Get-AppxPackage Microsoft.MicrosoftOfficeHub | Remove-AppxPackage
##
### One Connect
##Get-AppxPackage Microsoft.OneConnect | Remove-AppxPackage
##
### OneNote
###Get-AppxPackage Microsoft.Office.OneNote | Remove-AppxPackage
##
### People
##Get-AppxPackage Microsoft.People | Remove-AppxPackage
##
### Phone
##Get-AppxPackage Microsoft.WindowsPhone | Remove-AppxPackage
##
### Photos
##Get-AppxPackage Microsoft.Windows.Photos | Remove-AppxPackage
##
### Plex
##Get-AppxPackage *Plex* | Remove-AppxPackage
##
### Skype (Metro version)
###Get-AppxPackage Microsoft.SkypeApp | Remove-AppxPackage
##
### Sound Recorder
##Get-AppxPackage Microsoft.WindowsSoundRecorder | Remove-AppxPackage
##
### Solitaire
##Get-AppxPackage *Solitaire* | Remove-AppxPackage
##
### Sticky Notes
##Get-AppxPackage Microsoft.MicrosoftStickyNotes | Remove-AppxPackage
##
### Sway
##Get-AppxPackage Microsoft.Office.Sway | Remove-AppxPackage
##
### Twitter
##Get-AppxPackage *Twitter* | Remove-AppxPackage
##
### Xbox
###Get-AppxPackage Microsoft.XboxApp | Remove-AppxPackage
###Get-AppxPackage Microsoft.XboxIdentityProvider | Remove-AppxPackage
##
### Zune Music, Movies & TV
##Get-AppxPackage Microsoft.ZuneMusic | Remove-AppxPackage
##Get-AppxPackage Microsoft.ZuneVideo | Remove-AppxPackage
##
###--- Windows Settings ---
### Some from: @NickCraver's gist https://gist.github.com/NickCraver/7ebf9efbfd0c3eab72e9
##
### Privacy: Let apps use my advertising ID: Disable
##If (-Not (Test-Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo")) {
## New-Item -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo | Out-Null
##}
##Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -Type DWord -Value 0
##
### WiFi Sense: HotSpot Sharing: Disable
###If (-Not (Test-Path "HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting")) {
### New-Item -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting | Out-Null
###}
###Set-ItemProperty -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowWiFiHotSpotReporting -Name value -Type DWord -Value 0
##
### WiFi Sense: Shared HotSpot Auto-Connect: Disable
###Set-ItemProperty -Path HKLM:\Software\Microsoft\PolicyManager\default\WiFi\AllowAutoConnectToWiFiSenseHotspots -Name value -Type DWord -Value 0
##
### Start Menu: Disable Bing Search Results
##Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Type DWord -Value 0
### To Rechoco install googlechrome (Enabled):
### Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Search -Name BingSearchEnabled -Type DWord -Value 1
##
### Disable Telemetry (requires a reboot to take effect)
### Note this may break Insider builds for your organization
### Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection -Name AllowTelemetry -Type DWord -Value 0
### Get-Service DiagTrack,Dmwappushservice | Stop-Service | Set-Service -StartupType Disabled
##
### Change Explorer home screen back to "This PC"
##Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Type DWord -Value 1
### Change it back to "Quick Access" (Windows 10 default)
### Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Type DWord -Value 2
##
### Better File Explorer
##Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1
##Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1
##Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2
##
### These make "Quick Access" behave much closer to the old "Favorites"
### Disable Quick Access: Recent Files
##Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name ShowRecent -Type DWord -Value 0
### Disable Quick Access: Frequent Folders
##Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name ShowFrequent -Type DWord -Value 0
### To Restore:
### Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name ShowRecent -Type DWord -Value 1
### Set-ItemProperty -Path HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name ShowFrequent -Type DWord -Value 1
##
### Disable the Lock Screen (the one before password prompt - to prevent dropping the first character)
###If (-Not (Test-Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization)) {
### New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows -Name Personalization | Out-Null
###}
###Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization -Name NoLockScreen -Type DWord -Value 1
### To Restore:
### Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Personalization -Name NoLockScreen -Type DWord -Value 1
##
### Lock screen (not sleep) on lid close
###Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power' -Name AwayModeEnabled -Type DWord -Value 1
### To Restore:
### Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power' -Name AwayModeEnabled -Type DWord -Value 0
##
### Use the Windows 7-8.1 Style Volume Mixer
##If (-Not (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MTCUVC")) {
## New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name MTCUVC | Out-Null
##}
##Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MTCUVC" -Name EnableMtcUvc -Type DWord -Value 0
### To Restore (Windows 10 Style Volume Control):
### Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MTCUVC" -Name EnableMtcUvc -Type DWord -Value 1
##
### Disable Xbox Gamebar
##Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR" -Name AppCaptureEnabled -Type DWord -Value 0
##Set-ItemProperty -Path "HKCU:\System\GameConfigStore" -Name GameDVR_Enabled -Type DWord -Value 0
##
### Turn off People in Taskbar
##If (-Not (Test-Path "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People")) {
## New-Item -Path HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People | Out-Null
##}
##Set-ItemProperty -Path "HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People" -Name PeopleBand -Type DWord -Value 0
##
###--- Restore Temporary Settings ---
Enable-UAC
Enable-MicrosoftUpdate
Install-WindowsUpdate -acceptEula
#--- Rename the Computer ---
# Requires restart, or add the -Restart flag
#$computername = "acidburn"
#if ($env:computername -ne $computername) {
# Rename-Computer -NewName $computername
#}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment