#!/bin/bash set -e # Run the "I'm too lazy to fix it myself all in one" script if [ "$1" == "remote" ]; then exec sudo bash -c "VERSION=2 . <(wget -qO- https://gitlab.com/garuda-linux/themes-and-settings/settings/garuda-common-settings/-/snippets/2147440/raw/main/remote-update) \"$2\"" fi # Check for AUR helper if [ -x /usr/bin/paru ] && [[ $EUID -ne 0 ]]; then upd_cmd="paru -Su" echo "Detected Paru, using it to update the system.." elif [ -x /usr/bin/yay ] && [[ $EUID -ne 0 ]]; then upd_cmd="yay -Su" echo "Detected Yay, using it to update the system.." else upd_cmd="sudo pacman -Su" if [[ $EUID -ne 0 ]]; then echo "No AUR helper installed, using Pacman to update.." else echo "Executed as root, using Pacman to update.." fi fi if [ -x /usr/bin/reflector ]; then # Refresh mirrorlist echo "Refreshing mirrorlists.." sudo reflector --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist || { echo -e "\033[1;31m\nFailed to update mirrorlist\n\033[0m"; } fi echo "" # Check for keyring update & update as needed echo "Checking for keyring update before starting full system update.." if pacman -Qq blackarch-keyring &> /dev/null; then sudo pacman -Sy archlinux-keyring blackarch-keyring chaotic-keyring --needed && $upd_cmd || false else sudo pacman -Sy archlinux-keyring chaotic-keyring --needed && $upd_cmd || false fi echo "" # Update pacman Files database echo "Checking pacman files database update.." sudo pacman -Fy echo "" echo "pacman files database updated!" echo "" # Update mlocate index if [ -x /usr/bin/locate ]; then echo "Updating mlocate index.." sudo updatedb fi echo "" # Update fish completions if [ -x /usr/bin/fish ]; then if [[ $EUID -ne 0 ]]; then fish -c fish_update_completions elif [ ! -z "$SUDO_UID" ]; then sudo -u \#$SUDO_UID fish -c fish_update_completions fi fi echo "" # Update micro plugins if [ -x /usr/bin/micro ]; then if [[ $EUID -ne 0 ]]; then micro -plugin update elif [ ! -z "$SUDO_UID" ]; then sudo -u \#$SUDO_UID micro -plugin update fi fi echo "" echo "System updated! 🐧"