171 lines
6.2 KiB
Bash
Executable file
171 lines
6.2 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
|
|
elif [ $virt = "2" ]; then
|
|
echo "sudo pacman -Syu garuda-virt-manager" >> /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
|