|
|
@@ -4,7 +4,7 @@ set -e |
|
|
|
# setup.sh --- 10sr setup script |
|
|
|
# 2014, 10sr. Unlicensed <http://unlicense.org> |
|
|
|
|
|
|
|
__setups="shrc_common gitconf tmux scripts darwin dirs selfupdate windirs" |
|
|
|
__setups="shrc_common gitconf tmux scripts darwin dirs selfupdate windirs dotfiles" |
|
|
|
|
|
|
|
__homelocal="$HOME/.local" |
|
|
|
__homevar="$HOME/.var" |
|
|
@@ -12,6 +12,26 @@ __dotfiles_dir_default="$HOME/10sr_dotfiles" |
|
|
|
|
|
|
|
# TODO: how to give args to command? |
|
|
|
|
|
|
|
|
|
|
|
################################################################# |
|
|
|
|
|
|
|
_dotfiles_url_base=https://raw.githubusercontent.com/10sr/dotfiles/master/ |
|
|
|
|
|
|
|
if test -z "$DOTFILES_DIR" |
|
|
|
then |
|
|
|
DOTFILES_DIR="$__dotfiles_dir_default" |
|
|
|
fi |
|
|
|
|
|
|
|
ismsys= |
|
|
|
iscygwin= |
|
|
|
iswindows= |
|
|
|
|
|
|
|
isdarwin= |
|
|
|
isfreebsd= |
|
|
|
isbsd= |
|
|
|
|
|
|
|
islinux= |
|
|
|
|
|
|
|
########################### |
|
|
|
# utils |
|
|
|
|
|
|
@@ -26,8 +46,6 @@ _download(){ |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
################################## |
|
|
|
# Detect systems |
|
|
|
|
|
|
|
detect_systems(){ |
|
|
@@ -56,27 +74,43 @@ detect_systems(){ |
|
|
|
return 0 |
|
|
|
} |
|
|
|
|
|
|
|
############################### |
|
|
|
# selfupdate |
|
|
|
################################ |
|
|
|
# setups |
|
|
|
|
|
|
|
__setup_url="https://raw.github.com/10sr/dotfiles/master/setup.sh" |
|
|
|
|
|
|
|
if test -z "$DOTFILES_DIR" |
|
|
|
then |
|
|
|
DOTFILES_DIR="$__dotfiles_dir_default" |
|
|
|
fi |
|
|
|
############################### |
|
|
|
# setup selfupdate |
|
|
|
|
|
|
|
setup_selfupdate(){ |
|
|
|
mkdir -p "$DOTFILES_DIR" |
|
|
|
_download $__setup_url "$DOTFILES_DIR/"setup.sh |
|
|
|
_download $_dotfiles_url_base/setup.sh "$DOTFILES_DIR/"setup.sh |
|
|
|
chmod +x "$DOTFILES_DIR"/setup.sh |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
################################## |
|
|
|
# setup dotfiles |
|
|
|
|
|
|
|
################################ |
|
|
|
# setups |
|
|
|
|
|
|
|
setup_dotfiles(){ |
|
|
|
mkdir -p "$DOTFILES_DIR" |
|
|
|
if test "$1" = "--git" |
|
|
|
then |
|
|
|
# git clone |
|
|
|
if test -d "$DOTFILES_DIR"/.git |
|
|
|
then |
|
|
|
echo "Git repository $DOTFILES_DIR already exists" |
|
|
|
echo "Skipping" |
|
|
|
else |
|
|
|
git clone git@github.com:10sr/dotfiles.git "$DOTFILES_DIR" |
|
|
|
fi |
|
|
|
else |
|
|
|
for f in $@ |
|
|
|
do |
|
|
|
mkdir -p "`dirname $f`" |
|
|
|
_download $_dotfiles_url_base/$f "$DOTFILES_DIR"/$f |
|
|
|
done |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
############################# |
|
|
|
# setup shrc_common |
|
|
@@ -315,36 +349,17 @@ main(){ |
|
|
|
|
|
|
|
if test -z "$1" |
|
|
|
then |
|
|
|
echo "Usage: ./setup.sh <setups> ..." |
|
|
|
echo "setups: all $__setups" |
|
|
|
echo "Usage: ./setup.sh <cmd> ..." |
|
|
|
echo "Available cmds are: $__setups" |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
while test -n "$1" |
|
|
|
do |
|
|
|
|
|
|
|
if test "$1" = all |
|
|
|
then |
|
|
|
for c in $__setups |
|
|
|
do |
|
|
|
set -x |
|
|
|
setup_$c |
|
|
|
set +x |
|
|
|
done |
|
|
|
fi |
|
|
|
|
|
|
|
for c in $__setups |
|
|
|
do |
|
|
|
if test "$1" = "$c" |
|
|
|
then |
|
|
|
set -x |
|
|
|
setup_$c |
|
|
|
set +x |
|
|
|
fi |
|
|
|
done |
|
|
|
_cmd=$1 |
|
|
|
shift |
|
|
|
|
|
|
|
shift |
|
|
|
done |
|
|
|
set -x |
|
|
|
setup_$_cmd "$@" |
|
|
|
set +x |
|
|
|
} |
|
|
|
|
|
|
|
main "$@" |