forked from mgechev/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfiguration.dsc.yaml
339 lines (338 loc) · 10.9 KB
/
configuration.dsc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
# Install all - winget configure -f <C:/Users/<username>/configuration.dsc.yaml>
# Upgrade all - winget upgrade --all --include-unknown --silent --accept-package-agreements --accept-source-agreements
# winget docs - https://learn.microsoft.com/en-us/windows/package-manager/winget/
# winget packages manifests source - https://github.com/microsoft/winget-pkgs/tree/master/manifests
# For WinGet you can search the GitHub repository for the manifest (yaml) file for the application you want to install and extract the PackageIdentifier.
# For applications in the Microsoft Store you can search for the application you want and extract the Id from the url
# Dev Drive - https://learn.microsoft.com/en-us/windows/dev-drive/
# Trusted Dev Drive - https://learn.microsoft.com/en-us/windows/dev-drive/#how-do-i-designate-a-dev-drive-as-trusted
# Setup Dev Drive Package Cache - https://learn.microsoft.com/en-us/windows/dev-drive/#storing-package-cache-on-dev-drive
# Change the NPM Cache location - https://bobbyhadz.com/blog/npm-change-cache-location
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
resources:
configurationVersion: 0.2.0
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: WslStore
directives:
description: WSL
allowPrerelease: true
settings:
id: "9P9TQF7MRM4R"
source: msstore
# wsl install still needs to be run to set Ubuntu as active distribution
- resource: Microsoft.WinGet.DSC/WinGetPackage
dependsOn:
- WslStore
directives:
description: Ubuntu 22.04 LTS
allowPrerelease: true
settings:
id: Canonical.Ubuntu.2204
source: winget
- resource: Microsoft.Windows.Developer/DeveloperMode
directives:
description: Enable Developer Mode
allowPrerelease: true
securityContext: elevated
settings:
Ensure: Present
- resource: Microsoft.WinGet.DSC/WinGetPackage
directives:
description: Install Git
allowPrerelease: true
settings:
id: Git.Git
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: VSCode
directives:
description: Install Visual Studio Code
allowPrerelease: true
settings:
id: Microsoft.VisualStudioCode
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: VSCodeInsiders
directives:
description: Install Visual Studio Code Insiders
allowPrerelease: true
settings:
id: Microsoft.VisualStudioCode.Insiders
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: npm
directives:
description: Install NodeJS version >=18.15.x and <21
allowPrerelease: true
settings:
id: OpenJS.NodeJS.LTS
version: "20.10.0"
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
directives:
description: Install Python 3.12
allowPrerelease: true
settings:
id: Python.Python.3.12
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2022 (any edition is OK)
allowPrerelease: true
settings:
# id: Microsoft.VisualStudio.2022.Community
id: Microsoft.VisualStudio.2022.BuildTools
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads
allowPrerelease: true
settings:
# productId: Microsoft.VisualStudio.Product.Community
# channelId: VisualStudio.17.Release
# .vsconfig in root and configuration.dsc.yaml in .configuration folder of root
# vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
productId: Microsoft.VisualStudio.Product.BuildTools
channelId: VisualStudio.17.Release
includeRecommended: true
components:
# additional components reference here: https://learn.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community?view=vs-2022
- Microsoft.VisualStudio.Workload.VCTools
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: PowershellCore
directives:
description: Install Powershell Core
allowPrerelease: true
settings:
id: Microsoft.PowerShell
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Gpg
directives:
description: Install Gpg
allowPrerelease: true
settings:
id: GnuPG.Gpg4win
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: GnuPG
directives:
description: Install Gnu Privacy Guard
allowPrerelease: true
settings:
id: GnuPG.GnuPG
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: OhMyPosh
directives:
description: Install OhMyPosh
allowPrerelease: true
settings:
id: JanDeDobbeleer.OhMyPosh
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: fnm
directives:
description: Install fnm
allowPrerelease: true
settings:
id: Schniz.fnm
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Greenshot
directives:
description: Install Greenshot
allowPrerelease: true
settings:
id: Greenshot.Greenshot
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Powertoys
directives:
description: Install Powertoys
allowPrerelease: true
settings:
id: Microsoft.PowerToys
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: WindowsTerminal
directives:
description: Install Windows Terminal Preview
allowPrerelease: true
settings:
id: Microsoft.WindowsTerminal.Preview
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: 7Zip
directives:
description: Install 7Zip
allowPrerelease: true
settings:
id: 7zip.7zip
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: DockerDesktop
directives:
description: Install Docker Desktop
allowPrerelease: true
settings:
id: Docker.DockerDesktop
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: NotepadPlusPlus
directives:
description: Install Notepad++
allowPrerelease: true
settings:
id: Notepad++.Notepad++
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: GoogleChrome
directives:
description: Install Google Chrome
allowPrerelease: true
settings:
id: Google.Chrome.Dev
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: FirefoxDeveloperEdition
directives:
description: Install Firefox Developer Edition
allowPrerelease: true
settings:
id: Mozilla.Firefox.DeveloperEdition
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: DevHome
directives:
description: Install DevHome
allowPrerelease: true
settings:
id: Microsoft.DevHome
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: DevHomeGithubExtension
directives:
description: Install Github Extension for DevHome
allowPrerelease: true
settings:
id: Microsoft.Windows.DevHomeGitHubExtension
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Postman
directives:
description: Install Postman
allowPrerelease: true
settings:
id: Postman.Postman
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Ag
directives:
description: Install Silver Searcher
allowPrerelease: true
settings:
id: JFLarvoire.Ag
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: RemoteNG
directives:
description: Install mRemoteNG
allowPrerelease: true
settings:
id: mRemoteNG.mRemoteNG
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Files Preview
directives:
description: Install Files Preview
allowPrerelease: true
settings:
id: FilesPreview_wvne1zexy08sa
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: ImageGlass
directives:
description: Install ImageGlass
allowPrerelease: true
settings:
id: DuongDieuPhap.ImageGlass
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AdobeAcrobatReader
directives:
description: Install Adobe Acrobat Reader
allowPrerelease: true
settings:
id: Adobe.Acrobat.Reader.64-bit
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Gsudo
directives:
description: Install gsudo
allowPrerelease: true
settings:
id: gerardog.gsudo
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: BeekeeperStudio
directives:
description: Install Beekeeper Studio
allowPrerelease: true
settings:
id: beekeeper-studio.beekeeper-studio
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: AzureDataStudio
directives:
description: Install Azure Data Studio
allowPrerelease: true
settings:
id: Microsoft.AzureDataStudio.Insiders
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: Carapace
directives:
description: Install Carapace Shell Completion
allowPrerelease: true
settings:
id: rsteube.Carapace
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: micro
directives:
description: Install micro terminal text editor
allowPrerelease: true
settings:
id: zyedidia.micro
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: ripgrep
directives:
description: Install ripgrep
allowPrerelease: true
settings:
id: BurntSushi.ripgrep.MSVC
source: winget
- resource: NpmDsc/NpmInstall
dependsOn:
- npm
directives:
description: Run 'npm install'
allowPrerelease: true
settings:
Ensure: "Present"
PackageDirectory: '${WinGetConfigRoot}\..\' # this is the root of the project
configurationVersion: 0.2.0