[WIP] Add install and uninstall scripts

This commit is contained in:
Sorin Ionescu 2014-01-13 22:05:23 -05:00
parent 2ebdbdcff5
commit d541eef923
3 changed files with 155 additions and 0 deletions

57
tools/go.sh Normal file
View File

@ -0,0 +1,57 @@
#!/bin/sh
clear
echo ""
hash zsh 2>/dev/null || {
echo "\033[0;31mFailed : ZSH is missing\033[0m"
echo " ➥ Prezto does not work without ZSH. Install it first."
echo ""
exit
}
if [ -d ~/.zprezto ]
then
echo "\033[0;33mYou already have prezto installed.\033[0m Upgrading..."
cd ~/.zprezto
# git pull && git submodule update --init --recursive
/usr/bin/env git add .
/usr/bin/env git commit --all --message "Commit changes before upgrade" --quiet
/usr/bin/env git pull --recurse-submodules
/usr/bin/env git submodule update
exit
fi
echo "\033[0;34mCloning prezto...\033[0m"
hash git >/dev/null && /usr/bin/env git clone --recursive https://github.com/loranger/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" >/dev/null 2>&1 || {
echo "\033[0;31mFailed : Git is not installed\033[0m"
os=`uname`
if [ "$os" == 'Linux' ]; then
url='http://git-scm.com/download/linux'
elif [ "$os" == 'Darwin' ]; then
url='http://brew.sh/'
else
url='http://git-scm.com/'
fi
echo " ➥ You should really take a look at $url"
exit
}
for file in $HOME/.zprezto/runcoms/z*
do
rcfile=`basename $file`
if [ -f $HOME/.$rcfile ] || [ -h $HOME/.$rcfile ]
then
echo "\033[0;33mFound ~/.$rcfile file.\033[0m \033[0;32mMoved to ~/.$rcfile.old\033[0m";
mv $HOME/.$rcfile $HOME/.$rcfile.old;
fi
ln -s $file $HOME/.$rcfile
done
echo "\033[0;32mPrezto is ready\033[0m"
echo "\033[0;34mNow set zsh as your default shell by typing :\033[0m"
echo "chsh -s $(which zsh)"
echo "\033[0;34mand start a new term.\033[0m"
# https://raw2.github.com/loranger/prezto/master/go.sh

97
tools/install.zsh Executable file
View File

@ -0,0 +1,97 @@
#!/bin/zsh
script_name="${0:t}"
script_version='1.0.0'
cached_argv="${argv}"
backup_dir="$HOME/.prezto-backup/$(date +'%Y-%m-%d-%H-%M-%S')"
# Writes to standard error.
function print-error {
print "${script_name}: ${@}" >&2
}
# Writes to standard output.
function print-info {
print "${@}" >&1
}
# Writes version information to standard errror.
function version {
print "${script_name} ${script_version}
Copyright (c) 2013 Sorin Ionescu
This program is free software. You may modify or distribute it
under the terms of the MIT License." >&2
}
# Writes help to standard error.
function help {
print "Usage: ${script_name} [option ...] archive [directory]
Options:
-v, --version Display version and copyright
-h, --help Display this help
Report bugs to <sorin.ionescu@gmail.com>." >&2
}
# Backs up existing files.
function backup {
local from="$1"
local to="$2"
if [[ ! -e "$from" ]]; then
return
fi
mkdir -p "$to:h"
mv "$from" "$to"
}
# Parse switches.
while [[ "${1}" == -* ]]; do
case "${1}" in
( -v | --version )
version
exit 0
;;
( -h | --help )
help
exit 0
;;
( -- )
shift
break
;;
( -* )
print-error "invalid option: ${1}"
help
exit 0
;;
esac
done
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
chsh -s /bin/zsh
is-true "$use_color" && printf "$FG[green]"
printf '%s' \
'________ _____
___ __ \___________________ /______
__ /_/ /_ ___/ _ \__ /_ __/ __ \
_ ____/_ / / __/_ /_/ /_ / /_/ /
/_/ /_/ \___/_____/\__/ \____/
'
is-true "$use_color" && printf "$FG[cyan]"
print
print 'Prezto has been updated to the latest version.'
print 'Follow me on GitHub at https://github.com/sorin-ionescu/prezto.'
exec zsh

1
tools/uninstall.zsh Executable file
View File

@ -0,0 +1 @@
#!/bin/zsh