Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Register-PSRepository -Name Kyzog -SourceLocation "https://pkg.scm.kyzog.com/repository/kyzog.posh.hosted/" -InstallationPolicy Trusted
Install-Module Posh-Git -Scope CurrentUser
@"
Import-Module posh-git
"@ | Add-Content -LiteralPath $PROFILE
New-Item -Type Directory \wksp\psake
cd \wksp\psake
git clone https://github.com/psake/psake.git
cd psake
New-Item -Type SymbolicLink -Path "$HOME\Documents\WindowsPowershell\Modules\psake" -Target "$PWD\src\"
$nugetUtilPath = "C:\util\nuget\"
New-Item -Type Directory $nugetUtilPath
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile "$nugetUtilPath\NuGet.exe"
$ENV:Path += ";$nugetUtilPath";
[Environment]::SetEnvironmentVariable("Path", $ENV:Path, [EnvironmentVariableTarget]::Machine)
$utilPath = "C:\util\vswhere\"
New-Item -Type Directory $utilPath
Invoke-WebRequest -Uri https://github.com/microsoft/vswhere/releases/download/3.1.7/vswhere.exe -OutFile "$utilPath\vswhere.exe"
$ENV:Path += ";$utilPath";
[Environment]::SetEnvironmentVariable("Path", $ENV:Path, [EnvironmentVariableTarget]::Machine)
$utilPath = "C:\util\dotnet\"
New-Item -Type Directory $utilPath
$dotnetInstaller = "$utilPath\dotnet-install.ps1"
Invoke-WebRequest -Uri https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.ps1 -OutFile $dotnetInstaller
& $dotnetInstaller
$utilPath = "C:\util\dotnet\"
New-Item -Type Directory $utilPath
$dotnetInstaller = "$utilPath\ndp48-devpack-enu.exe"
Invoke-WebRequest -Uri https://download.visualstudio.microsoft.com/download/pr/714a99a2-db28-432e-9a39-4345ba11e73f/5108686aec021898cec3de2cc4d9fd3c/ndp48-devpack-enu.exe -OutFile $dotnetInstaller
& $dotnetInstaller
$dotnetInstaller = "$utilPath\ndp48-x86-x64-allos-enu.exe"
Invoke-WebRequest -Uri https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe -OutFile $dotnetInstaller
& $dotnetInstaller
dotnet tool install --global dotnet-coverage
dotnet tool install -g dotnet-reportgenerator-globaltool
dotnet tool install -g docfx
$utilPath = "C:\util\nodejs\"
New-Item -Type Directory $utilPath
$installer = "$utilPath\node-v22.13.1-x64.msi"
Invoke-WebRequest -Uri https://nodejs.org/dist/v22.13.1/node-v22.13.1-x64.msi $installer
& $installer
C:\Users\[user name]\AppData\Roaming\NuGet\NuGet.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Nexus" value="https://dev-nexus-01.ad.reallyepicdog.com/repository/red-nuget/" />
<add key="LOCAL" value="C:\util\NuGet\packages" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
</packageSources>
<packageSourceCredentials>
<Nexus>
<add key="username" value="developers" />
<add key="cleartextpassword" value="DEV_P@ssw0rd" />
</Nexus>
</packageSourceCredentials>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<packageManagement>
<add key="format" value="0" />
<add key="disabled" value="False" />
</packageManagement>
<apikeys>
<add key="https://dev-nexus-01.ad.reallyepicdog.com/repository/red-nuget/" value="AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA/XHe9upBr0S7Ph781WexIQAAAAACAAAAAAADZgAAwAAAABAAAACa92y1/PK4RZpJjPg9ZtxYAAAAAASAAACgAAAAEAAAAMyTiol221DQKd3PS65W4mcoAAAAs8o2C5FWf2M/vqKWBfRHR8RRdCQQ3rbvduyKDQds00t6k1RvMAFxrhQAAADAaq7Ku8r5qkhMY945QvRmgVRX4g==" />
</apikeys>
</configuration>