Make zoxide installation cross platform

This commit is contained in:
Manuel Thalmann 2024-09-19 22:24:36 +02:00
parent 00076e2abb
commit b31d25ea3a
3 changed files with 42 additions and 18 deletions

View file

@ -0,0 +1,19 @@
param(
$Action,
[hashtable] $Arguments
)
. "$PSScriptRoot/../PowerShell/Profile.ps1";
. "$PSScriptRoot/../../Scripts/Software.ps1";
Start-SoftwareInstaller @PSBoundParameters `
-Configurator {
Add-PowerShellProfileStatement `
-System `
-Category "zoxide" `
-Script (
@(
"# zoxide",
(Get-ScriptInitializer "zoxide init powershell | Out-String")
) -join [System.Environment]::NewLine);
};

View file

@ -8,7 +8,7 @@ begin
source "$dir/../fish/profile.fish" source "$dir/../fish/profile.fish"
echo 'eval "$(zoxide init bash)"' | installBashProfile "zoxide" echo 'eval "$(zoxide init bash)"' | installBashProfile "zoxide"
echo "zoxide init fish | source" | installFishProfile "zoxide" echo "zoxide init fish | source" | installFishProfile "zoxide"
sudo pwsh -NoProfile "$dir/install.ps1" sudo -HE pwsh -NoProfile "$dir/Main.ps1" Configure
end end
runInstaller $argv runInstaller $argv

View file

@ -3,21 +3,26 @@ param(
[hashtable] $Arguments [hashtable] $Arguments
) )
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1"; & {
. "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1"; param(
[hashtable] $Parameters
)
Start-SoftwareInstaller @PSBoundParameters ` . "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
-Installer { . "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1";
Install-ChocoPackage zoxide; . "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
Install-WingetPackage junegunn.fzf; $base = "$PSScriptRoot/../../../Common/Software/zoxide/Main.ps1";
} `
-Configurator { Start-SoftwareInstaller @PSBoundParameters `
Add-PowerShellProfileStatement ` -Installer {
-System ` Install-ChocoPackage zoxide;
-Category "zoxide" ` Install-WingetPackage junegunn.fzf;
-Script ( } `
@( -Configurator {
"# zoxide", param(
(Get-ScriptInitializer "zoxide init powershell | Out-String") $Arguments
) -join [System.Environment]::NewLine); )
};
& $base ([InstallerAction]::Configure) @PSBoundParameters;
};
} $PSBoundParameters;