-
Notifications
You must be signed in to change notification settings - Fork 2
/
win-dev-box-setup.ps1
84 lines (70 loc) · 1.99 KB
/
win-dev-box-setup.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Enable-RemoteDesktop
Disable-UAC
Update-ExecutionPolicy Unrestricted
$ConfirmPreference = "None" #ensure installing powershell modules don't prompt on needed dependencies
# Get the base URI path from the ScriptToCall value
$bstrappackage = "-bootstrapPackage"
$helperUri = $Boxstarter['ScriptToCall']
$strpos = $helperUri.IndexOf($bstrappackage)
$helperUri = $helperUri.Substring($strpos + $bstrappackage.Length)
$helperUri = $helperUri.TrimStart("'", " ")
$helperUri = $helperUri.TrimEnd("'", " ")
$helperUri = $helperUri.Substring(0, $helperUri.LastIndexOf("/"))
write-host "helper script base URI is $helperUri"
function executeConfig {
Param ([string]$config)
$configUri = $helperUri + "/configs"
write-host "Executing Config: $configUri/$config ..."
iex ((new-object net.webclient).DownloadString("$configUri/$config"))
}
function executeScript {
Param ([string]$script)
$scriptsUri = $helperUri + "/scripts"
write-host "executing $scriptsUri/$script ..."
iex ((new-object net.webclient).DownloadString("$scriptsUri/$script"))
}
$scriptsList = @(
"browsers.ps1",
"dotnet.ps1",
"fonts.ps1",
"git.ps1",
"node.ps1",
"terminals.ps1",
"tools.ps1",
"visual-studio.ps1",
"vscode.ps1",
"wsl.ps1",
"docker.ps1",
"hyper-v.ps1"
);
$configsList = @(
"file-explorer-config.ps1",
"remove-default-apps.ps1",
"git.ps1",
"iis.ps1",
"taskbar-config.ps1",
"vscode.ps1",
"npm.ps1"
);
#--- Setting up Windows ---
foreach ($script in $scriptsList) {
executeScript $script
Update-SessionEnvironment
RefreshEnv
}
foreach ($config in $configsList) {
executeConfig $config
Update-SessionEnvironment
RefreshEnv
}
# checkout recent projects
# mkdir C:\github
# cd C:\github
# git.exe clone https://github.com/microsoft/windows-dev-box-setup-scripts
# git.exe clone https://github.com/microsoft/winappdriver
# git.exe clone https://github.com/microsoft/wsl
# git.exe clone https://github.com/PowerShell/PowerShell
#--- reenabling critial items ---
Enable-UAC
Enable-MicrosoftUpdate
Install-WindowsUpdate -acceptEula