Skip to content

naireet/ConfigVault

Repository files navigation

ConfigVault

A Windows system-tray app that backs up your app configs, profiles, and registry settings to OneDrive — so a fresh Windows install takes minutes, not hours.

Built with C# / WPF / .NET 9. Personal-use project.


Screenshots

Dashboard

Dashboard

Apps

Apps

Restore

Restore


What it does

  • Backs up config files, profiles, and registry keys for tracked apps to OneDrive (SHA-256 diff — only copies changed files)
  • Restores them on a new machine with a single click, with optional winget install before restore
  • Tracks backup status per app — shows last backup time, file count, backup size
  • Dark UI with system tray icon, per-machine manifest, and scheduled auto-backup support

Tracked apps (built-in)

App What's backed up
TranslucentTB RoamingState\settings.json (MSIX glob)
SoundSwitch %APPDATA%\SoundSwitch
EqualizerAPO + Peace config\*.txt,*.csv,*.peace,*.apo,*.eq
PowerToys %LOCALAPPDATA%\Microsoft\PowerToys\**\*.json
MSI Afterburner Profiles\
RivaTuner Statistics Server Profiles\ (no extension)
FanControl Configurations\
HASS.Agent Client\config\*.json
HWiNFO64 Registry: HKCU\Software\HWiNFO64
Tailscale %LOCALAPPDATA%\Tailscale
VibePollo (Sunshine) config\
Custom Scripts C:\Scripts

You can also add custom folders via the Apps tab.


Features

  • Per-app Backup Now and Backup All Now (dashboard)
  • Restore tab — shows backup age, file count, and restore readiness per machine; one-click restore or install-and-restore via winget
  • App detection — finds installs via exe path, registry key, MSIX package glob, or config-folder presence; falls back to user-supplied "Locate" path
  • Custom icon picker — override the auto-detected icon for any app
  • Open folder shortcuts — open config or backup folder from each app card
  • Manifest — JSON file stored per machine in OneDrive; tracks every backed-up file with SHA-256, size, and timestamp
  • Notifications — optional toast when backup completes with changes
  • Tweaks tab — quality-of-life Windows tweaks (separate from backup)
  • System tray — runs in background; left-click opens window, right-click for quick actions

Architecture

ConfigVault/
├── Models/          AppProfile, BackupManifest, ManifestEntry, AppSettings
├── Services/
│   ├── AppProfileRegistry.cs     All built-in app profiles
│   ├── BackupService.cs          File copy (SHA diff) + registry export
│   ├── RestoreService.cs         File restore + registry import
│   ├── InstallDetectionService.cs Exe / registry / MSIX / glob detection
│   ├── PathResolver.cs           Token expansion + glob segment walking
│   ├── WingetService.cs          winget install wrapper
│   └── SchedulerService.cs       Task Scheduler integration
├── ViewModels/      MVVM: MainViewModel, AppStatusViewModel, RestoreViewModel, ...
├── Views/           WPF XAML: MainWindow, DashboardView, AppsView, RestoreView, ...
└── App.xaml         Global dark theme styles

Build

Requires .NET 9 SDK.

dotnet build
dotnet run

Tests (sandboxed, no OneDrive writes):

cd ConfigVault.Tests
dotnet run

Settings

Stored at %APPDATA%\ConfigVault\settings.json:

  • OneDrivePath — root backup destination
  • MachineName — folder name used to separate per-machine backups
  • CustomFolderProfiles — user-added custom folder backups
  • CustomInstallPaths — user-supplied exe paths for "Locate..." overrides
  • CustomIconPaths — user-supplied icons for app cards
  • NotificationsEnabled / NotificationIntervalDays

About

WPF .NET 9 app that backs up Windows app configs to OneDrive — so a fresh install takes minutes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors