Declarative Windows configuration management - like NixOS, but for Windows. The goal is to reinstall Windows every 2 months without manual reconfiguration.
Implementation phase. MVP scripts exist (bootstrap.ps1, build-iso.ps1). See TODO.md for remaining tasks.
One command generates a custom Windows ISO. Boot from it, choose the target disk yourself, and post-install setup continues automatically:
- Apps installed via WinGet
- OS tweaks applied via Sophia Script
- Automated Windows setup via autounattend.xml
Before reinstall, you can also run a declarative backup workflow that preserves common folders and extra configured paths.
Windows 11 only (24H2 or later). Windows 10 is not supported.
No. You can also:
- Install Windows normally
- Run the bootstrap script manually
The custom ISO is just for full automation.
winget export -o apps.jsonThen edit the JSON to remove unwanted apps.
If you want some apps to stay optional after reinstall, create optional-apps.json with the same WinGet manifest format. Bootstrap prompts for it after first login and also creates Install Optional Apps.lnk for later use.
The installer tries to clone the original repo remote into %USERPROFILE%\Documents\declarative-windows.
If cloning fails, setup continues from C:\Setup and you can retry later.
Keep personal/system-specific files out of version control:
apps.jsonconfig\backup.json- backup manifests and reports
- machine-specific exports
Use the committed templates for shared defaults.
Only if you follow SECURITY.md guidelines:
- Never commit passwords or product keys in autounattend.xml
- Keep personal apps.json out of version control (it's in .gitignore)
- README.md - Getting started
- CLAUDE.md - Architecture details
- SECURITY.md - Security guidelines