Declarative workstation setup using WinGet Configuration. Define your apps, settings, and environment in a YAML file — then apply it to any machine.
# Apply the v3 configuration directly from GitHub
winget configure https://raw.githubusercontent.com/denelon/setup/refs/heads/main/v3/denelon.wingetOr clone the repo and run locally:
git clone https://github.com/denelon/setup.git
winget configure .\setup\v3\denelon.winget├── v2/ DSC v2 (schema 0.2) configuration
│ ├── denelon.winget Curated workstation config
│ └── README.md v2 schema notes and usage
├── v3/ DSC v3 (dscv3 processor) configuration
│ ├── denelon.winget Workstation config (curation pending)
│ └── README.md v3 schema notes and usage
├── docs/ Guides and documentation
│ ├── config-as-code.md Lifecycle: Export → Curate → Extend → Test → Maintain
│ └── v2-to-v3-migration.md Converting v2 configs to v3
├── copilot-cli/ Setting up persistent Copilot CLI instructions
└── README.md This file
| Guide | Description |
|---|---|
| Configuration as Code | The full lifecycle of managing your workstation as a declarative config |
| v2 to v3 Migration | Converting existing DSC v2 configs to the dscv3 processor format |
| Copilot CLI Setup | Persistent Copilot CLI instructions that sync across machines |
The configurations in this repo set up a development workstation with:
- Dev Drive — 100 GB ReFS volume for source code
- Developer tools — Git, PowerShell 7, VS Code, GitHub Desktop, Azure CLI
- Utilities — PowerToys, Oh My Posh, WinGet Create
- Windows settings — Developer mode, color scheme, taskbar alignment
- App settings — WinGet settings, WinGet Create settings
This repo maintains configurations in both DSC v2 and v3 formats:
| Version | Directory | Status |
|---|---|---|
| DSC v2 | v2/ |
Stable — uses configurationVersion: 0.2 |
| DSC v3 | v3/ |
Current — uses dscv3 processor |
New configurations should use v3. To convert an existing v2 config, see the migration guide or use the winget-config-v2-to-v3 Copilot CLI skill.
- Windows 11 (works on new installs or existing builds with Dev Drive support)
- C:\ can be shrunk by 100 GB to create a Dev Drive
- D:\ will be the Dev Drive
Upstream issues that would improve WinGet Configuration workflows. These are tracked here as a wishlist — when resolved, they unlock better configurations in this repo.
| Issue | Area | Description |
|---|---|---|
| PowerShell/DSC#1521 | Assertions | Microsoft/OSInfo: Support minimum version assertion (>= comparison) — enables fast native OS version pre-flight in v3 configs |
- WinGet Configuration docs
- microsoft/winget-dsc — DSC resources, v3 samples, and conversion guide
- microsoft/winget-cli — WinGet client