This is on a Windows Pro 11 build 10.0.26100 machine.
Install Visual Studio community edition from https://visualstudio.microsoft.com with options:
A recent installation of Windows should have the App Installer
application. This includes the winget command line installer.
Use winget search something to search for suitable installers.
winget install Mozilla.Firefox
winget install BurntSushi.ripgrep.GNU
winget install vim.vimPut vim on PATH:
$prev_env = [Environment]::GetEnvironmentVariable("PATH", "User")
$vim_path = "$env:PROGRAMFILES\Vim\vim91"
[Environment]::SetEnvironmentVariable("PATH", "$prev_env;$vim_path", "User")Install-Module PsReadline -Scope CurrentUser
# Find profile file.
echo $PROFILE
Edit, and add line:
Set-PSReadlineOption -EditMode vi
Needed for OpenBLAS build. You can use the Perl provided with the Git installation.
$git_usr_bin = (Split-Path (Split-Path (Get-Command git).Path)) + "\usr\bin"
$prev_path = [Environment]::GetEnvironmentVariable("PATH", "User")
[Environment]::SetEnvironmentVariable("PATH", "$git_usr_bin;$prev_path", "User")Set up SSH server: from an Administrator Terminal:
Add-WindowsCapability -Online -Name openssh.server
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Configure SSH shell as Powershell:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -ForceCopy any authorized keys to file named below, then:
icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"Enable remote desktop (search for remote desktop settings, enable).
Windows search for "lid" and select "Do Nothing" for close lid when powered (to use a server with lid closed).
See https://github.com/matthew-brett/scipy-windows-arm/settings/actions/runners/new?arch=arm64&os=win. I chose the defaults througout.
The runner runs only on pushes to the main branch.