diff --git a/data/apps.csv b/data/apps.csv index 0d993ca..d3f9059 100644 --- a/data/apps.csv +++ b/data/apps.csv @@ -1,17 +1,17 @@ -App,From,To,Type,Enabled -AIMP,$storage\$AppName,$env:APPDATA\$AppName,default,1 -gramps,$storage\$AppName,$env:APPDATA\$AppName,default,1 -KeePassXC,$storage\$AppName,$env:APPDATA\$AppName,default,1 -ludusavi,$storage\$AppName,$env:APPDATA\$AppName,default,1 -Playnite,$storage\$AppName,$env:APPDATA\$AppName,default,1 -Powertoys,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\Microsoft\PowerToys,default,1 -Sublime Text,$storage\$AppName\Config,$env:APPDATA\$AppName,default,1 -SumatraPDF,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,1 -Syncthing,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\$AppName,default,1 -v2rayN,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,1 -VSCodium,$storage\$AppName,$env:APPDATA\$AppName,default,1 -EqualizerAPO,$storage\$AppName,$env:ProgramFiles\$AppName,isolate,1 -deemix,$storage\$AppName,$env:APPDATA\$AppName,default,1 -Stretchly,$storage\$AppName\config.json,$env:APPDATA\$AppName\config.json,default,1 -SyncTrayzor,$storage\$AppName\$env:COMPUTERNAME,$env:APPDATA\$AppName,default,1 -qBittorrent,$storage\$AppName,$env:APPDATA\$AppName,default,1 +App,From,To,Type,Enabled +AIMP,$storage\$AppName,$env:APPDATA\$AppName,default,0 +gramps,$storage\$AppName,$env:APPDATA\$AppName,default,0 +KeePassXC,$storage\$AppName,$env:APPDATA\$AppName,default,0 +ludusavi,$storage\$AppName,$env:APPDATA\$AppName,default,0 +Playnite,$storage\$AppName,$env:APPDATA\$AppName,default,1 +Powertoys,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\Microsoft\PowerToys,default,0 +Sublime Text,$storage\$AppName\Config,$env:APPDATA\$AppName,default,0 +SumatraPDF,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,0 +Syncthing,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\$AppName,default,0 +v2rayN,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,1 +VSCodium,$storage\$AppName,$env:APPDATA\$AppName,default,0 +EqualizerAPO,$storage\$AppName,$env:ProgramFiles\$AppName,isolate,1 +deemix,$storage\$AppName,$env:APPDATA\$AppName,default,0 +Stretchly,$storage\$AppName\config.json,$env:APPDATA\$AppName\config.json,default,0 +SyncTrayzor,$storage\$AppName\$env:COMPUTERNAME,$env:APPDATA\$AppName,default,1 +qBittorrent,$storage\$AppName,$env:APPDATA\$AppName,default,0 diff --git a/data/mounts.csv b/data/mounts.csv index 8c48e92..d41b829 100644 --- a/data/mounts.csv +++ b/data/mounts.csv @@ -1,8 +1,8 @@ -Enabled,Name,From,To -1,SSH,$storage\ssh,$env:USERPROFILE\.ssh -1,bash_rc,$storage\User Folder\.bashrc,$env:USERPROFILE\.bashrc -1,bash_inputrc,$storage\User Folder\.inputrc,$env:USERPROFILE\.inputrc -1,bash_gitconfig,$storage\User Folder\.gitconfig,$env:USERPROFILE\.gitconfig -1,wslconfig,$storage\User Folder\.wslconfig,$env:USERPROFILE\.wslconfig -1,deploy-folder,$root,$env:USERPROFILE\Winos -1,continue,$storage\User Folder\.continue,$env:USERPROFILE\.continue +Enabled,Name,From,To +0,SSH,$storage\ssh,$env:USERPROFILE\.ssh +0,bash_rc,$storage\User Folder\.bashrc,$env:USERPROFILE\.bashrc +0,bash_inputrc,$storage\User Folder\.inputrc,$env:USERPROFILE\.inputrc +0,bash_gitconfig,$storage\User Folder\.gitconfig,$env:USERPROFILE\.gitconfig +0,wslconfig,$storage\User Folder\.wslconfig,$env:USERPROFILE\.wslconfig +1,deploy-folder,$root,$env:USERPROFILE\Winos +0,continue,$storage\User Folder\.continue,$env:USERPROFILE\.continue diff --git a/src/modules/deploy.ps1 b/src/modules/deploy.ps1 index 55552ad..1f8e4a5 100644 --- a/src/modules/deploy.ps1 +++ b/src/modules/deploy.ps1 @@ -1,37 +1,35 @@ -param( - [ValidateSet('apply','clean')] - [string]$Action = 'apply' -) - -Write-Host "Deployment Manager started with action: $Action" -ForegroundColor Yellow - -# Define modules with their respective actions -$Modules = @( - @{ Name = 'autostartManagerModule'; Apply = 'update'; Clean = 'remove' }, - @{ Name = 'appsDataManagerModule'; Apply = 'reconnect'; Clean = 'disconnect' }, - @{ Name = 'mountsManagerModule'; Apply = 'reconnect'; Clean = 'disconnect' } - @{ Name = 'wingetInstallerModule'; Apply = 'install'; Clean = 'check' } - @{ Name = 'packageManagerModule'; Apply = 'install'; Clean = 'uninstall' } - @{ Name = 'windowsCursorModule'; Apply = 'install'; Clean = 'uninstall' } -) - -foreach ($module in $Modules) { - $currentAction = if ($Action -eq 'apply') { $module.Apply } else { $module.Clean } - Write-Host "`n=== $($module.Name) : $currentAction" -ForegroundColor White - try { - # Resolve the script path stored in a variable with the same name - $scriptPath = (Get-Variable -Name $module.Name -ErrorAction Stop).Value - - if (Test-Path -LiteralPath $scriptPath) { - & $scriptPath $currentAction - } - else { - Write-Warning "Module script not found: $scriptPath" -ForegroundColor DarkYellow - } - } - catch { - Write-Warning "Could not resolve path for module '$($module.Name)': $_" -ForegroundColor DarkYellow - } -} - +param( + [ValidateSet('apply','clean')] + [string]$Action = 'apply' +) + +Write-Host "Deployment Manager started with action: $Action" -ForegroundColor Yellow + +# Define modules with their respective actions +$Modules = @( + @{ Name = 'autostartManagerModule'; Apply = 'update'; Clean = 'remove' } + @{ Name = 'wingetInstallerModule'; Apply = 'install'; Clean = 'check' } + @{ Name = 'packageManagerModule'; Apply = 'install'; Clean = 'uninstall' } + @{ Name = 'windowsCursorModule'; Apply = 'install'; Clean = 'uninstall' } +) + +foreach ($module in $Modules) { + $currentAction = if ($Action -eq 'apply') { $module.Apply } else { $module.Clean } + Write-Host "`n=== $($module.Name) : $currentAction" -ForegroundColor White + try { + # Resolve the script path stored in a variable with the same name + $scriptPath = (Get-Variable -Name $module.Name -ErrorAction Stop).Value + + if (Test-Path -LiteralPath $scriptPath) { + & $scriptPath $currentAction + } + else { + Write-Warning "Module script not found: $scriptPath" -ForegroundColor DarkYellow + } + } + catch { + Write-Warning "Could not resolve path for module '$($module.Name)': $_" -ForegroundColor DarkYellow + } +} + Write-Host "`nDeployment finished." -ForegroundColor Green \ No newline at end of file