From 0e9f9cf4183508c9eaaa0b7ce877352f580f8557 Mon Sep 17 00:00:00 2001 From: "Zechert, Frank (EXTERN: Capgemini)" Date: Tue, 19 May 2026 11:19:06 +0200 Subject: [PATCH] make install.sh script compatible for running on non-arch systems --- install.sh | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/install.sh b/install.sh index cc18f85..75fd2ed 100755 --- a/install.sh +++ b/install.sh @@ -1,16 +1,19 @@ #!/bin/bash -packagefile="packages.txt" +PACKAGEFILE="packages.txt" # Ensure we are in the correct directory pushd "$(dirname "$(realpath "$0")")" &> /dev/null +# Check if commands are available +command -v yay &> /dev/null && CMD_YAY=true || CMD_YAY=false + # Read packages.txt and install packages on system using yay function install_packages { local install - for pkg in $(sed -E -e 's/\s*#.*$//g' -e 's/^\s+//g' "$packagefile" | sed -E ':a;N;$!ba;s/\s+/\n/g'); do + for pkg in $(sed -E -e 's/\s*#.*$//g' -e 's/^\s+//g' "$PACKAGEFILE" | sed -E ':a;N;$!ba;s/\s+/\n/g'); do # check if package is installed local installed - yay -Q "$(echo "$pkg")" &> /dev/null && installed=1 || installed=0 + $CMD_YAY && yay -Q "$(echo "$pkg")" &> /dev/null && installed=1 || installed=0 if [ $installed -eq 0 ]; then # needs to be installed install="$install"$'\n'"$pkg" @@ -18,9 +21,19 @@ function install_packages { done [ -z "$install" ] || { - echo "Packages to be installed: " - echo "$install" - yay -S $install + if $CMD_YAY; then + echo "Packages to be installed: " + echo "$install" + yay -S $install + else + echo "Yay package manager is not available" + echo "Please make sure that the following tools" + echo "are available in your system" + echo "" + echo "$install" + echo "" + read -p "Press Enter to continue" < /dev/tty + fi } } @@ -33,7 +46,7 @@ function install_treesitter_language { local directory=$(basename "$repository") # Clone the repository or update it - if [ ! -d "tree-sitter-source" ]; then + if [ ! -d "tree-sitter-source" ]; then mkdir tree-sitter-source fi @@ -56,7 +69,7 @@ function install_treesitter_language { pushd "tree-sitter-source/$directory" &> /dev/null tree-sitter build popd &> /dev/null - + # Copy parser if [ ! -d "parser" ]; then mkdir "parser"