From 9b1bed08105024f2b67ac2d7fdf163c0588eb424 Mon Sep 17 00:00:00 2001 From: David Tomaschik Date: Tue, 22 Sep 2015 16:37:32 -0700 Subject: [PATCH] Add support for package installation. --- install.sh | 26 ++++++++++++++++++++++++++ packages | 9 +++++++++ 2 files changed, 35 insertions(+) create mode 100644 packages diff --git a/install.sh b/install.sh index fc567a6..0907341 100755 --- a/install.sh +++ b/install.sh @@ -6,6 +6,7 @@ set errexit BASEDIR=${BASEDIR:-$HOME/.skel} MINIMAL=${MINIMAL:-0} INSTALL_KEYS=${INSTALL_KEYS:-1} +INSTALL_PKGS=${INSTALL_PKGS:-$((1 - ${MINIMAL}))} if [ ! -d $BASEDIR ] ; then echo "Please install to $BASEDIR!" 1>&2 @@ -135,8 +136,33 @@ function install_keys { install_known_hosts } +function is_deb_system { + test -f /usr/bin/apt-get +} + +function run_as_root { + # Attempt to run as root + if [ ${USER} == "root" ] ; then + "$@" + return $? + elif groups | grep -q '\bsudo\b' ; then + echo "Using sudo to run ${1}..." >&2 + sudo "$@" + return $? + fi + return 1 +} + +function install_apt_pkgs { + run_as_root apt-get update || \ + echo "Can't run apt-get commands" >&2 && \ + return 1 + run_as_root apt-get -y install `cat ${BASEDIR}/packages` +} + (( $MINIMAL )) || prerequisites +(( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs install_dotfile_dir "${BASEDIR}/dotfiles" test -d "${BASEDIR}/private_dotfiles" && \ install_dotfile_dir "${BASEDIR}/private_dotfiles" diff --git a/packages b/packages new file mode 100644 index 0000000..04b2f76 --- /dev/null +++ b/packages @@ -0,0 +1,9 @@ +git +vim +nmap +whois +dig +ack-grep +tmux +gnupg2 +gnupg-agent