Configure software implicitly

This commit is contained in:
Manuel Thalmann 2024-08-23 01:41:32 +02:00
parent 39600c813f
commit 1f20af3bc5
17 changed files with 6 additions and 96 deletions

View file

@ -241,17 +241,18 @@ $null = New-Module {
Write-Host "Installing $Name"; Write-Host "Installing $Name";
& $Installer @argumentList; & $Installer @argumentList;
} }
& $installHandler @argumentList -Action ([InstallerAction]::Configure);
if (-not (Test-SetupUser)) {
& $installHandler @argumentList -Action ([InstallerAction]::ConfigureUser);
}
# ToDo: Automatically configure after installation # ToDo: Automatically configure after installation
} elseif ($Action -eq ([InstallerAction]::Configure)) { } elseif ($Action -eq ([InstallerAction]::Configure)) {
if ($Configurator) { if ($Configurator) {
Write-Host "Configuring $Name"; Write-Host "Configuring $Name";
& $Configurator @argumentList; & $Configurator @argumentList;
} }
if (-not (Test-SetupUser)) {
$argumentList.Add("action", [InstallerAction]::ConfigureUser);
& $installHandler @argumentList;
}
} elseif ($Action -eq ([InstallerAction]::ConfigureUser)) { } elseif ($Action -eq ([InstallerAction]::ConfigureUser)) {
if ((-not $Arguments.ContainsKey($userArgument)) -or (-not $Arguments[$userArgument])) { if ((-not $Arguments.ContainsKey($userArgument)) -or (-not $Arguments[$userArgument])) {
$Arguments.Add($userArgument, ($env:UserName)); $Arguments.Add($userArgument, ($env:UserName));

View file

@ -8,13 +8,6 @@ param (
. "$PSScriptRoot/../../Types/InstallerAction.ps1"; . "$PSScriptRoot/../../Types/InstallerAction.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure);
} `
-Configurator { -Configurator {
Add-PowerShellProfileStatement ` Add-PowerShellProfileStatement `
-System ` -System `

View file

@ -8,13 +8,6 @@ param (
. "$PSScriptRoot/../../Types/InstallerAction.ps1"; . "$PSScriptRoot/../../Types/InstallerAction.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure);
} `
-Configurator { -Configurator {
[string] $globalDir = $null; [string] $globalDir = $null;
$indicator = "# Profile Files"; $indicator = "# Profile Files";

View file

@ -30,7 +30,6 @@ $null = New-Module {
}; };
installer = { installer = {
param( param(
[scriptblock] $Installer,
[hashtable] $Arguments [hashtable] $Arguments
) )
@ -46,7 +45,6 @@ $null = New-Module {
} }
Remove-Item Env:\PENDING_MODULE_NAME; Remove-Item Env:\PENDING_MODULE_NAME;
& $Installer -Action ([InstallerAction]::Configure) @PSBoundParameters;
}; };
configurator = { configurator = {

View file

@ -7,12 +7,5 @@ param (
. "$PSScriptRoot/../../Types/InstallerAction.ps1"; . "$PSScriptRoot/../../Types/InstallerAction.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure);
} `
-Configurator { -Configurator {
}; };

View file

@ -8,12 +8,7 @@ param(
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
Install-ChocoPackage firefox; Install-ChocoPackage firefox;
& $Installer -Action ([InstallerAction]::Configure)
} ` } `
-Configurator { -Configurator {
Write-Host "Making Firefox the default browser…"; Write-Host "Making Firefox the default browser…";

View file

@ -7,12 +7,7 @@ param(
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
Install-ChocoPackage MSEdgeRedirect; Install-ChocoPackage MSEdgeRedirect;
& $Installer -Action ([InstallerAction]::Configure);
} ` } `
-Configurator { -Configurator {
$configPath = "HKLM:\SOFTWARE\Robert Maehl Software\MSEdgeRedirect"; $configPath = "HKLM:\SOFTWARE\Robert Maehl Software\MSEdgeRedirect";

View file

@ -12,17 +12,12 @@ param(
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
$env:NVS_HOME = "$env:ProgramData\nvs"; $env:NVS_HOME = "$env:ProgramData\nvs";
git clone "https://github.com/jasongin/nvs.git" $env:NVS_HOME; git clone "https://github.com/jasongin/nvs.git" $env:NVS_HOME;
& "$env:NVS_HOME\nvs.cmd" install; & "$env:NVS_HOME\nvs.cmd" install;
refreshenv; refreshenv;
Set-UserPermissions $env:NVS_HOME; Set-UserPermissions $env:NVS_HOME;
& $Installer -Action ([InstallerAction]::Configure);
} ` } `
-Configurator { -Configurator {
nvs add latest; nvs add latest;

View file

@ -8,12 +8,7 @@ param (
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
Install-WingetPackage JanDeDobbeleer.OhMyPosh -ArgumentList "--scope","machine"; Install-WingetPackage JanDeDobbeleer.OhMyPosh -ArgumentList "--scope","machine";
& $Installer -Action ([InstallerAction]::Configure);
} ` } `
-Configurator { -Configurator {
. "$PSScriptRoot/../../../Common/Software/Oh My Posh/Manage.ps1" ` . "$PSScriptRoot/../../../Common/Software/Oh My Posh/Manage.ps1" `

View file

@ -8,13 +8,6 @@ param(
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1"; . "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure)
} `
-Configurator { -Configurator {
Set-Service ssh-agent -StartupType AutomaticDelayedStart; Set-Service ssh-agent -StartupType AutomaticDelayedStart;
}; };

View file

@ -7,13 +7,6 @@ param (
. "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1"; . "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure);
} `
-Configurator { -Configurator {
. "$PSScriptRoot/../../../Common/Software/PowerShell/Manage.ps1" ` . "$PSScriptRoot/../../../Common/Software/PowerShell/Manage.ps1" `
-Action ([InstallerAction]::Configure); -Action ([InstallerAction]::Configure);

View file

@ -10,12 +10,7 @@ param(
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
Install-ChocoPackage thunderbird -ArgumentList "--params",'"/NoTaskbarShortcut /NoDesktopShortcut"' Install-ChocoPackage thunderbird -ArgumentList "--params",'"/NoTaskbarShortcut /NoDesktopShortcut"'
& $Installer -Action ([InstallerAction]::Configure)
} ` } `
-Configurator { -Configurator {
Write-Host "Making Thunderbird the default mail program…"; Write-Host "Making Thunderbird the default mail program…";

View file

@ -11,12 +11,7 @@ param(
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
Install-ChocoPackage winscp; Install-ChocoPackage winscp;
& $Installer -Action ([InstallerAction]::Configure)
} ` } `
-Configurator { -Configurator {
Remove-DesktopIcon "WinSCP*"; Remove-DesktopIcon "WinSCP*";

View file

@ -12,13 +12,6 @@ param(
. "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1"; . "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure)
} `
-Configurator { -Configurator {
$dir = New-TemporaryDirectory; $dir = New-TemporaryDirectory;
Push-Location $dir; Push-Location $dir;

View file

@ -9,13 +9,6 @@ param(
. "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1"; . "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1";
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
& $Installer -Action ([InstallerAction]::Configure)
} `
-Configurator { -Configurator {
[string] $backup = $null; [string] $backup = $null;
$nativeProfile = powershell -c '$PROFILE'; $nativeProfile = powershell -c '$PROFILE';

View file

@ -42,10 +42,6 @@ $null = New-Module {
Start-SoftwareInstaller @Parameters ` Start-SoftwareInstaller @Parameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
$params = "/WindowsTerminalProfile"; $params = "/WindowsTerminalProfile";
$defaultBranch = Get-GitOption "defaultBranch"; $defaultBranch = Get-GitOption "defaultBranch";
@ -54,7 +50,6 @@ $null = New-Module {
} }
Install-ChocoPackage git -ArgumentList "--params",$params; Install-ChocoPackage git -ArgumentList "--params",$params;
& $Installer -Action ([InstallerAction]::Configure);
} ` } `
-Configurator { -Configurator {
& "$PSScriptRoot/../../../Common/Software/git/Manage.ps1" @Parameters; & "$PSScriptRoot/../../../Common/Software/git/Manage.ps1" @Parameters;

View file

@ -8,13 +8,8 @@ param(
Start-SoftwareInstaller @PSBoundParameters ` Start-SoftwareInstaller @PSBoundParameters `
-Installer { -Installer {
param(
[scriptblock] $Installer
)
Install-ChocoPackage zoxide; Install-ChocoPackage zoxide;
Install-WingetPackage junegunn.fzf; Install-WingetPackage junegunn.fzf;
& $Installer -Action ([InstallerAction]::Configure);
} ` } `
-Configurator { -Configurator {
Add-PowerShellProfileStatement ` Add-PowerShellProfileStatement `