114 lines
3.2 KiB
Bash
Executable File
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
|
|
|