Skip to content

Commit 1e36f2e

Browse files
author
cjlapao
committed
Added windows 11 ARM template
1 parent ce334ed commit 1e36f2e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1390
-4
lines changed

.gitignore

+8-2
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,11 @@ crash.log
1818

1919
**/*.pvm/
2020
**/out/
21-
22-
.DS_Store
21+
**/*.iso
22+
!**/unattended.iso
23+
**/.DS_Store
24+
**/*.local*
25+
**/*.override*
26+
*.key
27+
**/test/
28+
**/box/

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2021 Carlos Lapao
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+31
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,40 @@ The Parallels Virtualization SDK is required to build the virtual machine. It ca
2727
export PYTHONPATH=$PYTHONPATH:/Library/Frameworks/ParallelsVirtualizationSDK.framework/Versions/Current/Libraries/Python/3.7
2828
```
2929

30+
## Structure
31+
32+
The repository is structured as follows:
33+
34+
```bash
35+
.
36+
├── README.md
37+
├── http
38+
├── scripts
39+
│ ├── ubuntu
40+
│ │ └── addons
41+
│ └── windows
42+
│ └── addons
43+
├── ubuntu
44+
└── windows
45+
```
46+
47+
* `http` - This directory contains files that are served by the web server during the installation of the virtual machine.
48+
* `scripts` - This directory contains scripts that are used during the installation of the virtual machine.
49+
* `ubuntu` - This directory contains Packer scripts for Ubuntu.
50+
* `addons` - This directory contains scripts that install addons.
51+
* `windows` - This directory contains Packer scripts for Windows.
52+
* `addons` - This directory contains scripts that install addons.
53+
* `ubuntu` - This directory contains Packer scripts for Ubuntu.
54+
* `windows` - This directory contains Packer scripts for Windows 11 on ARM.
55+
3056
## Contributing
3157

3258
If you'd like to contribute to this repository, please fork the repository and create a new branch for your changes. Once you've made your changes, submit a pull request and we'll review your changes.
59+
you can also join our [Discord](https://discord.gg/reuhvMFT) server to discuss your ideas or get some help.
60+
61+
## Scripts and Addons
62+
63+
We provide some scripts and addons that can be used to customize the virtual machine. These scripts and addons are located in the `scripts` directory. Some of those are changes to existing ones creating by the community and some are very much custom to Parallels. Please feel free to use them as you see fit. You can also add your flavor to the mix by submitting a pull request.
3364

3465
## License
3566

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
param(
2+
[Parameter(Mandatory=$true)]
3+
[string]$ScriptNames
4+
)
5+
6+
$basePath = "c:/parallels-tools/addons/choco"
7+
8+
if ($ScriptNames -eq "*") {
9+
$scriptNamesArray = Get-ChildItem -Path "$PSScriptRoot/scripts" -Filter *.ps1 | Select-Object -ExpandProperty Name
10+
} else {
11+
$scriptNamesArray = $ScriptNames.Split(',')
12+
}
13+
14+
foreach ($scriptName in $scriptNamesArray) {
15+
$scriptPath = "$basePath/scripts/$scriptName.ps1"
16+
if (Test-Path $scriptPath) {
17+
Write-Host "Executing script $scriptName"
18+
& $scriptPath
19+
} else {
20+
Write-Warning "Script $scriptName not found in the script folder"
21+
}
22+
}
23+
24+
exit 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Docker Desktop..."
2+
winget install --id=Docker.DockerDesktop -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Docker Desktop... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing DotNet Framework 6 SDK..."
2+
choco install dotnet-6.0-sdk -y
3+
Write-Host "Installing DotNet Framework 6 SDK... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing DotNet Framework 7 SDK..."
2+
choco install dotnet-sdk -y
3+
Write-Host "Installing DotNet Framework 7 SDK... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Flutter..."
2+
choco install flutter -y
3+
Write-Host "Installing Flutter... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Git..."
2+
choco install git -y
3+
Write-Host "Installing Git... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Golang..."
2+
choco install golang -y
3+
Write-Host "Installing Golang... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Write-Host "Installing Redhat Podman..."
2+
choco install podman-cli -y
3+
choco install podman-machine -y
4+
choco install podman-desktop
5+
Write-Host "Installing Redhat Podman... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Visual C++ Redistributable 2022..."
2+
choco install vcredist-all -y
3+
Write-Host "Installing Visual C++ Redistributable 2022... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Visual Studio Code..."
2+
choco install vscode -y
3+
Write-Host "Installing Visual Studio Code... Done!"
+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
param(
2+
[Parameter(Mandatory=$true)]
3+
[string]$ScriptNames
4+
)
5+
6+
if ($ScriptNames -eq "*") {
7+
$scriptNamesArray = Get-ChildItem -Path "$PSScriptRoot/scripts" -Filter *.ps1 | Select-Object -ExpandProperty Name
8+
} else {
9+
$scriptNamesArray = $ScriptNames.Split(',')
10+
}
11+
12+
foreach ($scriptName in $scriptNamesArray) {
13+
$scriptPath = Join-Path -Path $PSScriptRoot -ChildPath "/scripts/$scriptName"
14+
if (Test-Path $scriptPath) {
15+
Write-Host "Executing script $scriptName"
16+
& $scriptPath
17+
} else {
18+
Write-Warning "Script $scriptName not found in the script folder"
19+
}
20+
}
21+
22+
exit 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Docker Desktop..."
2+
winget install --id=Docker.DockerDesktop -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Docker Desktop... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing DotNet Framework 6 SDK..."
2+
winget install --id=Microsoft.DotNet.SDK.6 -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing DotNet Framework 6 SDK... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing DotNet Framework 7 SDK..."
2+
winget install --id=Microsoft.DotNet.SDK.7 -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing DotNet Framework 7 SDK... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Write-Host "Installing Flutter 3.10.5..."
2+
Invoke-WebRequest -Uri "https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.10.5-stable.zip" -OutFile "$env:TEMP\flutter.zip"
3+
4+
# Extract the Flutter SDK to the Program Files directory
5+
Expand-Archive -Path "$env:TEMP\flutter.zip" -DestinationPath "$env:ProgramFiles\Flutter"
6+
7+
# Add the Flutter SDK to the system PATH
8+
$flutterPath = "$env:ProgramFiles\Flutter\bin"
9+
$existingPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
10+
if ($existingPath -notlike "*$flutterPath*") {
11+
[Environment]::SetEnvironmentVariable("Path", "$existingPath;$flutterPath", "Machine")
12+
}
13+
14+
Write-Host "Installing VSCode..."
15+
$scriptPath = Join-Path -Path $PSScriptRoot -ChildPath "/scripts/vscode.ps1"
16+
Write-Host "Installing VSCode... Done!"
17+
18+
# Verify the installation
19+
flutter doctor
20+
Write-Host "Installing Flutter 3.10.5... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Git..."
2+
winget install --id=Git.Git -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Git... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Golang 7 SDK..."
2+
winget install --id=GoLang.Go -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Golang... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Redhat Podman..."
2+
winget install --id=RedHat.Podman -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Redhat Podman... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Visual C++ Redistributable 2022..."
2+
winget install --id=Microsoft.VCRedist.2022.arm64 -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Visual C++ Redistributable 2022... Done!"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Write-Host "Installing Visual Studio Code..."
2+
winget install --id=Microsoft.VisualStudioCode -e --silent --accept-package-agreements --accept-source-agreements
3+
Write-Host "Installing Visual Studio Code... Done!"

0 commit comments

Comments
 (0)