Cleanup for KDE and bootstrap for basevoid install

This commit is contained in:
2026-08-12 08:47:37 +02:00
parent 5f930c1f23
commit 65a05f9426
7 changed files with 131 additions and 159 deletions
Executable
+120
View File
@@ -0,0 +1,120 @@
#!/usr/bin/env bash
set -e
if [ "$EUID" -eq 0 ]; then
echo "Please run this script as your normal user, not with sudo."
exit 1
fi
echo "==> Updating system..."
sudo xbps-install -Syu
echo "==> Installing KDE and desktop essentials..."
sudo xbps-install -y \
kde-plasma \
kde-baseapps \
NetworkManager \
sddm \
xorg-minimal \
xorg-server-xwayland \
mesa-dri \
qt6-wayland \
kwayland \
elogind \
pipewire \
alsa-pipewire \
libspa-bluetooth \
bluez \
xdg-desktop-portal \
xdg-desktop-portal-kde \
git \
curl \
neovim
echo "==> Disabling conflicting DHCP service..."
if [ -e /var/service/dhcpcd ]; then
sudo sv down dhcpcd || true
sudo rm -f /var/service/dhcpcd
fi
echo "==> Enabling system services..."
enable_service() {
service="$1"
if [ ! -e "/var/service/$service" ]; then
sudo ln -s "/etc/sv/$service" "/var/service/$service"
fi
}
enable_service dbus
enable_service NetworkManager
enable_service sddm
enable_service bluetoothd
echo "==> Adding user to required groups..."
sudo usermod -aG network,audio,video,bluetooth "$USER"
echo "==> Configuring ALSA for PipeWire..."
sudo mkdir -p /etc/alsa/conf.d
sudo ln -sf \
/usr/share/alsa/alsa.conf.d/50-pipewire.conf \
/etc/alsa/conf.d/50-pipewire.conf
sudo ln -sf \
/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf \
/etc/alsa/conf.d/99-pipewire-default.conf
echo "==> Configuring PipeWire PulseAudio compatibility..."
sudo mkdir -p /etc/pipewire/pipewire.conf.d
sudo ln -sf \
/usr/share/examples/pipewire/20-pipewire-pulse.conf \
/etc/pipewire/pipewire.conf.d/20-pipewire-pulse.conf
echo "==> Enabling PipeWire desktop autostart..."
mkdir -p "$HOME/.config/autostart"
ln -sf \
/usr/share/applications/pipewire.desktop \
"$HOME/.config/autostart/pipewire.desktop"
echo "==> Reconfiguring packages..."
sudo xbps-reconfigure -fa
echo
echo "========================================"
echo " Void KDE bootstrap complete"
echo "========================================"
echo
echo "Installed:"
echo " KDE Plasma"
echo " SDDM"
echo " Plasma Wayland"
echo " NetworkManager"
echo " PipeWire + WirePlumber"
echo " Bluetooth"
echo " XWayland"
echo " Neovim"
echo
echo "Enabled services:"
sudo sv status dbus NetworkManager bluetoothd sddm
echo
echo "NOTE: elogind is installed but intentionally"
echo "not enabled as a runit service."
echo
echo "Reboot, then select 'Plasma (Wayland)' in SDDM."
echo
echo " sudo reboot"
echo