From 823b4e8d0220905a92b8665e1bb16af94305c833 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 14 Oct 2023 00:26:36 +0900 Subject: [PATCH] fixed sddm custom theme installation --- README.md | 1 - install-scripts/sddm.sh | 43 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9989ccf..57524d0 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,6 @@ sudo ninja -C build install - [X] ~~Use kitty in favor of foot~~ - Dropped the idea of kitty. Kitty is using twice memory compared to foot. ### ❗ some known issues -- Currently SDDM theme that I have set is broken... currently investigating - reports from members of my discord, states that some users of nvidia are getting stuck on sddm login. credit to @Kenni Fix stated was ``` diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh index 813b47c..ca45c8b 100755 --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -4,10 +4,18 @@ # WARNING! If you remove packages here, dotfiles may not work properly. # and also, ensure that packages are present in debian repo -login=( +sddm1=( sddm ) +sddm2=( + qml-module-qtgraphicaleffects + qml-module-qtquick-controls + qml-module-qtquick-controls2 + qml-module-qtquick-extras + qml-module-qtquick-layouts +) + # Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -30,8 +38,29 @@ LOG="install-$(date +%d-%H%M%S)_sddm.log" set -e +# Function for installing packages on Debian/Ubuntu +install_package() { + # Checking if package is already installed + if dpkg -l | grep -q -w "$1"; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo apt-get install -y "$1" >> "$LOG" 2>&1 + # Check if the package was installed successfully + if dpkg -l | grep -q -w "$1"; then + echo -e "\e[1A\e[K${OK} $1 was installed." + else + # Something is missing, exiting to review the log + echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry, I have tried :(" + exit 1 + fi + fi +} + # Install SDDM and Tokyo-Night theme -for PKG1 in "${login[@]}" ; do +printf "\n%s - Installing sddm.... \n" "${NOTE}" +for PKG1 in "${sddm1[@]}" ; do sudo apt-get install --no-install-recommends -y "$PKG1" 2>&1 | tee -a "$LOG" if [ $? -ne 0 ]; then echo -e "\e[1A\e[K${ERROR} - $PKG1 install had failed, please check the install.log" @@ -39,6 +68,16 @@ for PKG1 in "${login[@]}" ; do fi done +# Installation of additional sddm stuff +printf "\n%s - Installing sddm additional stuff.... \n" "${NOTE}" +for PKG2 in "${sddm2[@]}"; do + install_package "$PKG2" 2>&1 | tee -a "$LOG" + if [ $? -ne 0 ]; then + echo -e "\e[1A\e[K${ERROR} - $PKG2 install had failed, please check the install.log" + exit 1 + fi +done + # Check if other login managers are installed and disabling their service before enabling sddm for login_manager in lightdm gdm lxdm lxdm-gtk3; do if sudo apt-get list installed "$login_manager" &>> /dev/null; then