56 lines
1.2 KiB
Bash
Executable file
56 lines
1.2 KiB
Bash
Executable file
#!/usr/bin/env zsh
|
|
|
|
set -e
|
|
|
|
indent() { sed 's/^/ /'; }
|
|
up-to-date() {
|
|
LOCAL=$(git rev-parse @)
|
|
REMOTE=$(git rev-parse @{u})
|
|
[[ "$LOCAL" == "$REMOTE" ]]
|
|
}
|
|
|
|
(( $+commands[brew] )) && {
|
|
echo "Updating homebrew"
|
|
{ brew update && brew upgrade --all; } | indent
|
|
}
|
|
|
|
[[ -f "$HOME/.emacs.d/Makefile" ]] && {
|
|
echo -n "Updating emacs"
|
|
cd "$HOME/.emacs.d" && make update | indent
|
|
}
|
|
|
|
local env=(rb py)
|
|
for i in $env
|
|
do
|
|
[[ -d "$HOME/.${i}env" ]] && {
|
|
echo "Updating ${i}env"
|
|
{
|
|
if ! up-to-date; then
|
|
echo "UPDATING"
|
|
git pull > /dev/null
|
|
fi
|
|
|
|
{
|
|
for plugin in "$HOME"/.${i}env/plugins/*
|
|
do
|
|
cd "$plugin"
|
|
if ! up-to-date; then
|
|
echo "+ UPDATING `basename ${plugin}`"
|
|
git pull > /dev/null
|
|
fi
|
|
done
|
|
} 2&>1 | indent
|
|
} 2&>1 | indent
|
|
}
|
|
done
|
|
|
|
[[ -d ~/.zsh/zgen ]] && {
|
|
echo "Updating zgen"
|
|
{
|
|
source "$HOME/.zsh/zgen/zgen.zsh"
|
|
zgen selfupdate
|
|
zgen update
|
|
} 2&>1 | indent
|
|
}
|
|
|