param (
    $Action,
    [hashtable] $Arguments
)

. "$PSScriptRoot/../PowerShell/Profile.ps1";
. "$PSScriptRoot/../../Scripts/Software.ps1";
. "$PSScriptRoot/../../Types/InstallerAction.ps1";

Start-SoftwareInstaller @PSBoundParameters `
    -Installer {
        param(
            [scriptblock] $Installer
        )

        & $Installer -Action ([InstallerAction]::Configure);
    } `
    -Configurator {
        Add-PowerShellProfileStatement `
            -System `
            -Category "oh-my-posh" `
            -Script (
                @(
                    "# Oh My Posh!",
                    (Get-ScriptInitializer "oh-my-posh init pwsh"),
                    (Get-ScriptInitializer "oh-my-posh completion powershell")
                ) -join [System.Environment]::NewLine)
    };