dotfiles/.config/yadm/bootstrap

114 lines
3.2 KiB
Bash
Executable File

#!/usr/bin/env bash
#
set -e
# NOTE: use $HOME instead of ~ in this script, as it doesnt get expanded correctly
BASEDIR=$(dirname $(realpath "$0"))
YADM_DIR=$BASEDIR
YADM_DATA="$HOME/.local/share/yadm"
REMOTE_PRIVATE=git@git.sudo.is:ben/private-dotfiles.git
if [[ "$(id -u -n)" == "ben" ]]; then
#echo "[ ] rclone.conf"
ENV="sudo.is"
fi
echo "[ ] YADM_DIR: $YADM_DIR"
echo "[ ] YADM_DATA: $YADM_DATA"
# for dir in $YADM_DIR $YADM_DATA; do
# echo "[ ] ls -1 $dir"
# for item in $(ls -1 --color=always $dir); do
# echo " $item";
# done
# done
echo "[ ] OS: $OSTYPE"
if [[ "$OSTYPE" == "linux"* ]]; then
echo " [>] Linux tasks"
# XDG dirs should exist as defined in $HOME/.config/user-dirs.dirs
mkdir -pv $HOME/docs $HOME/photos
# Clean desktop, $HOME/.config/user-dirs.dirs sets XDG_DESKTOP_DIR
mkdir -pv $HOME/.empty
# chattr returns non-zero if its already set
sudo chattr -R +i $HOME/.empty
if [[ -f "/etc/tlp.conf" ]]; then
echo " [!] sudo cp ~/.config/tlp.conf /etc/tlp.conf"
sudo cp $HOME/.config/tlp/tlp.conf /etc/tlp.conf
fi
fi
echo "[ ] vim cache and undo dirs"
mkdir -pv "$HOME/.cache/vim/undo"
echo "[ ] git repos"
if [[ ! -d "$HOME/.local/share/yadm/yadm-project/.git" ]]; then
echo " [<] Cloning: yadm-project"
git -C $HOME/.local/share/yadm clone https://github.com/TheLocehiliosan/yadm.git yadm-project
else
echo " [<] Pulling: yadm-project"
echo -n " "
git -C $HOME/.local/share/yadm/yadm-project pull
fi
if [[ ! -d "$HOME/.local/share/private/.git" ]]; then
echo " [!] Cloning: $REMOTE_PRIVATE"
git -C $HOME/.local/share clone $REMOTE_PRIVATE private
else
echo " [<] Pulling: ben/private-dotfiles"
echo -n " "
git -C $HOME/.local/share/private pull
echo " [>] Pushing: ben/private-dotfiles"
echo -n " "
git -C $HOME/.local/share/private push
fi
if [[ ! -d "$HOME/.local/share/ohmyzsh/.git" ]]; then
echo " [!] Cloning ohmyzsh repo"
git -C $HOME/.local/share clone https://github.com/ohmyzsh/ohmyzsh ohmyzsh
else
echo " [<] Pulling: ohmyzsh"
echo -n " "
git -C $HOME/.local/share/ohmyzsh pull
fi
if [[ -d "$HOME/projects/infra/.git" ]]; then
echo " [<] Pulling: infra"
git -C $HOME/projects/infra branch --set-upstream-to=origin/b b > /dev/null
git -C $HOME/projects/infra pull
else
echo " [ ] Ignoring: infra"
fi
if [[ -d "$HOME/projects/infra-private/.git" ]]; then
echo " [<] Pulling: infra-private"
git -C $HOME/projects/infra-private pull
else
echo " [ ] Ignoring: infra-private"
fi
# On amine (fedora), pipx was currently installed with `dnf install pipx`
# and pip is not installed
# Can also install `python3-pip` first.
if python3 -m pip 2&>1 >/dev/null; then
#echo "[ ] updating pip"
#python3 -m pip install --user --upgrade pip
#echo "[ ] installing: pipx, hatch"
#python3 -m pip install --user --upgrade pipx
#python3 -m pip install --user --upgrade hatch
echo "[ ] 'pip' is installed on this system"
else
echo "[ ] looks like 'pip' is not installed on this system"
echo " dnf install python3-pip"
echo " apt install python3-pip"
fi
# $BASEDIR/bootstrap.py