Commit e18177cb30a08495f08990e0fe47ea13e443b0f5

Authored by mj
1 parent b8914f261a
Exists in master and in 2 other branches 02-merge, dev

ADD FILE: sys_base_install.sh

Showing 1 changed file with 85 additions and 0 deletions Side-by-side Diff

tools/sys_base_install.sh
... ... @@ -0,0 +1,85 @@
  1 +#!/usr/bin/env bash
  2 +
  3 +# ** Helper Functions **
  4 +# ----------------------
  5 +
  6 +GJ_DEVENV="local_aptproxy"
  7 +GJ_SHELL="bash"
  8 +
  9 +function set_apt_proxy {
  10 + if [ "$GJ_DEVENV" == "local_aptproxy" ]; then
  11 + echo "Setting apt-proxy: srvths"
  12 + printf 'Acquire::http { Proxy "http://192.168.188.110:3142"; };\nAcquire::https { Proxy "https://"; };\n' > /etc/apt/apt.conf.d/02proxy
  13 + elif [ "$GJ_DEVENV" == "hetzner_server" ]; then
  14 + echo "Setting apt-mirror: hetzner mirror"
  15 + echo 'deb ftp://mirror.hetzner.de/debian/packages wheezy main contrib non-free' > /etc/apt/sources.list.d/hetzner.list
  16 + echo 'deb ftp://mirror.hetzner.de/debian/security wheezy/updates main contrib non-free' >> /etc/apt/sources.list.d/hetzner.list
  17 + fi
  18 +}
  19 +
  20 +function get_shell_config {
  21 + apt-get -yq install curl git nano zsh
  22 + mkdir "~/.config"
  23 + echo "cloning zsh config.."
  24 + hash git >/dev/null 2>&1 && env git clone --depth=1 http://git.str8.biz/mj/zsh-config.git $ZCNF ||
  25 +}
  26 +
  27 +set_apt_proxy
  28 +
  29 +set -e
  30 +
  31 +if [ ! -n "$ZCNF" ]; then
  32 + ZCNF=~/.config/zsh-config
  33 +fi
  34 +
  35 +if [ ! -n "$ZSH" ]; then
  36 + ZSH=$ZCNF/tools/oh-my-zsh
  37 +fi
  38 +
  39 +export DEBIAN_FRONTEND=noninteractive
  40 +
  41 +apt-get update
  42 +
  43 +if [ "$GJ_SHELL" != "zsh" ]; then
  44 + get_shell_config
  45 + src
  46 +fi
  47 +
  48 +apt-get -yq upgrade && apt-get -yq dist-upgrade
  49 +apt-get -yq autoremove && apt-get -yq clean
  50 +
  51 +
  52 +echo "\033[0;34mLooking for an existing zsh config...\033[0m"
  53 +if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then
  54 + echo "\033[0;33mFound ~/.zshrc.\033[0m \033[0;32mBacking up to ~/.zshrc.pre-zsh-cnf\033[0m";
  55 + mv ~/.zshrc ~/.zshrc.pre-zsh-cnf;
  56 +fi
  57 +
  58 +echo "\033[0;34mUsing the Zsh Config template file and adding it to ~/.zshrc\033[0m"
  59 +ln -s $ZCNF/templates/zshrc ~/.zshrc
  60 +ln -s $ZCNF/templates/bash_aliases ~/.bash_aliases
  61 +sed -i -e "/^export ZSH=/ c\\
  62 +export ZSH=$ZSH
  63 +" ~/.zshrc
  64 +
  65 +echo "\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\033[0m"
  66 +sed -i -e "/export PATH=/ c\\
  67 +export PATH=\"$PATH\"
  68 +" ~/.zshrc
  69 +
  70 +if [ "$SHELL" != "$(which zsh)" ]; then
  71 + echo "\033[0;34mTime to change your default shell to zsh!\033[0m"
  72 + chsh -s `which zsh`
  73 +fi
  74 +
  75 +echo "\033[0;32m"' __ __ '"\033[0m"
  76 +echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m"
  77 +echo "\033[0;32m"' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ '"\033[0m"
  78 +echo "\033[0;32m"'/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / '"\033[0m"
  79 +echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m"
  80 +echo "\033[0;32m"' /____/ ....is now installed!'"\033[0m"
  81 +echo "\n\n \033[0;32mPlease look over the ~/.zshrc file to select plugins, themes, and options.\033[0m"
  82 +echo "\n\n \033[0;32mp.s. Follow us at http://twitter.com/ohmyzsh.\033[0m"
  83 +echo "\n\n \033[0;32mp.p.s. Get stickers and t-shirts at http://shop.planetargon.com.\033[0m"
  84 +env zsh
  85 +. ~/.zshrc