param(
    $Action,
    [hashtable] $Arguments
)

. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
. "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1";

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

        Install-ChocoPackage zoxide;
        Install-WingetPackage junegunn.fzf;
        & $Installer -Action ([InstallerAction]::Configure);
    } `
    -Configurator {
        Add-PowerShellProfileStatement `
            -System `
            -Category "zoxide" `
            -Script (
                @(
                    "# zoxide",
                    (Get-ScriptInitializer "zoxide init powershell | Out-String")
                ) -join [System.Environment]::NewLine);
    };