59 lines
1.8 KiB
PowerShell
59 lines
1.8 KiB
PowerShell
param(
|
|
$Action,
|
|
[hashtable] $Arguments
|
|
)
|
|
|
|
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
|
|
|
|
Start-SoftwareInstaller @PSBoundParameters `
|
|
-Installer {
|
|
Install-ChocoPackage nextcloud-client -ArgumentList "-y","--params='/KeepUpdateCheck'";
|
|
} `
|
|
-Configurator {
|
|
Write-Host "Making Firefox the default browser…";
|
|
$progIdSuffix = "-308046B0AF4A39CB";
|
|
$appName = "Firefox";
|
|
|
|
$extensions = @(
|
|
".htm",
|
|
".html",
|
|
".svg",
|
|
".xht",
|
|
".xhtml"
|
|
);
|
|
|
|
$schemes = @(
|
|
"http",
|
|
"https"
|
|
);
|
|
|
|
foreach ($extension in $extensions) {
|
|
Set-DefaultAppAssociation -Identifier $extensions -ProgId "${appName}HTML$progIdSuffix" -ApplicationName $appName;
|
|
}
|
|
|
|
foreach ($scheme in $schemes) {
|
|
Set-DefaultAppAssociation -Identifier $scheme -ProgId "${appName}URL$progIdSuffix" -ApplicationName $appName;
|
|
}
|
|
} `
|
|
-UserConfigurator {
|
|
if (-not (Test-Path $context.GetNextcloudConfigFile())) {
|
|
Write-Information "Setting up Nextcloud configuration";
|
|
|
|
Write-Information "Ensuring all Let's Encrypt certificates are cached";
|
|
$null = Invoke-WebRequest https://valid-isrgrootx1.letsencrypt.org/;
|
|
|
|
while (-not (Test-Path $context.GetNextcloudConfigFile())) {
|
|
Write-Host "Nextcloud has been installed!";
|
|
Read-Host "Please log in in the Nextcloud app and hit enter to continue";
|
|
|
|
if (-not (Test-Path $context.GetNextcloudConfigFile())) {
|
|
Write-Error "The login seems to have failed. Please try again.";
|
|
}
|
|
}
|
|
|
|
$context.Reboot();
|
|
exit;
|
|
}
|
|
};
|
|
|