diff --git a/setup.sh b/setup.sh index 75dd597..7dfb8ca 100644 --- a/setup.sh +++ b/setup.sh @@ -1,8 +1,70 @@ -#!/bin/sh +#!/bin/bash + +function info () { + printf "\r [ \033[00;34m..\033[0m ] %s\n" "$1" +} +function user () { + printf "\r [ \033[0;33m??\033[0m ] %s " "$1" +} +function success () { + printf "\r\033[2K [ \033[00;32mOK\033[0m ] %s\n" "$1" +} +function warn () { + printf "\r\033[2K [\033[0;31mWARN\033[0m] %s\n" "$1" +} +function fail () { + printf "\r\033[2K [\033[0;31mFAIL\033[0m] %s\n" "$1" + echo '' + exit 1 +} + +function check_and_install_package () { + info "Checking for $1" + if dpkg -s "$1" > /dev/null 2>&1 ; then + success "$1 is already installed" + else + info "$1 not found, installing now" + if sudo apt-get install "$1" -y > /dev/null ; then + success "$1 successfully installed" + else + fail "$1 failed to install" + fi + fi +} + +function update_and_upgrade () { + # Updates & upgrades + info "Updating packages" + if sudo apt-get update -y > /dev/null ; then + success "Packages were updated" + else + fail "Packages were unable to be updated" + fi + + info "Upgrading packages" + if sudo apt-get dist-upgrade -y > /dev/null ; then + success "Packages were upgraded" + else + fail "Packages were unable to be upgraded" + fi +} + +function auto_remove () { + # Auto removes any unnecessary packages + info "Auto removing any unnecessary packages" + if sudo apt-get autoremove -y > /dev/null ; then + success "All unnecessary packages removed" + else + fail "Unable to remove unnecessary packages" + fi +} export DEBIAN_FRONTEND=noninteractive sudo ln -fs /usr/share/zoneinfo/Indian/Reunion /etc/localtime -sudo apt-get install -y tzdata + +update_and_upgrade +check_and_install_package "git" +check_and_install_package "tzdata" sudo dpkg-reconfigure --frontend noninteractive tzdata sudo apt-get update