diff --git a/.assets/config/pwsh_cfg/profile.ps1 b/.assets/config/pwsh_cfg/profile.ps1 index 744559cc..634e8762 100644 --- a/.assets/config/pwsh_cfg/profile.ps1 +++ b/.assets/config/pwsh_cfg/profile.ps1 @@ -44,6 +44,7 @@ if (-not $isWSL1) { # $env:PATH variable @( [IO.Path]::Combine($HOME, '.local', 'bin') + [IO.Path]::Combine($HOME, '.bun', 'bin') [IO.Path]::Combine($HOME, '.cargo', 'bin') [IO.Path]::Combine($HOME, '.pixi', 'bin') ) | ForEach-Object { diff --git a/.assets/provision/install_bun.sh b/.assets/provision/install_bun.sh new file mode 100755 index 00000000..2e9bf67e --- /dev/null +++ b/.assets/provision/install_bun.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +: ' +.assets/provision/install_bun.sh +' +set -euo pipefail + +if [ $EUID -eq 0 ]; then + printf '\e[31;1mDo not run the script as root.\e[0m\n' >&2 + exit 1 +fi + +if [ -x "$HOME/.bun/bin/bun" ]; then + $HOME/.bun/bin/bun upgrade +else + printf "\e[92minstalling \e[1mbun\e[22m\e[0m\n" >&2 + curl -fsSL https://bun.sh/install | bash +fi diff --git a/.assets/scripts/linux_setup.sh b/.assets/scripts/linux_setup.sh index 5b1c3e47..a4cfe810 100755 --- a/.assets/scripts/linux_setup.sh +++ b/.assets/scripts/linux_setup.sh @@ -184,6 +184,7 @@ for sc in "${scope_arr[@]}"; do nodejs) printf "\e[96minstalling Node.js...\e[0m\n" sudo .assets/provision/install_nodejs.sh + .assets/provision/install_bun.sh ;; oh_my_posh) printf "\e[96minstalling oh-my-posh...\e[0m\n" diff --git a/wsl/wsl_install.ps1 b/wsl/wsl_install.ps1 index b14b8fa3..653296dc 100644 --- a/wsl/wsl_install.ps1 +++ b/wsl/wsl_install.ps1 @@ -24,7 +24,7 @@ List of installation scopes. Valid values: - k8s_base: kubectl, kubelogin, k9s, kubecolor, kubectx, kubens - k8s_dev: argorollouts, cilium, helm, flux, kustomize cli tools; autoselects k8s_base scope - k8s_ext: (WSL2 only) - minikube, k3d, kind local kubernetes tools; autoselects docker, k8s_base and k8s_dev scopes -- nodejs: Node.js JavaScript runtime environment +- nodejs: Node.js JavaScript runtime environment, bun, npm - pwsh: PowerShell Core and corresponding PS modules; autoselects shell scope - python: uv, prek, pip, venv - rice: btop, cmatrix, cowsay, fastfetch diff --git a/wsl/wsl_setup.ps1 b/wsl/wsl_setup.ps1 index 8cf1d8cc..88efffc7 100644 --- a/wsl/wsl_setup.ps1 +++ b/wsl/wsl_setup.ps1 @@ -26,7 +26,7 @@ List of installation scopes. Valid values: - k8s_base: kubectl, kubelogin, k9s, kubecolor, kubectx, kubens - k8s_dev: argorollouts, cilium, helm, flux, kustomize cli tools; autoselects k8s_base scope - k8s_ext: (WSL2 only) - minikube, k3d, kind local kubernetes tools; autoselects docker, k8s_base and k8s_dev scopes -- nodejs: Node.js JavaScript runtime environment +- nodejs: Node.js JavaScript runtime environment, bun, npm - pwsh: PowerShell Core and corresponding PS modules; autoselects shell scope - python: uv, prek, pip, venv - rice: btop, cmatrix, cowsay, fastfetch @@ -548,6 +548,7 @@ process { if ($AddCertificate) { wsl.exe --distribution $Distro --user root --exec .assets/provision/fix_nodejs_certs.sh } + wsl.exe --distribution $Distro --exec .assets/provision/install_bun.sh continue } oh_my_posh {