WinGet Configuration use case from a software developer and Windows enthusiast #3408
Replies: 2 comments 1 reply
-
This is what I ended up with:
|
Beta Was this translation helpful? Give feedback.
-
@totkeks it's been a while since you posted the discussion. I'm hoping you were able to get closer to what you wanted. We're doing a lot of work right now with DSC v3, and I think several of the challenges you were having have gotten some traction. We published Microsoft.Windows.Settings as a v2 in the PowerShell gallery as a resource (source code over at https://github.com/microsoft/winget-dsc). It only contains a few settings today, but we'll be adding more. One of the huge challenges is the need for those registry keys to be documented. We're also looking at a native DSC v3 implementation for Windows Settings which solves a lot of additional pain, but there is no ETA. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I'd like to share my envisaged personal use case and related thoughts as an input for the program management and as grounds for discussion with other users.
Background
As some borders for the discussion: I'm a software developer, both professionally and in my private life. I like to have the same setup on my desktop, my laptop and my work laptop, the latter usually having some restrictions via group policies.
I'm not a sysadmin, so I don't need to setup many machines at once or often, neither do I have the experience. Though I occasionally reinstall my Windows 11 due to being an Insider and/or having hardware problems.
Preamble
I started extending my dotfiles repo with PowerShell scripts (WIP gist) and an OOBE answers file to automate the setup process about half a year ago. Therefore, I was very happy to see the announcement of WinGet Configurations at Build 2023.
Use case details
Based on my requirements, there are already many DSC modules available to deal with them:
PSDesiredStateConfiguration/Registry
DSCR_PowerPlan/cPowerPlanSettings
ComputerManagementDsc/VirtualMemory
$PATH
Then there are also many items in my setup that require manual interaction with Windows, mostly the old control panel and the new Settings app, were I couldn't find any PowerShell modules or even registry keys to access those settings:
Then it would also be helpful to ascertain certain states based on parameters. I already saw in the configuration schema, that were an, yet undocumented, parameters property. I don't know what the plans for this are, but I would for example like to install apps based on the hardware in the system, used as a parameter:
For example, if I have a Nvidia GPU I want to install the Geforce Experience, with an AMD GPU I want to install the Radeon tooling. Or with a Kingston SSD, I want their disk health tool. Or with a Surface device, I want the surface app.
So, in the
parameters
section I would check for those, similar to an assertion, and then in theresources
section I can use those parameters as dependencies, if that resource is considered or not.And lastly the ability to set/restore configurations for apps I'm using, which would be pretty cool as not many applications provide settings sync, like VS Code or Vivaldi browser.
This requirement of mine seems to have an overlap with the newly introduced Windows 11 backup and restore app/features. Maybe there is a way to reuse this app or access it via an API, to bring configurations and app settings together.
Thanks for reading! What do you think about this? How does your configuration use case look like? Have you already played around with the configuration files?
Beta Was this translation helpful? Give feedback.
All reactions