1754680866

This commit is contained in:
2025-08-08 13:21:05 -06:00
parent 7b05b629f8
commit 26b382bcd3
+67
View File
@@ -0,0 +1,67 @@
#!/bin/bash
# set -e
# set rcfile
rcfile="$HOME/.zshrc" # zsh
# rcfile="$USER/.bashrc" # bash
# check if a command exists, and if so, purge that package
# usage: check_purge_package <package_name>
check_purge_package () {
package_name=$1
which -s $package_name # silently test for command
package_check=$? # get return code. 0 for found, any other for not found
if [ $package_check -ne 0 ]; then # if package is found, purge it
echo "sudo apt purge $package_name -y"
else # otherwise skip
echo "no $package_name installation found, skipping uninstall"
fi
}
# cleanup previous python installs
check_purge_package pyenv
check_purge_package python3
check_purge_package python2
check_purge_package python
check_purge_package pip
check_purge_package pip3
check_purge_package pip2
# install pyenv
curl -fsSL https://pyenv.run | bash
## setup shell
### check for pyenv in rcfile
grep -q .pyenv $rcfile
rc_pyenv_check=$?
if [ $rc_pyenv_check -ne 0 ]; then # if pyenv found
echo "pyenv already set up in $rcfile, skipping add init"
else # if pyenv not found
echo "Setting up pyenv in $rcfile"
echo -e "\n# pyenv setup" >> $rcfile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> $rcfile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> $rcfile
echo 'eval "$(pyenv init - zsh)"' >> $rcfile
fi
## add aliases
### check for aliases in rcfile
grep -q '## python aliases' $rcfile
rc_pyalias_check=$? # get retcode
if [ $rc_pyalias_check -ne 0 ]; then # if ailases found
echo "pyenv aliases already set up in $rcfile, skipping"
else # if aliases not found
echo "Setting up pyenv aliases in $rcfile"
echo "## python aliases" >> $rcfile
echo 'alias py=python' >> $rcfile
echo 'alias py3=python' >> $rcfile
echo 'alias py2=python' >> $rcfile
echo 'alias python3=python' >> $rcfile
echo 'alias python2=python' >> $rcfile
echo 'alias pip3=pip' >> $rcfile
echo 'alias pip2=pip' >> $rcfile
fi
echo -e "\n\ndone~ :3~\n\treset shell with exec \"\$SHELL\"\n"