#!/bin/bash function goto { label=$1 cmd=$(sed -n "/^:[[:blank:]][[:blank:]]*${label}/{:a;n;p;ba};" $0 | grep -v ':$') eval "$cmd" exit } 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 & clear echo "Welcome to the initial setup assistant!" : start clear echo "What do you want to do?" echo "" echo "1) Get initial mirrorlist & download list of packages" echo "2) Update the system" echo "3) Enable systemwide adblocking / HiDPI mode" echo "4) Disable CPU migitations / change boot options" echo "" echo "Install additional (Ultimate) packages:" echo "5) Asian fonts packages" echo "6) Snap, Appimage & Flatpak support" echo "7) Gaming dependencies, Lutris & Steam" echo "8) PulseAudio, Alsa & Pipewire support" echo "9) Scanner, Printer & Samba support" echo "10) Office packages (Libreoffice, Onlyoffice, ...)" echo "11) Recommended desktop utilities (Telegram, Nextcloud, XDM, ...)" echo "12) Virtualisation software" echo "" echo "13) Exit" read selection if [ $selection = "1" ]; then clear echo "Select the right mirrors in Reflector Simple!" echo "If no mirrors were found select german servers. ☝🏻" reflector-simple >/dev/null 2>&1 sudo pacman -Syy goto "start" elif [ $selection = "2" ]; then clear sudo pacman -Syu goto "start" elif [ $selection = "3" ]; then clear echo "Find it in the settings tab. 🖥" garuda-welcome >/dev/null 2>&1 goto "start" elif [ $selection = "4" ]; then clear echo "Disabling CPU mitiations increases performance but can possibly lead to security issues." echo "Use it with caution! 🛑" sudo garuda-boot-options >/dev/null 2>&1 goto "start" elif [ $selection = "5" ]; then clear sudo pacman -Syu --noconfirm garuda-asian noto-fonts-extra goto "start" elif [ $selection = "6" ]; then clear sudo pacman -R pamac-aur pamac-tray-appindicator sudo pacman -Syu --noconfirm pamac-all appimagelauncher fwupd apparmor snapd snapd-glib flatpak sudo systemctl enable --now snapd goto "start" elif [ $selection = "7" ]; then : game-selection clear echo "Which of these do you need?" echo "" echo "1) WINE! (running Windoze apps) 🍷" echo "2) Game launchers (Lutris, Steam, etc..) ♟" echo "3) Utilities (Fancontrol, Mangohud, Gamemode, ..) 🔧" echo "4) Controller support 🎮" echo "5) I dont care, just install everything! 🤪" echo "" echo "6) Go back" read game if [ $game = "1" ]; then sudo pacman -S garuda-wine goto "game-selection" elif [ $game = "2" ]; then sudo pacman -S ialauncher-git steam steam-native-runtime lutris gamehub itch minigalaxy legendary goto "game-selection" elif [ $game = "3" ]; then sudo pacman -S openrgb-git piper fancontrol-gui-git corectrl gwe goverlay-git mangohud lib32-mangohud gamemode lib32-gamemode dxvk-mingw-git vkbasalt proton-tkg-git libretro vulkan-tools mesa-demos lib32-mesa-demos libdvdcss libva-utils vdpauinfo systemctl --user enable --now gamemoded 2>&1 & setup_dxvk install 2>&1 & goto "game-selection" elif [ $game = "4" ]; then sudo pacman -S antimicrox linuxconsole xboxdrv xpadneo-dkms-git steamos-xpad-dkms xow-git xbox-generic-controller game-devices-udev retroarch-autoconfig-udev-git goto "game-selection" elif [ $game = "5" ]; then sudo pacman -S garuda-gamer elif [ $game = "6" ]; then goto "start" else echo "Thats not a valid choice! ❌" goto "game-selection" fi goto "start" elif [ $selection = "8" ]; then clear sudo pacman -S --noconfirm --needed garuda-alsa garuda-pulse garuda-pipewire pulseaudio-ctl playerctl goto "start" elif [ $selection = "9" ]; then clear sudo pacman -S --noconfirm --needed garuda-settings-samba system-config-samba garuda-printer garuda-scanner goto "start" elif [ $selection = "10" ]; then : office-selection clear echo "Which of these do you need?" echo "Libreoffice is the recommended choice if you dont know any of these 🖨" echo "" echo "1) Libreoffice " echo "2) Onlyoffice" echo "3) WPS Office" echo "4) Free Office" echo "5) Yozo Office" read office if [ $office = "1" ]; then sudo pacman -S libreoffice-fresh libmythes goto "start" elif [ $office = "2" ]; then sudo pacman -S onlyoffice-bin goto "start" elif [ $office = "3" ]; then sudo pacman -S wps-office wps-office-mime ttf-wps-fonts goto "start" elif [ $office = "4" ]; then sudo pacman -S freeoffice goto "start" elif [ $office = "5" ]; then sudo pacman -S yozo-office yozo-office-fonts goto "start" else echo "Thats not a valid choice! ❌" goto "office-selection" fi elif [ $selection = "11" ]; then clear 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 goto "start" elif [ $selection = "12" ]; then : virt-selection clear echo "Are you rather a fan of virtualbox or virt-manager?" echo "" echo "1) Virtualbox all the way!" echo "2) Id rather choose Virt-manager." read virt if [ $virt = "1" ]; then sudo pacman -S garuda-virtualbox goto "start" elif [ $virt = "2" ]; then sudo pacman -S garuda-virt-manager goto "start" else echo "Thats not a valid choice! ❌" goto "virt-selection" fi elif [ $selection = "13" ]; then exit else echo "Thats not a valid choice! ❌" goto "start" fi