Skip to content

Instantly share code, notes, and snippets.

@rjygraham
Last active March 20, 2024 15:40
Show Gist options
  • Save rjygraham/322e546ef1fb9483d12562619193af96 to your computer and use it in GitHub Desktop.
Save rjygraham/322e546ef1fb9483d12562619193af96 to your computer and use it in GitHub Desktop.
Dev Home Machine Config
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
configurationVersion: 0.2.0
assertions:
- resource: Microsoft.Windows.Developer/OsVersion
directives:
description: Verify min OS version requirement
allowPrerelease: true
settings:
MinVersion: '10.0.22000'
resources:
# Windows Features
- resource: Microsoft.Windows.Developer/DeveloperMode
directives:
description: Enable Developer Mode
allowPrerelease: true
settings:
Ensure: Present
# Utilities
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: PowerToys
directives:
description: Install Microsoft PowerToys
allowPrerelease: true
settings:
id: Microsoft.PowerToys
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: 7Zip
directives:
description: Install 7-Zip
allowPrerelease: false
settings:
id: "7zip.7zip"
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: SysInternals
directives:
description: Install Sys Internals
allowPrerelease: false
settings:
id: "9P7KNL5RWT25"
source: msstore
# Command Line
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: PowerShell
directives:
description: Install PowerShell
allowPrerelease: false
settings:
id: Microsoft.PowerShell
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: OhMyPosh
directives:
description: Install Oh My Posh
allowPrerelease: false
settings:
id: JanDeDobbeleer.OhMyPosh
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: WSL
directives:
description: Install Windows Subsystem for Linux
allowPrerelease: false
settings:
id: "9P9TQF7MRM4R"
source: msstore
- resource: Microsoft.WinGet.DSC/WinGetPackage
dependsOn:
- WSL
id: UbuntuWSL2
directives:
description: Install Ubuntu WSL2
allowPrerelease: false
settings:
id: Canonical.Ubuntu.2204
source: winget
# Azure Tools
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AzCLI
directives:
description: Install Azure CLI
allowPrerelease: false
settings:
id: Microsoft.AzureCLI
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AZD
directives:
description: Install Azure Developer CLI
allowPrerelease: true
settings:
id: Microsoft.Azd
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AzStorageExplorer
directives:
description: Install Azure Storage Explorer
allowPrerelease: false
settings:
id: Microsoft.Azure.StorageExplorer
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AzFuncCoreTools
directives:
description: Install Azure Functions Core Tools
allowPrerelease: false
settings:
id: Microsoft.Azure.FunctionsCoreTools
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AzCosmosEmulator
directives:
description: Install Azure Cosmos Emulator
allowPrerelease: false
settings:
id: Microsoft.Azure.CosmosEmulator
source: winget
# Developer Tools
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Git
directives:
description: Install Git
allowPrerelease: true
settings:
id: Git.Git
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: GitHubCli
directives:
description: Install GitHub Cli
allowPrerelease: true
settings:
id: GitHub.cli
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: GitHubDesktop
directives:
description: Install GitHub Cli
allowPrerelease: true
settings:
id: GitHub.GitHubDesktop
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: VSCode
directives:
description: Install Visual Studio Code
allowPrerelease: false
settings:
id: "XP9KHM4BK9FZ7Q"
source: msstore
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: VisualStudio
directives:
description: Install Visual Studio 2022 Community
allowPrerelease: true
settings:
id: Microsoft.VisualStudio.2022.Community.Preview
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- VisualStudio
directives:
description: Install required VS workloads from vsconfig file
allowPrerelease: true
settings:
productId: Microsoft.VisualStudio.Product.Community
channelId: VisualStudio.17.Release
vsConfigFile: '${WinGetConfigRoot}\.vsconfig'
includeRecommended: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: DevTunnel
directives:
description: Install GitHub Cli
allowPrerelease: true
settings:
id: Microsoft.devtunnel
source: winget
# Containers/Kubernetes
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: DockerDesktop
directives:
description: Install Docker Desktop
allowPrerelease: false
settings:
id: Docker.DockerDesktop
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Kubectl
directives:
description: Install kubectl
allowPrerelease: false
settings:
id: Kubernetes.kubectl
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Helm
directives:
description: Install Helm
allowPrerelease: false
settings:
id: Helm.Helm
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Minikube
directives:
description: Install Minikube
allowPrerelease: false
settings:
id: Kubernetes.minikube
source: winget
# 3d Printing
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Cura
directives:
description: Install Cura
allowPrerelease: false
settings:
id: Ultimaker.Cura
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Blender
directives:
description: Install Blender
allowPrerelease: false
settings:
id: BlenderFoundation.Blender.LTS
source: winget
# Image / Video Editors
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Inkscape
directives:
description: Install Inkscape
allowPrerelease: false
settings:
id: Inkscape.Inkscape
source: winget
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment