Skip to content

Installation

gsjonio edited this page Jul 15, 2026 · 3 revisions

Installation

Prerequisites

  • PowerShell 7.0+download
  • Windows 10/11 with administrator access
  • winget (built-in on Windows 11; install "App Installer" from the Microsoft Store on Windows 10)

Quick start

Clone and run with administrator privileges:

git clone https://github.com/gsjonio/winforge.git
cd winforge
sudo .\setup.ps1

If sudo is not available, use the fallback launcher:

powershell -NoProfile -ExecutionPolicy Bypass -File ".\setup.ps1"

Run a specific group

sudo .\setup.ps1 -Group base       # install the 5 essential programs
sudo .\setup.ps1 -Group optimize   # apply the system optimizations
sudo .\setup.ps1 -Group shell      # Oh My Posh + Fira Code

Valid groups: base, dev, gaming, system, optimize, customize, shell. Omit -Group to run them all. See Groups Reference.

Command reference

setup.ps1 parameters:

Parameter Values Default Purpose
-Group base, dev, gaming, system, optimize, customize, shell, restore all except restore Run one group; omit to run all (never restore).
-Profile safe, desktop, gaming safe How aggressive optimize is (cumulative).
-SkipElevation switch off Skip the admin check (testing only).
-WhatIf switch off Preview actions on any group (installs and config) without applying them.

How installation works

For each program, winforge tries methods in order and stops at the first success:

  1. Winget (primary)
  2. Chocolatey (installed automatically if needed)
  3. Custom installer URL (last resort)

Detection is idempotent — already-installed programs are detected (via executable, package manager, winget, or registry) and skipped, so re-running setup.ps1 is safe.

Verify before installing

Check what is already present without installing anything:

.\tools\validate.ps1              # all groups
.\tools\validate.ps1 -Group dev -ShowDetails

See Troubleshooting if you hit UAC, execution policy, or winget errors.

Clone this wiki locally