You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
lazy_load() {
|
|
local command="${1}"
|
|
local loader="${2}"
|
|
local arguments=${@:3}
|
|
if ! which $command > /dev/null 2>&1
|
|
then
|
|
echo "${command} isn't installed yet, installing it now..."
|
|
$loader
|
|
echo "${command} installed! Running \"${command} ${arguments}\"..."
|
|
echo
|
|
fi
|
|
$command $arguments
|
|
}
|
|
|
|
setup_node() {
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
|
|
export NVM_DIR="$HOME/.nvm"
|
|
source "${HOME}/.nvm/nvm.sh"
|
|
source "${HOME}/.nvm/bash_completion"
|
|
nvm install stable
|
|
}
|
|
|
|
setup_python() {
|
|
sudo apt-get update
|
|
sudo apt-get install -y python3 python3-pip
|
|
}
|
|
|
|
setup_rust() {
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
source "${HOME}/.cargo/env"
|
|
}
|
|
|
|
alias node="lazy_load node setup_node"
|
|
alias npm="lazy_load npm setup_node"
|
|
alias python3="lazy_load python3 setup_python"
|
|
alias pip3="lazy_load pip3 setup_python"
|
|
alias python="python3"
|
|
alias pip="pip3"
|
|
alias rustup="lazy_load rustup setup_rust"
|
|
alias rustc="lazy_load rustc setup_rust"
|
|
alias cargo="lazy_load cargo setup_rust"
|
|
|