53 lines
1.3 KiB
Bash
Executable File
53 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Read the dist/packages.txt and install packages using pacman
|
|
|
|
PACKAGES_FILE="dist/packages.txt"
|
|
|
|
if [ ! -f "$PACKAGES_FILE" ]; then
|
|
echo "Packages file not found: $PACKAGES_FILE"
|
|
exit 1
|
|
else
|
|
mapfile -t packages < "$PACKAGES_FILE"
|
|
pacman -Syu --noconfirm "${packages[@]}"
|
|
fi
|
|
|
|
|
|
ARCH_PACKAGE_FILE="dist/arch/packages.txt"
|
|
|
|
if [ ! -f "$ARCH_PACKAGE_FILE" ]; then
|
|
echo "Arch-specific packages file not found: $ARCH_PACKAGE_FILE"
|
|
exit 1
|
|
else
|
|
mapfile -t arch_packages < "$ARCH_PACKAGE_FILE"
|
|
pacman -Syu --noconfirm "${arch_packages[@]}"
|
|
fi
|
|
|
|
if command -v paru &> /dev/null; then
|
|
echo "paru is already installed. Reinstalling..."
|
|
else
|
|
git clone https://aur.archlinux.org/paru.git
|
|
cd paru
|
|
|
|
# Check if $USER is root and if so add a temporary non-root user for building paru
|
|
if [ "$EUID" -eq 0 ]; then
|
|
echo "Building paru as root is not allowed. Creating a temporary user for building..."
|
|
TEMP_USER="tempuser"
|
|
useradd -m "$TEMP_USER"
|
|
chown -R "$TEMP_USER":"$TEMP_USER" .
|
|
login $TEMP_USER
|
|
echo "Building paru as user $TEMP_USER..."
|
|
makepkg -si --noconfirm
|
|
logout
|
|
userdel -r "$TEMP_USER"
|
|
else
|
|
echo "Building paru as user $USER..."
|
|
makepkg -si --noconfirm
|
|
fi
|
|
|
|
cd ..
|
|
rm -rf paru
|
|
fi
|
|
|
|
|