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

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"