Refactor a few things
This commit is contained in:
43
copy_configs
Executable file
43
copy_configs
Executable file
@ -0,0 +1,43 @@
|
||||
#!/bin/zsh
|
||||
|
||||
dry="0"
|
||||
|
||||
execute() {
|
||||
log "execute $@"
|
||||
[[ $dry != "1" ]] && "$@"
|
||||
}
|
||||
|
||||
log() {
|
||||
[[ $dry != "1" ]] && echo "$@" || echo "[DRY RUN]: $@"
|
||||
}
|
||||
|
||||
while [[ $# > 0 ]]; do
|
||||
[[ $1 == "--dry" ]] && dry="1"
|
||||
shift
|
||||
done
|
||||
|
||||
log "---------------- dotfiles ----------------"
|
||||
|
||||
copy_dir() {
|
||||
from=$1
|
||||
to=$2
|
||||
pushd $from > /dev/null
|
||||
dirs=(`find . -mindepth 1 -maxdepth 1 -type d`)
|
||||
for dir in $dirs; do
|
||||
[[ -d $to/$dir ]] && execute rm -rf $to/$dir
|
||||
execute cp -rp $dir $to/$dir
|
||||
done
|
||||
popd > /dev/null
|
||||
}
|
||||
|
||||
copy_file() {
|
||||
from=$1
|
||||
to=$2
|
||||
filename=$(basename $from)
|
||||
[[ -e $to/$filename ]] && execute rm $to/$filename
|
||||
execute cp -p $from $to/$filename
|
||||
}
|
||||
|
||||
copy_dir .config $HOME/.config
|
||||
copy_dir .local $HOME/.local
|
||||
# copy_file .zxcv $HOME
|
Reference in New Issue
Block a user