added basic setup for arch and debian based systems

This commit is contained in:
2025-12-09 13:09:47 +01:00
parent 8ec17d322c
commit 304da61d31
6 changed files with 81 additions and 0 deletions

14
dist/apt.sh vendored Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
PACKEGES_FILE="dist/packages.txt"
if [ ! -f "$PACKEGES_FILE" ]; then
echo "Packages file not found: $PACKEGES_FILE"
exit 1
else
mapfile -t packages < "$PACKEGES_FILE"
sudo apt update
sudo apt install -y "${packages[@]}"
fi

2
dist/arch/packages.txt vendored Normal file
View File

@@ -0,0 +1,2 @@
git
base-devel

0
dist/arch/paru.txt vendored Normal file
View File

0
dist/packages.txt vendored Normal file
View File

35
dist/pacman.sh vendored Executable file
View File

@@ -0,0 +1,35 @@
#!/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
makepkg -si --noconfirm
cd ..
rm -rf paru
fi

30
setup.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# Detect the distribution and run the appropriate package installation script either for pacman or apt
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO=$ID
else
echo "Cannot detect the distribution."
exit 1
fi
case "$DISTRO" in
arch|manjaro)
echo "Detected Arch-based distribution. Running pacman setup..."
bash dist/pacman.sh
;;
ubuntu|debian)
echo "Detected Debian-based distribution. Running apt setup..."
bash dist/apt.sh
;;
*)
echo "Unsupported distribution: $DISTRO"
exit 1
;;
esac
echo "Setup completed."