Cleanup for KDE and bootstrap for basevoid install
This commit is contained in:
Executable
+120
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user