#!/bin/zsh find_scripts_in_dir() { echo $(find $1 -maxdepth 1 -mindepth 1 -type f | sort) } install_scripts_from_list() { for script in $@; do if [[ -x $script ]]; then echo "executing: $script" ./$script fi done } system_types_list="base" scripts_from_dir=($(find_scripts_in_dir "./installs_and_builds")) [[ $1 = "personal" ]] && { system_types_list+=", personal" scripts_from_dir+=($(find_scripts_in_dir "./installs_and_builds/personal")) } [[ $1 = "studio-music" ]] && { system_types_list+=", studio-music" scripts_from_dir+=($(find_scripts_in_dir "./installs_and_builds/studio_music")) } [[ $1 = "work-placeholder" ]] && { system_types_list+=", work-placeholder" scripts_from_dir+=($(find_scripts_in_dir "./installs_and_builds/work_placeholder")) } echo "---- installing programs ---------------------------------------------" echo "-------- for system types: $system_types_list" install_scripts_from_list "${scripts_from_dir[@]}"