125 lines
5.3 KiB
Bash
Executable File
125 lines
5.3 KiB
Bash
Executable File
# ------------------------------------------------------
|
|
# Disable display manager
|
|
# ------------------------------------------------------
|
|
disman=0
|
|
profile="Hyprland"
|
|
echo -e "${GREEN}"
|
|
figlet "Display Manager"
|
|
echo -e "${NONE}"
|
|
if [[ $profile == *"Hyprland"* ]]; then
|
|
echo "IMPORTANT: Starting Hyprland works from tty (terminal) with command Hyprland (recommended)."
|
|
echo "or you can try the display manager SDDM (> 0.20.0 already installed) or the latest git version (yay -S sddm)."
|
|
echo "Please check: https://wiki.hyprland.org/hyprland-wiki/pages/Getting-Started/Master-Tutorial/#launching-hyprland"
|
|
echo "Login with other display managers could fail and could have negative side effects on some devices."
|
|
echo "If you have issues with SDDM or other display managers, you can deactivate the display manager"
|
|
echo "at any time with the Hyprland settings script (Start from Waybar or with SUPER+CTRL+S)."
|
|
echo ""
|
|
fi
|
|
if [[ $profile == *"Qtile"* ]]; then
|
|
if [ -f /usr/share/wayland-sessions/qtile-wayland.desktop ]; then
|
|
sudo mv /usr/share/wayland-sessions/qtile-wayland.desktop /usr/share/wayland-sessions/qtile-wayland.bak
|
|
echo "Qtile Wayland Session removed."
|
|
fi
|
|
echo "PLEASE NOTE: Qtile works with Display Managers."
|
|
echo "But if you want to use the tty based (terminal) login instead, you can disable the display manager now."
|
|
echo "If you install the aliases with the included .bashrc, you can start Qtile with the command Qtile."
|
|
echo ""
|
|
fi
|
|
|
|
if [ ! -d ~/dotfiles ];then
|
|
if [ -f /etc/systemd/system/display-manager.service ]; then
|
|
disman=0
|
|
echo "You have already installed a display manager on your system."
|
|
echo "How do you want to proceed?"
|
|
echo
|
|
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm and theme")
|
|
else
|
|
disman=1
|
|
echo "There is no display manager installed on your system."
|
|
echo "After the installation/update of the dotfiles, you can start Hyprland with command Hyprland and Qtile with commmand Qtile (or startx)."
|
|
echo "How do you want to proceed?"
|
|
echo
|
|
dmsel=$(gum choose "Keep current setup" "Install sddm and theme")
|
|
fi
|
|
else
|
|
if [ -f /etc/systemd/system/display-manager.service ]; then
|
|
disman=0
|
|
echo "You have already installed a display manager. If your display manager is working fine, you can keep the current setup."
|
|
echo "How do you want to proceed?"
|
|
echo
|
|
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm and theme")
|
|
else
|
|
disman=1
|
|
echo "There is no display manager installed on your system. You're starting Hyprland/Qtile with commands on tty."
|
|
echo "How do you want to proceed?"
|
|
echo
|
|
dmsel=$(gum choose "Keep current setup" "Install sddm and theme")
|
|
fi
|
|
fi
|
|
|
|
if [ -z "${dmsel}" ] ;then
|
|
echo ":: Installation canceled."
|
|
exit
|
|
fi
|
|
if [ "$dmsel" == "Install sddm and theme" ] ;then
|
|
|
|
disman=0
|
|
# Try to force the installation of sddm
|
|
echo ":: Install sddm"
|
|
yay -S --noconfirm sddm --ask 4
|
|
|
|
# Enable sddm
|
|
if [ -f /etc/systemd/system/display-manager.service ]; then
|
|
sudo rm /etc/systemd/system/display-manager.service
|
|
fi
|
|
sudo systemctl enable sddm.service
|
|
|
|
# Create sddm.conf.d folder
|
|
if [ ! -d /etc/sddm.conf.d/ ]; then
|
|
sudo mkdir /etc/sddm.conf.d
|
|
echo ":: Folder /etc/sddm.conf.d created."
|
|
fi
|
|
|
|
# Copy sddm.conf
|
|
sudo cp sddm/sddm.conf /etc/sddm.conf.d/
|
|
echo ":: File /etc/sddm.conf.d/sddm.conf updated."
|
|
|
|
# Download and install sugar candy theme if not exists
|
|
if [ ! -d /usr/share/sddm/themes/sugar-candy ]; then
|
|
if [ -f ~/Downloads/sddm-sugar-candy-master.zip ] ;then
|
|
rm ~/Downloads/sddm-sugar-candy-master.zip
|
|
fi
|
|
wget -P ~/Downloads/ https://framagit.org/MarianArlt/sddm-sugar-candy/-/archive/master/sddm-sugar-candy-master.zip
|
|
if [ -f ~/Downloads/sddm-sugar-candy-master.zip ] ;then
|
|
unzip -o -q ~/Downloads/sddm-sugar-candy-master.zip -d ~/Downloads/
|
|
if [ ! -d /usr/share/sddm/themes/sugar-candy ] ;then
|
|
sudo mkdir -p /usr/share/sddm/themes/sugar-candy
|
|
fi
|
|
sudo cp -r ~/Downloads/sddm-sugar-candy-master/* /usr/share/sddm/themes/sugar-candy
|
|
echo ":: SDDM Sugar Candy Theme installed"
|
|
else
|
|
echo "ERROR: Sugar Candy Download not found"
|
|
fi
|
|
fi
|
|
|
|
# Install background wallpaper for sddm
|
|
if [ -f /usr/share/sddm/themes/sugar-candy/theme.conf ]; then
|
|
sudo cp wallpapers/default.jpg /usr/share/sddm/themes/sugar-candy/Backgrounds/current_wallpaper.jpg
|
|
echo ":: Default wallpaper copied into /usr/share/sddm/themes/sugar-candy/Backgrounds/"
|
|
sudo cp sddm/theme.conf /usr/share/sddm/themes/sugar-candy/
|
|
sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.jpg"'/' /usr/share/sddm/themes/sugar-candy/theme.conf
|
|
echo ":: File theme.conf updated in /usr/share/sddm/themes/sugar-candy/"
|
|
fi
|
|
|
|
elif [ "$dmsel" == "Deactivate current display manager" ] ;then
|
|
|
|
sudo rm /etc/systemd/system/display-manager.service
|
|
echo ":: Current display manager deactivated."
|
|
disman=1
|
|
|
|
elif [ "$dmsel" == "Keep current setup" ] ;then
|
|
echo ":: sddm setup skipped."
|
|
else
|
|
echo ":: sddm setup skipped."
|
|
fi
|