dotfiles/.config/yadm/bootstrap

48 lines
1.3 KiB
Bash

#!/usr/bin/env zsh
cd $HOME
# Initialize and update submodules
yadm submodule update --init --recursive
yadm submodule foreach git pull
# Load OS information from /etc/os-release
eval $(awk '{print "OS_" $0}' /etc/os-release)
function pyenv_install() {
if [[ ${OS_ID} == "arch" ]]; then
sudo pacman -S --noconfirm pyenv pyenv-virtualenv
elif [[ ${OS_ID} == "ubuntu" ]]; then
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils \
tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
curl https://pyenv.run | bash
fi
pyenv install 3.10.13
pyenv virtualenv 3.10.13 personal
pyenv virtualenv 3.10.13 eww-modules
pyenv global personal
pyenv rehash
eval "$(pyenv init -)"
# Install packages for personal python environment
pyenv shell personal
pip install --upgrade pip
if [[ -f $HOME/.config/pip/requirements.txt ]]; then
pip install -r $HOME/.config/pip/requirements.txt
fi
# Install packages for eww-modules
pyenv shell eww-modules
pip install --upgrade pip
if [[ -f $HOME/.config/pip/eww-modules-requirements.txt ]]; then
pip install -r $HOME/.config/pip/eww-modules-requirements.txt
fi
}
# Install pyenv and configure personal and eww-modules python environments
if [[ ! -d $HOME/.pyenv ]]; then
pyenv_install
fi