hyprland-dotfiles/2-qtile.sh
Stephan Raabe ac0c3b3f79 Updates
2023-08-17 20:56:53 +02:00

136 lines
3.7 KiB
Bash
Executable File

#!/bin/bash
# ___ _____ ___ _ _____
# / _ \_ _|_ _| | | ____|
# | | | || | | || | | _|
# | |_| || | | || |___| |___
# \__\_\|_| |___|_____|_____|
#
# by Stephan Raabe (2023)
# ------------------------------------------------------
# Install Script for Qtile
# ------------------------------------------------------
# ------------------------------------------------------
# Confirm Start
# ------------------------------------------------------
clear
echo " ___ _____ ___ _ _____ "
echo " / _ \_ _|_ _| | | ____| "
echo "| | | || | | || | | _| "
echo "| |_| || | | || |___| |___ "
echo " \__\_\|_| |___|_____|_____| "
echo " "
echo "by Stephan Raabe (2023)"
echo "------------------------------------------------------"
echo ""
while true; do
read -p "DO YOU WANT TO START THE INSTALLATION NOW? (Yy/Nn): " yn
case $yn in
[Yy]* )
echo "Installation started."
break;;
[Nn]* )
exit;
break;;
* ) echo "Please answer yes or no.";;
esac
done
echo ""
# ------------------------------------------------------
# Install required packages
# ------------------------------------------------------
echo ""
echo "-> Install main packages"
packagesPacman=("qtile" "picom" "rofi" "dunst" "polybar" "rofi-calc");
# packagesYay=("brave-bin" "pfetch" "bibata-cursor-theme");
# pywal installation below
# ------------------------------------------------------
# Function: Is package installed
# ------------------------------------------------------
_isInstalledPacman() {
package="$1";
check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")";
if [ -n "${check}" ] ; then
echo 0; #'0' means 'true' in Bash
return; #true
fi;
echo 1; #'1' means 'false' in Bash
return; #false
}
_isInstalledYay() {
package="$1";
check="$(yay -Qs --color always "${package}" | grep "local" | grep "${package} ")";
if [ -n "${check}" ] ; then
echo 0; #'0' means 'true' in Bash
return; #true
fi;
echo 1; #'1' means 'false' in Bash
return; #false
}
# ------------------------------------------------------
# Function Install all package if not installed
# ------------------------------------------------------
_installPackagesPacman() {
toInstall=();
for pkg; do
if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then
echo "${pkg} is already installed.";
continue;
fi;
toInstall+=("${pkg}");
done;
if [[ "${toInstall[@]}" == "" ]] ; then
# echo "All pacman packages are already installed.";
return;
fi;
printf "Packages not installed:\n%s\n" "${toInstall[@]}";
sudo pacman --noconfirm -S "${toInstall[@]}";
}
_installPackagesYay() {
toInstall=();
for pkg; do
if [[ $(_isInstalledYay "${pkg}") == 0 ]]; then
echo "${pkg} is already installed.";
continue;
fi;
toInstall+=("${pkg}");
done;
if [[ "${toInstall[@]}" == "" ]] ; then
# echo "All packages are already installed.";
return;
fi;
printf "AUR ackages not installed:\n%s\n" "${toInstall[@]}";
yay --noconfirm -S "${toInstall[@]}";
}
# ------------------------------------------------------
# Install required packages
# ------------------------------------------------------
_installPackagesPacman "${packagesPacman[@]}";
# _installPackagesYay "${packagesYay[@]}";
# ------------------------------------------------------
# Create symbolic links
# ------------------------------------------------------
echo "-> Create symbolic link for startx"
rm ~/.xinitrc
ln -s ~/dotfiles/qtile/.xinitrc ~/.xinitrc
echo "DONE!"