Commit e18177cb30a08495f08990e0fe47ea13e443b0f5
1 parent
b8914f261a
Exists in
master
and in
2 other branches
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 |