hyprland-dotfiles/.install/displaymanager.sh

102 lines
4.3 KiB
Bash
Raw Normal View History

2023-11-10 21:12:15 +00:00
# ------------------------------------------------------
# Disable display manager
# ------------------------------------------------------
disman=0
2023-11-17 12:48:02 +00:00
echo -e "${GREEN}"
2023-12-21 20:57:44 +00:00
figlet "Display Manager"
2023-11-17 12:48:02 +00:00
echo -e "${NONE}"
2023-12-20 10:46:07 +00:00
if [[ $profile == *"Hyprland"* ]]; then
2024-01-01 12:33:32 +00:00
echo "IMPORTANT: Starting Hyprland works from tty (terminal) with command Hyprland (recommended)."
2024-02-19 17:14:24 +00:00
echo "or you can try the display manager SDDM (> 0.20.0 already installed) or the latest git version (yay -S sddm)."
2023-12-20 10:46:07 +00:00
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"
2024-01-01 12:33:32 +00:00
echo "at any time with the Hyprland settings script (Start from Waybar or with SUPER+CTRL+S)."
2023-11-10 21:12:15 +00:00
echo ""
2023-12-20 10:46:07 +00:00
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
2023-12-20 19:55:30 +00:00
echo "Qtile Wayland Session removed."
2023-11-10 21:12:15 +00:00
fi
2023-12-20 10:46:07 +00:00
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
2023-11-21 20:19:51 +00:00
2024-01-01 12:33:32 +00:00
if [ ! -d ~/dotfiles ];then
if [ -f /etc/systemd/system/display-manager.service ]; then
2024-01-25 16:39:50 +00:00
disman=0
2024-01-01 12:33:32 +00:00
echo "You have already installed a display manager on your system."
2024-02-19 17:14:24 +00:00
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm")
2024-01-01 12:33:32 +00:00
else
2024-01-25 16:39:50 +00:00
disman=1
2024-01-01 12:33:32 +00:00
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)."
2024-02-19 17:14:24 +00:00
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Install sddm")
2024-01-01 12:33:32 +00:00
fi
else
if [ -f /etc/systemd/system/display-manager.service ]; then
2024-01-25 16:39:50 +00:00
disman=0
2024-01-01 12:33:32 +00:00
echo "You have already installed a display manager. If your display manager is working fine, you can keep the current setup."
2024-02-19 17:14:24 +00:00
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Deactivate current display manager" "Install sddm")
2024-01-01 12:33:32 +00:00
else
2024-01-25 16:39:50 +00:00
disman=1
2024-01-01 12:33:32 +00:00
echo "There is no display manager installed on your system. You're starting Hyprland/Qtile with commands on tty."
2024-02-19 17:14:24 +00:00
echo "How do you want to proceed?"
dmsel=$(gum choose "Keep current setup" "Install sddm")
2024-01-01 12:33:32 +00:00
fi
fi
2024-02-19 17:14:24 +00:00
if [ -z "${dmsel}" ] ;then
echo "Installation canceled."
exit
fi
if [ "$dmsel" == "Install sddm" ] ;then
2023-12-21 16:22:43 +00:00
2024-01-25 16:39:50 +00:00
disman=0
# Try to force the installation of sddm
2024-02-19 17:14:24 +00:00
echo "Install sddm"
yay -S --noconfirm sddm sddm-sugar-candy-git --ask 4
2023-12-21 16:25:21 +00:00
2023-12-20 10:46:07 +00:00
if [ -f /etc/systemd/system/display-manager.service ]; then
sudo rm /etc/systemd/system/display-manager.service
fi
sudo systemctl enable sddm.service
2023-12-20 08:27:39 +00:00
2023-12-20 10:46:07 +00:00
if [ ! -d /etc/sddm.conf.d/ ]; then
sudo mkdir /etc/sddm.conf.d
echo "Folder /etc/sddm.conf.d created."
fi
2023-12-20 08:27:39 +00:00
2023-12-20 10:46:07 +00:00
sudo cp sddm/sddm.conf /etc/sddm.conf.d/
echo "File /etc/sddm.conf.d/sddm.conf updated."
2023-12-20 08:27:39 +00:00
2023-12-20 10:46:07 +00:00
if [ -f /usr/share/sddm/themes/sugar-candy/theme.conf ]; then
2023-12-21 17:30:37 +00:00
# Cache file for holding the current wallpaper
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/"
2023-12-20 10:46:07 +00:00
sudo cp sddm/theme.conf /usr/share/sddm/themes/sugar-candy/
2023-12-21 17:30:37 +00:00
sudo sed -i 's/CURRENTWALLPAPER/'"current_wallpaper.jpg"'/' /usr/share/sddm/themes/sugar-candy/theme.conf
2023-12-20 10:46:07 +00:00
echo "File theme.conf updated in /usr/share/sddm/themes/sugar-candy/"
2023-12-21 17:30:37 +00:00
2023-12-20 10:46:07 +00:00
fi
2024-01-01 12:33:32 +00:00
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 "Keep current setup."
2023-12-20 10:46:07 +00:00
else
2024-01-01 12:33:32 +00:00
echo "Keep current setup."
2023-11-10 21:12:15 +00:00
fi