47 lines
900 B
Bash
Executable file
47 lines
900 B
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; brew cleanup } | indent
|
|
}
|
|
|
|
[ -f "$HOME/.emacs.d/Makefile" ] && {
|
|
echo -n "Updating emacs"
|
|
cd "$HOME/.emacs.d" && make update | indent
|
|
}
|
|
|
|
[ -d ~/.zsh/zgen ] && {
|
|
echo "Updating zgen"
|
|
{
|
|
source "$HOME/.zgen/zgen.zsh"
|
|
zgen selfupdate
|
|
zgen update
|
|
} 2>&1 | indent
|
|
}
|
|
|
|
local env=(rb py)
|
|
for i in $env
|
|
do
|
|
[ -d "$HOME/.${i}env" ] && {
|
|
echo "Updating ${i}env"
|
|
{
|
|
for plugin in "$HOME"/.${i}env/plugins/*
|
|
do
|
|
cd "$plugin"
|
|
echo "+ `basename ${plugin}`"
|
|
git pull
|
|
done
|
|
} 2>&1 | indent
|
|
}
|
|
done
|
|
|