diff --git a/configuration.winget/configurations.md b/configuration.winget/configurations.md new file mode 100644 index 0000000000..57e1eb9864 --- /dev/null +++ b/configuration.winget/configurations.md @@ -0,0 +1,10 @@ +# Available configurations + +### `unigetui-min.winget` +Installs UniGetUI and its dependencies. WinGet and PowerShell 5 will work out of the box, but other package managers will require manual installation. + +### `unigetui-full.winget` +Includes everything from `unigetui-min.winget` and also installs all supported package managers (except for vcpkg and Scoop, which must be installed manually). + +### `develop-unigetui.winget` +Includes everything from `unigetui-full.winget`, installs required development tools, and clones the repository to your user folder. diff --git a/configuration.winget/develop-unigetui.winget b/configuration.winget/develop-unigetui.winget new file mode 100644 index 0000000000..051f50cc31 --- /dev/null +++ b/configuration.winget/develop-unigetui.winget @@ -0,0 +1,100 @@ +$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json + +metadata: + name: UniGetUI Development Environment + description: Sets up the development environment for UniGetUI + author: Martí Climent + +resources: +# Basic dependencies +- name: Install Microsoft Edge WebView2 + type: Microsoft.WinGet/Package + properties: + id: Microsoft.EdgeWebView2Runtime + source: winget + +- name: Install Microsoft Visual C++ 2015-2022 Redistributable + type: Microsoft.WinGet/Package + properties: + id: Microsoft.VCRedist.2015+.x64 + source: winget + +# Package Managers (for testing UniGetUI functionality) +- name: Install Chocolatey + type: Microsoft.WinGet/Package + properties: + id: Chocolatey.Chocolatey + source: winget + +- name: Install Python + type: Microsoft.WinGet/Package + properties: + id: Python.Python.3.13 + source: winget + +- name: Install PowerShell 7 + type: Microsoft.WinGet/Package + properties: + id: Microsoft.PowerShell + source: winget + +- name: Install NodeJS + type: Microsoft.WinGet/Package + properties: + id: OpenJS.NodeJS + source: winget + +- name: Install Rust (Cargo) + type: Microsoft.WinGet/Package + properties: + id: Rustlang.Rustup + source: winget + +# Build and deployment tools +- name: Install Git for version control + type: Microsoft.WinGet/Package + properties: + id: Git.Git + source: winget + +- name: Install Visual Studio 2022 Community + type: Microsoft.WinGet/Package + properties: + id: Microsoft.VisualStudio.2022.Community + source: winget + +- name: Install .NET 8 SDK + type: Microsoft.WinGet/Package + properties: + id: Microsoft.DotNet.SDK.8 + source: winget + +- name: Install Windows App SDK + type: Microsoft.WinGet/Package + properties: + id: Microsoft.WindowsAppRuntime.1.7 + source: winget + +- name: Install Windows SDK + type: Microsoft.WinGet/Package + properties: + id: Microsoft.WindowsSDK.10.0.19041 + source: winget + +- name: Install Inno Setup (for installer creation) + type: Microsoft.WinGet/Package + properties: + id: JRSoftware.InnoSetup + source: winget + +- name: Install 7-Zip (for archive handling) + type: Microsoft.WinGet/Package + properties: + id: 7zip.7zip + source: winget + +- name: Install gsudo (sudo for Windows) + type: Microsoft.WinGet/Package + properties: + id: gerardog.gsudo + source: winget diff --git a/configuration.winget/unigetui-all.winget b/configuration.winget/unigetui-all.winget new file mode 100644 index 0000000000..127129bb7d --- /dev/null +++ b/configuration.winget/unigetui-all.winget @@ -0,0 +1,65 @@ +$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json + +metadata: + name: UniGetUI Complete Environment + description: Installs all dependencies and tools for UniGetUI development and runtime + author: Martí Climent + +resources: +# Basic dependencies +- name: Install Microsoft Edge WebView2 + type: Microsoft.WinGet/Package + properties: + id: Microsoft.EdgeWebView2Runtime + source: winget + +- name: Install Microsoft Visual C++ 2015-2022 Redistributable + type: Microsoft.WinGet/Package + properties: + id: Microsoft.VCRedist.2015+.x64 + source: winget + +- name: Install UniGetUI + type: Microsoft.WinGet/Package + properties: + id: MartiCliment.UniGetUI + source: winget + +# Package Managers (for testing UniGetUI functionality) +- name: Install Chocolatey + type: Microsoft.WinGet/Package + properties: + id: Chocolatey.Chocolatey + source: winget + +- name: Install Python + type: Microsoft.WinGet/Package + properties: + id: Python.Python.3.13 + source: winget + +- name: Install PowerShell 7 + type: Microsoft.WinGet/Package + properties: + id: Microsoft.PowerShell + source: winget + +- name: Install NodeJS + type: Microsoft.WinGet/Package + properties: + id: OpenJS.NodeJS + source: winget + +- name: Install Rust (Cargo) + type: Microsoft.WinGet/Package + properties: + id: Rustlang.Rustup + source: winget + +- name: Install .NET 8 SDK + type: Microsoft.WinGet/Package + properties: + id: Microsoft.DotNet.SDK.8 + source: winget + +# vcpkg bootstrap is optional; run scripts\dev-setup-optional.ps1 if needed. diff --git a/configuration.winget/unigetui-min.winget b/configuration.winget/unigetui-min.winget new file mode 100644 index 0000000000..8c6fca8fa0 --- /dev/null +++ b/configuration.winget/unigetui-min.winget @@ -0,0 +1,26 @@ +$schema: https://raw.githubusercontent.com/PowerShell/DSC/main/schemas/2024/04/config/document.json + +metadata: + name: UniGetUI Minimal Runtime Dependencies + description: Installs the minimal runtime dependencies required for UniGetUI + author: Martí Climent + +resources: +# Basic dependencies +- name: Install Microsoft Edge WebView2 + type: Microsoft.WinGet/Package + properties: + id: Microsoft.EdgeWebView2Runtime + source: winget + +- name: Install Microsoft Visual C++ 2015-2022 Redistributable + type: Microsoft.WinGet/Package + properties: + id: Microsoft.VCRedist.2015+.x64 + source: winget + +- name: Install UniGetUI + type: Microsoft.WinGet/Package + properties: + id: MartiCliment.UniGetUI + source: winget