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
 | 
						|
 |