install.fairie/dotfiles/.local/bin/install-dotfiles
2022-09-22 10:45:01 +00:00

51 lines
2 KiB
Bash

#!/usr/bin/env bash
if [ -f '/etc/qubes-release' ]; then
# Qubes dom0
qvm-create --label red --template debian-11 provision &> /dev/null || EXIT_CODE=$?
qvm-run --pass-io provision 'curl -sSL https://gitlab.com/megabyte-labs/dotfiles/-/archive/master/dotfiles-master.tar.gz > dotfiles.tar.gz'
qvm-run --pass-io provision "cat dotfiles.tar.gz" > "$HOME/dotfiles.tar.gz"
tar -xzf "$HOME/dotfiles.tar.gz" -C "$HOME"
rm -f "$HOME/dotfiles.tar.gz"
sudo rm -rf /usr/src/professor-dotfiles
sudo cp -rf "$HOME/dotfiles-master" /usr/src/professor-dotfiles
else
if [ -d /usr/src/professor-dotfiles/.git ]; then
cd /usr/src/professor-dotfiles
sudo git pull origin master
cd ~/
else
sudo rm -rf /usr/src/professor-dotfiles
sudo git clone https://gitlab.com/megabyte-labs/dotfiles.git /usr/src/professor-dotfiles
fi
fi
# Copy dotfile folders
while read DOTFILE_FOLDER; do
BASENAME_FOLDER="$(basename "$DOTFILE_FOLDER")"
if [ ! -d "$HOME/$BASENAME_FOLDER" ]; then
mkdir -p "$HOME/$BASENAME_FOLDER"
fi
cp -rf "$DOTFILE_FOLDER/"* "$HOME/$BASENAME_FOLDER"
done < <(find /usr/src/professor-dotfiles/dotfiles -maxdepth 1 -mindepth 1 -type d)
# Copy dotfile files
while read DOTFILE_FILE; do
BASENAME_FILE="$(basename "$DOTFILE_FILE")"
cp "$DOTFILE_FILE" "$HOME/$BASENAME_FILE"
chmod 600 "$HOME/$BASENAME_FILE"
done < <(find /usr/src/professor-dotfiles/dotfiles -maxdepth 1 -mindepth 1 -type f)
# Ensure .local/bin contents are executable
while read LOCAL_BIN; do
chmod +x "${LOCAL_BIN}"
done < <(find "$HOME/.local/bin" -maxdepth 1 -mindepth 1 -type f)
# Firefox theme
if [ ! -f ~/.mozilla/firefox ] && [ ! -f '/etc/qubes-release' ]; then
git clone https://github.com/EliverLara/firefox-sweet-theme /tmp/firefox-sweet-theme
bash /tmp/firefox-sweet-theme/scripts/install.sh
fi
# grep -q QT_QPA_PLATFORMTHEME=qt5ct /etc/environment || echo QT_QPA_PLATFORMTHEME=qt5ct | sudo tee -a /etc/environment
# sudo cp -rv "$HOME/.local/share/qt5ct" /usr/share