Add scripts to enable multilib and install yay

This commit adds two new scripts: `enable-multilib.sh` and `install-yay-arch.sh`. The `enable-multilib.sh` script enables multilib libraries by uncommenting the [multilib] section in `/etc/pacman.conf` and updating the system. The `install-yay-arch.sh` script installs yay, a package manager for Arch Linux, if it is not already installed. Both scripts include error handling and custom error messages.
This commit is contained in:
greg
2024-01-02 11:08:57 -08:00
parent 7167ace3f3
commit 64fcac7d85
2 changed files with 68 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
#!/bin/bash
# Exit if any command fails and treat unset variables as an error
set -eu
# Function to execute a command and print a custom error message if it fails
execute() {
echo "$2"
$1
}
# Ensure the script is being run with superuser privileges
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
# Function to enable multilib libraries
enable_multilib() {
# Uncomment the [multilib] section in /etc/pacman.conf
execute "sed -i '/\[multilib\]/,/Include/s/^#//g' /etc/pacman.conf" "Enabling multilib libraries..."
# Update the system
execute "pacman -Sy" "Updating the system..."
}
# Call the function to enable multilib libraries
enable_multilib

View File

@@ -0,0 +1,40 @@
#!/bin/bash
# Exit if any command fails and treat unset variables as an error
set -eu
# Function to execute a command and print a custom error message if it fails
execute() {
echo "$2"
$1
}
# Ensure the script is being run with superuser privileges
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
# Function to install yay
install_yay() {
# Check if yay is already installed
if ! command -v yay &> /dev/null; then
execute "git clone https://aur.archlinux.org/yay.git" "Cloning yay repository..."
cd yay
execute "makepkg -si --noconfirm" "Building and installing yay..."
cd ..
execute "rm -rf yay" "Cleaning up..."
else
echo "yay is already installed."
fi
# Validate installation
if command -v yay &> /dev/null; then
echo "yay is installed successfully."
else
echo "Failed to install yay."
fi
}
# Call the function to install yay
install_yay