2019-05-12 09:47:42 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
function find_package_manager() {
|
|
|
|
hash pacman && echo pacman && return 0
|
|
|
|
hash apt-get && echo apt-get && return 0
|
|
|
|
hash apk && echo apk && return 0
|
|
|
|
return 1
|
|
|
|
}
|
|
|
|
|
|
|
|
function install_package() {
|
|
|
|
package_manager=$(find_package_manager)
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
|
|
echo -e "\033[38;5;1mCould not find package manager" >&2
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
case package_manager in
|
|
|
|
pacman)
|
|
|
|
sudo pacman -S $*
|
|
|
|
;;
|
|
|
|
apt-get)
|
|
|
|
sudo apt-get install $*
|
|
|
|
;;
|
|
|
|
apk)
|
|
|
|
sudo apk add $*
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
}
|
|
|
|
|
|
|
|
function check_and_install() {
|
|
|
|
if hash $1 &> /dev/null; then
|
|
|
|
echo -e "\033[38;5;2m$1 is already installed."
|
|
|
|
else
|
|
|
|
echo -e "\033[38;5;2mInstalling $1."
|
|
|
|
if install_package $1; then
|
|
|
|
echo -e "\033[38;5;2m$1 installed."
|
|
|
|
else
|
|
|
|
echo -e "\033[38;5;1mInstalling $1 failed." >&2
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2019-05-12 10:33:33 +02:00
|
|
|
function stow_cfg() {
|
|
|
|
echo -e "\033[38;5;2mStowing $1"
|
|
|
|
stow $1
|
|
|
|
}
|
|
|
|
|
2019-05-12 09:47:42 +02:00
|
|
|
package_manager=$(find_package_manager)
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
|
|
echo -e "\033[38;5;1mCould not find package manager" >&2
|
|
|
|
else
|
|
|
|
echo -e "\033[38;5;2mPackage manager: $package_manager"
|
|
|
|
fi
|
|
|
|
|
2019-05-12 10:33:33 +02:00
|
|
|
bd=$(dirname $0)
|
|
|
|
cd "$bd"
|
|
|
|
echo -e "\033[38;5;2mBase Directory: $(pwd)\n"
|
|
|
|
echo -e "\033[38;5;2mInstalling packages\n"
|
2019-05-12 09:47:42 +02:00
|
|
|
|
|
|
|
check_and_install stow
|
|
|
|
check_and_install bash
|
|
|
|
check_and_install tmux
|
|
|
|
check_and_install vim
|
2019-05-12 10:33:33 +02:00
|
|
|
check_and_install curl
|
|
|
|
|
|
|
|
echo -e "\n\033[38;5;2mStowing config\n"
|
|
|
|
|
|
|
|
stow_cfg bash
|