Skip to content

Instantly share code, notes, and snippets.

@su-ex
Created January 19, 2022 16:40
Show Gist options
  • Save su-ex/2a456e368f4abcda2c9c2e737a67d89d to your computer and use it in GitHub Desktop.
Save su-ex/2a456e368f4abcda2c9c2e737a67d89d to your computer and use it in GitHub Desktop.
Schildi Windows

This setup is geared towards running Windows 10 with VirtualBox accessed via SSH to minimize graphical interaction (done via VNC).

Useful links for that

https://gist.github.com/rikka0w0/4128493c75285ce62e8c0b46fe8a253e https://forums.virtualbox.org/viewtopic.php?p=78127 https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement https://stackoverflow.com/a/49925963 https://codeandkeep.com/PowerShell-And-Vim/ https://stackoverflow.com/questions/2124753/how-can-i-use-powershell-with-the-visual-studio-command-prompt https://stackoverflow.com/questions/18641864/git-bash-shell-fails-to-create-symbolic-links

The following commands should be executed with the new pwsh.exe (PowerShell Core.

# If no PowerShell profile exists yet
New-Item -ItemType File -Path $PROFILE -Force

# Install choco if not installed yet with the old powershell.exe because installing choco doesn't like pwsh.exe
powershell.exe -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\
bin"

Now just restart the computer (well, that's Windows after all ...).

# for sentry: vcredist140
# for search in encrypted rooms: rustup.install python strawberryperl visualstudio2022-workload-vctools visualstudio2022buildtools windows-sdk-10.0
choco install -y nvs yarn make git grep jq rustup.install python strawberryperl vcredist140 visualstudio2022-workload-vctools visualstudio2022buildtools windows-sdk-10.0 patch
refreshenv

# Probably only necessary when doing this via ssh to actually refresh the environment
Restart-Computer -Force

# nodejs
nvs add 16
nvs use 16
nvs link 16 # use it permanently

If sentry fails (while running make setup) in the steps below, also download and install Visual C++ Redistributable for Visual Studio 2015 x64 from here: https://www.microsoft.com/en-us/download/details.aspx?id=48145

Get the Visual C++ build tools in the PATH (needs to be done every time, so add it to the pwsh profile):

pushd "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools\"
cmd /c "VsDevCmd.bat&set" |
foreach {
   if ($_ -match "=") {
     $v = $_.split("=", 2); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"
   }
}
popd
Write-Host "`nVisual Studio 2022 Command Prompt variables set." -ForegroundColor Yellow

All of the commands in the subsequent sections need to be run with bash (included with git)!!! It can be launched like this from pwsh:

& 'C:\Program Files\Git\bin\bash.exe'

Amend path for bash with that as well in the pwsh profile.

Inside bash:

export MSYS=winsymlinks:nativestrict

Add this to the bash profile.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment