Files
scripts/alpine/desktop-environment/clean-install-kde.sh
T
2026-06-09 14:08:05 +02:00

75 lines
2.0 KiB
Bash
Executable File

#!/bin/sh
PKG_KDE_APPS="kcalc dolphin-plugins elisa vlc-qt"
PKG_OFFICE="libreoffice-calc libreoffice-writer libreoffice-draw libreoffice-kf6"
PKG_NET="thunderbird net-tools remmina"
PKG_FLATPAK="discover-backend-flatpak flatpak"
#### Functions
check_root() {
if [ "$(id -u)" -ne 0 ]; then
echo "Must be root to run $0"
exit
fi
}
choice() {
local prompt="$1"
local default="${2:-Y}" # Default to Y if not specified
local response
while true; do # Loop until valid input
read -rp "$prompt [Y/n/c] " -n 1 response
echo # New line after input
# Use default if input is empty
response=${response:-$default}
case "$response" in
[Yy]* ) return 0;; # Yes: return 0
[Nn]* ) return 1;; # No: return 1
[Cc]* ) return 2;; # Cancel: return 2
* ) echo "Invalid input. Please enter Y (Yes), n (No), or c (Cancel)." >&2;;
esac
done
}
#### Main
check_root
echo -ne "\nInstall of KDE minimal (setup eudev, D-Bus, Elogind, Meta KDE Plasma)? "
if choice 2>/dev/null; then
setup-apkrepos -c -1
setup-devd udev
setup-xorg-base
apk update
apk add dbus polkit-elogind elogind
rc-update add dbus
rc-update add polkit
rc-update add elogind
setup-desktop plasma
sed -i "s#^DisplayServer=wayland\$#DisplayServer=x11#" /etc/sddm.conf.d/plasma-wayland.conf # Bug https://gitlab.alpinelinux.org/alpine/aports/-/issues/16802
fi
echo -ne "\nYou want to install KDE apps ($PKG_KDE_APPS)? "
if choice 2>/dev/null; then
apk add $PKG_KDE_APPS
fi
echo -ne "\nYou want to install office packages ($PKG_OFFICE)? "
if choice 2>/dev/null; then
apk add $PKG_OFFICE
fi
echo -ne "\nYou want to install internet programs ($PKG_NET)? "
if choice 2>/dev/null; then
apk add $PKG_NET
fi
echo -ne "\nYou want to install support for Flatpak ($PKG_FLATPAK)? "
if choice 2>/dev/null; then
apk add $PKG_FLATPAK
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
fi