Last active
February 26, 2025 16:21
-
-
Save manix84/f18051c1af3730661c53c1e901d05479 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package_installer() { | |
| local package_manager="" | |
| if command -v apt >/dev/null 2>&1; then | |
| package_manager="apt" | |
| elif command -v yum >/dev/null 2>&1; then | |
| package_manager="yum" | |
| elif command -v dnf >/dev/null 2>&1; then | |
| package_manager="dnf" | |
| elif command -v zypper >/dev/null 2>&1; then | |
| package_manager="zypper" | |
| elif command -v pacman >/dev/null 2>&1; then | |
| package_manager="pacman" | |
| elif command -v brew >/dev/null 2>&1; then | |
| package_manager="brew" | |
| elif command -v apk >/dev/null 2>&1; then | |
| package_manager="apk" | |
| else | |
| echo "Error: No supported package manager found!" >&2 | |
| return 1 | |
| fi | |
| echo "Using $package_manager to install: $@" | |
| case "$package_manager" in | |
| apt) | |
| sudo apt update && sudo apt install -y "$@" | |
| ;; | |
| yum) | |
| sudo yum install -y "$@" | |
| ;; | |
| dnf) | |
| sudo dnf install -y "$@" | |
| ;; | |
| zypper) | |
| sudo zypper install -y "$@" | |
| ;; | |
| pacman) | |
| sudo pacman -Sy --noconfirm "$@" | |
| ;; | |
| brew) | |
| brew install "$@" | |
| ;; | |
| apk) | |
| sudo apk add "$@" | |
| ;; | |
| *) | |
| echo "Error: Unsupported package manager: $package_manager" >&2 | |
| return 1 | |
| ;; | |
| esac | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| usage_example() { | |
| ### Single package | |
| package_installer zsh | |
| ### Multiple packages | |
| package_installer zsh git unqip fastfetch | |
| } | |
| usage_example |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment