#!/bin/bash function goto { label=$1 cmd=$(sed -n "/^:[[:blank:]][[:blank:]]*${label}/{:a;n;p;ba};" $0 | grep -v ':$') eval "$cmd" exit } function upgrade2ultimate { echo "###############################################################################" echo "#### WELCOME TO THE GARUDA LINUX ULTIMATE UPDATE SCRIPT V1.0 ####" echo "###############################################################################" ## Graphical sudo pacman -S --needed pamac-all ## APPIMAGE Support sudo pacman -S --noconfirm --needed appimagelauncher fwupd apparmor snapd snapd-glib flatpak echo "###############################################################################" echo "#### INSTALLED PACKAGE MANAGEMENT ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed garuda-alsa garuda-pulse garuda-pipewire pulseaudio-ctl playerctl echo "###############################################################################" echo " INSTALLED AUDIO ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed qomui-git echo "###############################################################################" echo "#### INSTALLED NETWORK ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed garuda-settings-samba system-config-samba garuda-printer garuda-scanner echo "###############################################################################" echo "#### INSTALLED PRINTER ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed evdev-right-click-emulation echo "###############################################################################" echo "#### INSTALLED INPUT ####" echo "###############################################################################" ## Desktop Utils sudo pacman -S --noconfirm --needed libdvdcss libva-utils vdpauinfo vulkan-tools mesa-demos lib32-mesa-demos echo "###############################################################################" echo "#### INSTALLED UTILITIES ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed garuda-asian noto-fonts-extra ttf-opensans echo "###############################################################################" echo "#### INSTALLED FONTS ####" echo "###############################################################################" ## office sudo pacman -S --noconfirm --needed libreoffice-fresh sudo pacman -S --noconfirm --needed libmythes echo "###############################################################################" echo "#### INSTALLED OFFICE ####" echo "###############################################################################" ## Internet applications sudo pacman -S --noconfirm --needed telegram-desktop joplin murmur mumble discord streamlink-twitch-gui syncthing-gtk nextcloud-client firefox-extension-bitwarden fractal firefox-extension-xdm-browser-monitor echo "###############################################################################" echo "#### INSTALLED OTHER APPS ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed garuda-virt-manager echo "###############################################################################" echo "#### INSTALLED VIRTUALIZATION ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed garuda-wine echo "###############################################################################" echo "#### INSTALLED WINE ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed ialauncher-git steam steam-native-runtime lutris gamehub itch minigalaxy legendary echo "###############################################################################" echo "#### INSTALLED GAME LAUNCHERS ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed openrgb-git piper fancontrol-gui-git corectrl gwe goverlay-git mangohud lib32-mangohud gamemode lib32-gamemode dxvk-mingw-git vkbasalt proton-tkg-git echo "###############################################################################" echo "#### INSTALLED GAMING TOOLS ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed antimicrox linuxconsole xboxdrv xpadneo-dkms-git steamos-xpad-dkms xow-git xbox-generic-controller game-devices-udev retroarch-autoconfig-udev-git echo "###############################################################################" echo "#### INSTALLED GAME CONTROLLER ####" echo "###############################################################################" sudo pacman -S --noconfirm --needed libretro echo "###############################################################################" echo "#### INSTALLED EMULATORS ####" echo "###############################################################################" sync } systemctl --user enable gamemoded >/dev/null 2>&1 & systemctl --user start gamemoded >/dev/null 2>&1 & systemctl --user enable pulseaudio-bluetooth-autoconnect >/dev/null 2>&1 & systemctl --user start pulseaudio-bluetooth-autoconnect >/dev/null 2>&1 & systemctl --user enable android-session-manager >/dev/null 2>&1 & systemctl --user start android-session-manager >/dev/null 2>&1 & systemctl --user enable psd >/dev/null 2>&1 & systemctl --user start psd >/dev/null 2>&1 & libinput-gestures-setup autostart >/dev/null 2>&1 & libinput-gestures-setup start >/dev/null 2>&1 & setup_dxvk install & clear echo "Welcome to the initial setup assistant!" : start echo "What do you want to do?" echo "" echo "Lite & Ultimate:" echo "1) Get initial mirrorlist & download list of packages" echo "2) Update the system" echo "3) Debloat the system" echo "4) Enable systemwide adblocking / HiDPI mode / guest user" echo " also disable Samba / printing / scanner support" echo "5) Disable CPU migitations / enable sysrq / set boot options" echo "" echo "Lite only:" echo "6) Fix missing characters by installing asian fonts packages" echo "7) Enable Snap & Flatpak support" echo "8) Install gaming dependencies, Lutris & Steam" echo "9) Upgrade to Ultimate (excluding desktop-specific apps)" echo "" echo "10) Exit" echo "" read selection if [ $selection = "1" ]; then echo "" echo "Select options in Reflector Simple!" echo "If no mirrors were found select german servers." reflector-simple >/dev/null 2>&1 sudo pacman -Syy echo "" goto "start" elif [ $selection = "2" ]; then echo "" sudo pacman -Syu echo "" echo "System upgraded." echo "" goto "start" elif [ $selection = "3" ]; then echo "" echo "Follow the short tutorial." echo "Make sure to inspect the removed packages first! 🛑" firefox --new-window https://wiki.garudalinux.org/en/removing-bloat >/dev/null 2>&1 & pamac-manager >/dev/null 2>&1 goto "start" elif [ $selection = "4" ]; then echo "" echo "Find it in the settings tab. 🖥" garuda-welcome >/dev/null 2>&1 echo "" goto "start" elif [ $selection = "5" ]; then echo "" echo "Disabling CPU mitiations increases performance but can possibly lead to" echo "security issues." echo "Use it with caution! 🛑" sudo garuda-boot-options >/dev/null 2>&1 echo "" goto "start" elif [ $selection = "6" ]; then echo "" sudo pacman -Syu --noconfirm garuda-asian echo "" echo "Extra fonts should be installed now." goto "start" elif [ $selection = "7" ]; then echo "" sudo pacman -R pamac-aur pamac-tray-appindicator sudo pacman -Syu --noconfirm snapd snapd-glib apparmor flatpak pamac-all appimagelauncher echo "" echo "Snap & Flatpak support should now be enabled." goto "start" elif [ $selection = "8" ]; then echo "" sudo pacman -Syu --noconfirm gamemode lib32-gamemode lutris garuda-wine steam steam-native-runtime mangohud lib32-mangohud proton-tkg-git dxvk-mingw-git systemctl --user enable --now gamemoded echo "" echo "All gaming apps should now be installed. 🕹" goto "start" elif [ $selection = "9" ]; then echo "" upgrade2ultimate echo "" goto "start" elif [ $selection = "10" ]; then exit else echo "Thats not a valid choice! ❌" goto "start" fi