using namespace System.Security.AccessControl;
using namespace System.Security.Principal;

param(
    $Action,
    [hashtable] $Arguments
)

. "$PSScriptRoot/../../Scripts/Security.ps1";
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
. "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";

Start-SoftwareInstaller @PSBoundParameters `
    -Installer {
        $env:NVS_HOME = "$env:ProgramData\nvs";
        git clone "https://github.com/jasongin/nvs.git" $env:NVS_HOME;
        & "$env:NVS_HOME\nvs.cmd" install;

        refreshenv;
        Set-UserPermissions $env:NVS_HOME;
    } `
    -Configurator {
        nvs add latest;
        nvs link latest;
    };