#!/bin/bash # Print the logo print_logo() { cat << "EOF" ███╗ ███╗██╗███╗ ██╗██╗ ████╗ ████║██║████╗ ██║██║ ██╔████╔██║██║██╔██╗ ██║██║ ██║╚██╔╝██║██║██║╚██╗██║██║ ██║ ╚═╝ ██║██║██║ ╚████║██║ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗ ██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗ ███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝ EOF } # Clear screen and show logo clear print_logo echo "Updating Arch..." sudo pacman -Syu echo "Updating AUR..." if ! yay -Sua 2>/dev/null; then echo "yay -Sua returned an error. Let's rebuild YAY." sudo pacman -R yay cd /tmp git clone https://aur.archlinux.org/yay.git cd yay makepkg -si cd .. rm -rf yay cd yay -Sua --noconfirm else yay -Sua --noconfirm fi # Updating the repo and installing... echo "Updating MiniServer..." REPO_DIR="$HOME/.local/share/MiniServer" echo "Pulling latest MiniServer repo..." git -C "$REPO_DIR" pull echo "Running install.sh..." bash "$REPO_DIR/install.sh" # Check whether the running kernel matches the installed modules — if not, a # newer kernel was installed during this run and a reboot is required if ! ls /usr/lib/modules/$(uname -r) > /dev/null 2>&1; then echo "A newer kernel has been installed, a reboot is recommended." read -rp "Reboot now? [y/N] " response case "$response" in [yY][eE][sS]|[yY]) echo "Rebooting..." sudo reboot ;; *) echo "Reboot skipped. Please remember to reboot when convenient." exit 0 ;; esac else echo "Kernel is up to date, no reboot needed. You may want to consider a reboot if other significant software was updated or installed." fi