From 817ce4771e86bc6e7cd65730e561ccaed214b210 Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Tue, 14 Jan 2025 20:33:17 -0500 Subject: [PATCH] init vs2022 vm --- docker.yml | 20 ++++++++++++++++++++ oem/install.bat | 27 +++++++++++++++++++++++++++ oem/vs_extentions.ps1 | 13 +++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 docker.yml create mode 100644 oem/install.bat create mode 100644 oem/vs_extentions.ps1 diff --git a/docker.yml b/docker.yml new file mode 100644 index 0000000..99b5c43 --- /dev/null +++ b/docker.yml @@ -0,0 +1,20 @@ +services: + windows: + image: dockurr/windows + container_name: windows + environment: + VERSION: "11" + DISK_SIZE: "64G" + devices: + - /dev/kvm + - /dev/net/tun + cap_add: + - NET_ADMIN + ports: + - 8006:8006 + - 3389:3389/tcp + - 3389:3389/udp + volumes: + - ~/Downloads/tiny11.iso:/custom.iso + - ~/school/spring-2025/CSE3120/vm/oem:/oem + stop_grace_period: 2m diff --git a/oem/install.bat b/oem/install.bat new file mode 100644 index 0000000..d292c21 --- /dev/null +++ b/oem/install.bat @@ -0,0 +1,27 @@ +@echo off +:: we have to loop a bunch, for some reason there is a +:: delay in when `winget` is added to the path + +echo waiting for winget command to become available.... +:loop +where winget > nul 2>&1 +if %errorlevel% equ 0 ( + echo winget command found! +) else ( + timeout /t 5 /nobreak > nul + goto loop +) + +@echo on + +winget install -e --id Microsoft.VisualStudio.2022.BuildTools --accept-source-agreements --override "--passive --wait" + +winget install -e --id Microsoft.VisualStudio.2022.Community --accept-source-agreements --override "--passive --wait" + +:: install extentions +powershell -executionpolicy remotesigned -File C:\OEM\vs_extentions.ps1 + + +winget install Mozilla.Firefox --accept-source-agreements + +pause diff --git a/oem/vs_extentions.ps1 b/oem/vs_extentions.ps1 new file mode 100644 index 0000000..d314949 --- /dev/null +++ b/oem/vs_extentions.ps1 @@ -0,0 +1,13 @@ +cd C:\OEM + +$VSInstallDir = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service" + +if (-Not $VSInstallDir) { + Write-Error "Visual Studio InstallDir registry key missing" + Exit 1 +} + +$asmdude_vsix = "$($env:TEMP)\AsmDude.vsix" +wget "https://github.com/HJLebbink/asm-dude/releases/download/v2.0.1.0/AsmDude2-vsix-2.0.1.0.vsix" -OutFile "$($asmdude_vsix)" + +Start-Process -Filepath "$($VSInstallDir)\VSIXInstaller" -ArgumentList "/q /a $($asmdude_vsix)" -Wait