From e18177cb30a08495f08990e0fe47ea13e443b0f5 Mon Sep 17 00:00:00 2001 From: mj Date: Mon, 16 Feb 2015 08:09:23 +0100 Subject: [PATCH] ADD FILE: sys_base_install.sh --- tools/sys_base_install.sh | 85 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100755 tools/sys_base_install.sh diff --git a/tools/sys_base_install.sh b/tools/sys_base_install.sh new file mode 100755 index 0000000..33efb6a --- /dev/null +++ b/tools/sys_base_install.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash + +# ** Helper Functions ** +# ---------------------- + +GJ_DEVENV="local_aptproxy" +GJ_SHELL="bash" + +function set_apt_proxy { + if [ "$GJ_DEVENV" == "local_aptproxy" ]; then + echo "Setting apt-proxy: srvths" + printf 'Acquire::http { Proxy "http://192.168.188.110:3142"; };\nAcquire::https { Proxy "https://"; };\n' > /etc/apt/apt.conf.d/02proxy + elif [ "$GJ_DEVENV" == "hetzner_server" ]; then + echo "Setting apt-mirror: hetzner mirror" + echo 'deb ftp://mirror.hetzner.de/debian/packages wheezy main contrib non-free' > /etc/apt/sources.list.d/hetzner.list + echo 'deb ftp://mirror.hetzner.de/debian/security wheezy/updates main contrib non-free' >> /etc/apt/sources.list.d/hetzner.list + fi +} + +function get_shell_config { + apt-get -yq install curl git nano zsh + mkdir "~/.config" + echo "cloning zsh config.." + hash git >/dev/null 2>&1 && env git clone --depth=1 http://git.str8.biz/mj/zsh-config.git $ZCNF || +} + +set_apt_proxy + +set -e + +if [ ! -n "$ZCNF" ]; then + ZCNF=~/.config/zsh-config +fi + +if [ ! -n "$ZSH" ]; then + ZSH=$ZCNF/tools/oh-my-zsh +fi + +export DEBIAN_FRONTEND=noninteractive + +apt-get update + +if [ "$GJ_SHELL" != "zsh" ]; then + get_shell_config + src +fi + +apt-get -yq upgrade && apt-get -yq dist-upgrade +apt-get -yq autoremove && apt-get -yq clean + + +echo "\033[0;34mLooking for an existing zsh config...\033[0m" +if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then + echo "\033[0;33mFound ~/.zshrc.\033[0m \033[0;32mBacking up to ~/.zshrc.pre-zsh-cnf\033[0m"; + mv ~/.zshrc ~/.zshrc.pre-zsh-cnf; +fi + +echo "\033[0;34mUsing the Zsh Config template file and adding it to ~/.zshrc\033[0m" +ln -s $ZCNF/templates/zshrc ~/.zshrc +ln -s $ZCNF/templates/bash_aliases ~/.bash_aliases +sed -i -e "/^export ZSH=/ c\\ +export ZSH=$ZSH +" ~/.zshrc + +echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m" +sed -i -e "/export PATH=/ c\\ +export PATH=\"$PATH\" +" ~/.zshrc + +if [ "$SHELL" != "$(which zsh)" ]; then + echo "\033[0;34mTime to change your default shell to zsh!\033[0m" + chsh -s `which zsh` +fi + +echo "\033[0;32m"' __ __ '"\033[0m" +echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m" +echo "\033[0;32m"' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '"\033[0m" +echo "\033[0;32m"'/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '"\033[0m" +echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m" +echo "\033[0;32m"' /____/ ....is now installed!'"\033[0m" +echo "\n\n \033[0;32mPlease look over the ~/.zshrc file to select plugins, themes, and options.\033[0m" +echo "\n\n \033[0;32mp.s. Follow us at http://twitter.com/ohmyzsh.\033[0m" +echo "\n\n \033[0;32mp.p.s. Get stickers and t-shirts at http://shop.planetargon.com.\033[0m" +env zsh +. ~/.zshrc -- 2.0.0