-
Notifications
You must be signed in to change notification settings - Fork 0
/
winget.yaml
233 lines (233 loc) · 6.85 KB
/
winget.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
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
resources:
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: powershell
directives:
description: Install powershell
allowPrerelease: true
settings:
id: Microsoft.PowerShell
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: git
directives:
description: Install Git
allowPrerelease: true
settings:
id: Git.Git
source: winget
- resource: GitDsc/GitClone
id: dotfiles
directives:
description: Clone dotfiles
allowPrerelease: true
settings:
HttpsUrl: https://github.com/Kcola/dotfiles.git
RootDirectory: '${WingetConfigRoot}'
- resource: PSDscResources/Script
id: powershell-init
directives:
description: init powershell profile
allowPrerelease: false
dependsOn:
- git
- dotfiles
settings:
GetScript: |
return $(Get-Content $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1)
TestScript:
return $(Test-Path $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1)
SetScript: |
$PowershellProfileDirectory = "$HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
if (-not (Test-Path $PowershellProfileDirectory)) {
New-Item -ItemType File -Path $PowershellProfileDirectory -Force
}
"`$PROFILE = '$HOME\dotfiles\.config\powershell\profile.ps1'
. `$PROFILE" | Out-File -FilePath "$HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1" -Encoding UTF8
- resource: PSDscResources/Script
id: nvim-init
directives:
description: init neovim config
allowPrerelease: false
dependsOn:
- git
- dotfiles
settings:
GetScript: |
return $(ls $Home/AppData/Local/nvim)
TestScript:
return $(Test-Path $Home/AppData/Local/nvim)
SetScript: |
cd ./dotfiles
git submodule init
git submodule update
New-Item -ItemType SymbolicLink -Path "$Home/AppData/Local/nvim" -Target "$Home/dotfiles/.config/nvim"
New-Item -ItemType SymbolicLink -Path "$Home/AppData/Local/diffview" -Target "$Home/dotfiles/.config/diffview"
- resource: PSDscResources/Script
id: wezterm-config
directives:
description: set wezterm config
allowPrerelease: false
settings:
GetScript: |
return $false
TestScript:
return $false
SetScript: |
[Environment]::SetEnvironmentVariable("WEZTERM_CONFIG_FILE", "$Home\dotfiles\.config\wezterm\wezterm.lua", "Machine")
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: wezterm
directives:
description: Install wezterm
allowPrerelease: true
settings:
id: wez.wezterm
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: neovim
directives:
description: Install neovim
allowPrerelease: true
settings:
id: Neovim.Neovim
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: fnm
directives:
description: Install fnm
allowPrerelease: true
settings:
id: Schniz.fnm
source: winget
- resource: PSDscResources/Script
id: node-init
directives:
description: init fnm config
allowPrerelease: false
dependsOn:
- nvm
settings:
GetScript: |
return $false
TestScript:
return $false
SetScript: |
fnm env --use-on-cd | Out-String | Invoke-Expression
fnm install 18
fnm use 18
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: bat
directives:
description: Install bat
allowPrerelease: true
settings:
id: sharkdp.bat
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: fd
directives:
description: Install fd
allowPrerelease: true
settings:
id: sharkdp.fd
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: rust
directives:
description: Install Rust
allowPrerelease: true
settings:
id: Rustlang.Rust.MSVC
source: winget
- resource: PSDscResources/Environment
directives:
description: Add Cargo to path
dependsOn:
- rust
settings:
Name: Path
Path: true
Value: |
%UserProfile%\.cargo\bin
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: jq
directives:
description: Install jq
allowPrerelease: true
settings:
id: jqlang.jq
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: rg
directives:
description: Install rg
allowPrerelease: true
settings:
id: BurntSushi.ripgrep.MSVC
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: starship
directives:
description: Install starship
allowPrerelease: true
settings:
id: Starship.Starship
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: zoxide
directives:
description: Install zoxide
allowPrerelease: true
settings:
id: ajeetdsouza.zoxide
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: toolbox
directives:
description: Install Jetbrains Toolbox
allowPrerelease: true
settings:
id: JetBrains.Toolbox
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vscode
directives:
description: Install vscode
allowPrerelease: true
settings:
id: Microsoft.VisualStudioCode
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: dotnet8
directives:
description: Install dotnet 8
allowPrerelease: true
settings:
id: Microsoft.DotNet.SDK.8
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: dotnet6
directives:
description: Install dotnet 6
allowPrerelease: true
settings:
id: Microsoft.DotNet.SDK.6
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: tokei
directives:
description: Install Tokei
allowPrerelease: true
settings:
id: XAMPPRocky.tokei
source: winget
configurationVersion: 0.2.0