1
0
Fork 0
mirror of synced 2024-11-22 18:15:37 -05:00
garuda-common-settings/usr/bin/setup-assistant
2020-11-11 15:01:12 +01:00

175 lines
6.5 KiB
Bash
Executable file

#!/bin/bash
function goto
{
label=$1
cmd=$(sed -n "/^:[[:blank:]][[:blank:]]*${label}/{:a;n;p;ba};" $0 |
grep -v ':$')
eval "$cmd"
exit
}
function upgrade2ultimate
{
rm -rf /tmp/setup-assistant
mkdir -p /tmp/setup-assistant
clear
echo "We are going to ask you several questions so you can decide if you want a piece of software or not."
echo "Do you need asisan font support? (y,n)"
echo ""
read asian
if [ $asian = "y" ]; then
echo "sudo pacman -S garuda-asian" >> /tmp/setup-assistant/install-packages.sh
fi
clear
echo "What about Snaps, Flatpak & Appimage support? (y,n)"
echo "This enables you to use software not available in Chaotic-AUR."
echo "If an application is available already we advise to use the version in the repo."
read snap
if [ $snap = "y" ]; then
echo "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" >> /tmp/setup-assistant/install-packages.sh
echo "sudo systemctl enable --now snapd" >> /tmp/setup-assistant/install-packages.sh
fi
clear
echo "Do you need gaming applications installed? (y,n)"
echo "This will install the Garuda Gamer app in which every component needed to game can be enabled."
echo ""
read gaming
if [ $gaming = "y" ]; then
echo "sudo pacman -S garuda-gamer" >> /tmp/setup-assistant/install-packages.sh
fi
clear
echo "What about complete audio support? (y,n)"
echo "Saying yes will install PulseAudio, Alsa & Pipewire packages with its companion apps."
echo ""
read audio
if [ $audio = "y" ]; then
echo "sudo pacman -S garuda-alsa garuda-pulse garuda-pipewire pulseaudio-ctl playerctl" >> /tmp/setup-assistant/install-packages.sh
fi
clear
echo "Are you printing and scanning with this machine?"
echo "Also, do you need Samba support? (y,n)"
echo ""
read gaming
if [ $gaming = "y" ]; then
echo "sudo pacman -S garuda-settings-samba system-config-samba garuda-printer garuda-scanner" >> /tmp/setup-assistant/install-packages.sh
fi
clear
: office-selection
echo "Now you are free to choose your favorite office suite."
echo "There are quite a lot of them in our repo. A guideline for new users:"
echo "LibreOffice is the most used office application in the Linux world (if you need a complete suite)"
echo "If a simpler word processor is fine for you Abiword might also be a good choice."
echo ""
echo "1) LibreOffice"
echo "2) Onlyoffice"
echo "3) WPS Office"
echo "4) Free Office"
echo "5) Yozo Office"
echo "6) Calligra Office"
echo "7) Abiword"
read office
if [ $office = "1" ]; then
echo "sudo pacman -S libreoffice-fresh libmythes" >> /tmp/setup-assistant/install-packages.sh
elif [ $office = "2" ]; then
echo "sudo pacman -S onlyoffice-bin" >> /tmp/setup-assistant/install-packages.sh
elif [ $office = "3" ]; then
echo "sudo pacman -S wps-office wps-office-mime ttf-wps-fonts" >> /tmp/setup-assistant/install-packages.sh
elif [ $office = "4" ]; then
echo "sudo pacman -S freeoffice" >> /tmp/setup-assistant/install-packages.sh
elif [ $office = "5" ]; then
echo "sudo pacman -S yozo-office yozo-office-fonts" >> /tmp/setup-assistant/install-packages.sh
elif [ $office = "6" ]; then
echo "sudo pacman -S calligra" >> /tmp/setup-assistant/install-packages.sh
elif [ $office = "7" ]; then
echo "sudo pacman -S abiword" >> /tmp/setup-assistant/install-packages.sh
else echo "Thats not a valid choice! ❌"
goto "office-selection"
fi
clear
echo "This question is about general desktop applications."
echo "It contains apps such as Telegram, Nextcloud-client & Syncthing."
echo "Are these going to be installed? (y,n)"
read gaming
if [ $gaming = "y" ]; then
echo "sudo pacman -Syu --noconfirm --needed telegram-desktop joplin murmur mumble discord streamlink-twitch-gui syncthing-gtk nextcloud-client firefox-extension-bitwarden fractal firefox-extension-xdm-browser-monitor" >> /tmp/setup-assistant/install-packages.sh
fi
: 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
echo "sudo pacman -Syu garuda-virtualbox" >> /tmp/setup-assistant/install-packages.sh
echo "usermod -aG vboxusers $user" >> /tmp/setup-assistant/install-packages.sh
elif [ $virt = "2" ]; then
echo "sudo pacman -Syu garuda-virt-manager" >> /tmp/setup-assistant/install-packages.sh
echo "sudo systemctl enable --now libvirtd" >> /tmp/setup-assistant/install-packages.sh
echo "usermod -aG libvirt $user" >> /tmp/setup-assistant/install-packages.sh
echo "usermod -aG kvm $user" >> /tmp/setup-assistant/install-packages.sh
else echo "Thats not a valid choice! ❌"
goto "virt-selection"
fi
clear
sudo sh /tmp/setup-assistant/install-packages.sh
}
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 &
: 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 "5) Install additional (Ultimate) packages by choosing which ones you need"
echo ""
echo "6) 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
upgrade2ultimate
elif [ $selection = "6" ]; then
exit
else "Thats not a valid choice!"
goto "start"
fi