56 lines
904 B
Plaintext
56 lines
904 B
Plaintext
|
#!/bin/zsh
|
||
|
|
||
|
dry="0"
|
||
|
|
||
|
execute() {
|
||
|
log "execute $@"
|
||
|
if [[ $dry != "1" ]]; then
|
||
|
"$@"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
log() {
|
||
|
if [[ $dry != "1" ]]; then
|
||
|
echo "$@"
|
||
|
else
|
||
|
echo "[DRY RUN]: $@"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
while [[ $# > 0 ]]; do
|
||
|
if [[ $1 == "--dry" ]]; then
|
||
|
dry="1"
|
||
|
fi
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
log "---------------- dotfiles ----------------"
|
||
|
|
||
|
copy_dir() {
|
||
|
from=$1
|
||
|
to=$2
|
||
|
pushd $from > /dev/null
|
||
|
dirs=(`find . -mindepth 1 -maxdepth 1 -type d`)
|
||
|
echo $dirs
|
||
|
for dir in $dirs; do
|
||
|
if [[ -d $to/$dir ]]; then
|
||
|
execute rm -rf $to/$dir
|
||
|
fi
|
||
|
execute cp -rp $dir $to/$dir
|
||
|
done
|
||
|
popd > /dev/null
|
||
|
}
|
||
|
|
||
|
copy_file() {
|
||
|
from=$1
|
||
|
to=$2
|
||
|
filename=$(basename $from)
|
||
|
if [[ -e $to/$filename ]]; then
|
||
|
execute rm $to/$filename
|
||
|
fi
|
||
|
execute cp -p $from $to/$filename
|
||
|
}
|
||
|
|
||
|
copy_dir .config $HOME/.config
|
||
|
# copy_file .zxcv $HOME
|