refactor: add package installation function to streamline dependency checks
All checks were successful
Nix Format Check / check-format (pull_request) Successful in 37s
All checks were successful
Nix Format Check / check-format (pull_request) Successful in 37s
This commit is contained in:
parent
d92d0ed883
commit
4d57d69626
27
setup.sh
27
setup.sh
@ -365,6 +365,25 @@ check_command_availibility() {
|
||||
fi
|
||||
}
|
||||
|
||||
attempt_package_install() {
|
||||
local package="$1"
|
||||
local package_manager="$2"
|
||||
local install_command="$3"
|
||||
|
||||
if ! command -v "$package" >/dev/null 2>&1; then
|
||||
log_info "Installing $package using $package_manager..."
|
||||
if [ "$package_manager" = "dnf" ]; then
|
||||
sudo dnf install "$package" || die "Failed to install $package"
|
||||
elif [ "$package_manager" = "apt" ]; then
|
||||
sudo apt install "$package" || die "Failed to install $package"
|
||||
elif [ "$package_manager" = "pacman" ]; then
|
||||
sudo pacman -S "$package" || die "Failed to install $package"
|
||||
else
|
||||
die "Unsupported package manager: $package_manager"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Check compatibility checks for supported distros:
|
||||
# - Fedora
|
||||
# - Ubuntu
|
||||
@ -375,11 +394,9 @@ check_compatibility() {
|
||||
die "This script was designed to run using bash, please run using bash"
|
||||
fi
|
||||
|
||||
check_command_availibility "awk"
|
||||
check_command_availibility "tail"
|
||||
check_command_availibility "echo"
|
||||
check_command_availibility "git"
|
||||
check_command_availibility "sudo"
|
||||
attempt_package_install "awk"
|
||||
attempt_package_install "tail"
|
||||
attempt_package_install "git"
|
||||
|
||||
local distro
|
||||
distro=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
|
||||
|
Loading…
x
Reference in New Issue
Block a user