box-setup/copy_configs

55 lines
1.3 KiB
Bash
Executable File

#!/bin/zsh
local 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() {
local from=$1
local to=$2
pushd $from > /dev/null
local 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() {
local from=$1
local to=$2
local filename=$(basename $from)
[[ -e $to/$filename ]] && execute rm $to/$filename
execute cp -p $from $to/$filename
}
copy_dir src_files/.config $XDG_CONFIG_HOME
copy_dir src_files/.local $DIR_LOCAL
#copy_file src_files/.example_file $HOME
# on macos, handle sim-linking to gimp config since gimp defaults to app-support
if [[ "$BOX_SETUP_OS" = "macos" ]]; then
local macos_gimp_dir="$HOME/Library/Application Support/GIMP"
log "deleting existing GIMP link/dir: $macos_gimp_dir"
[[ -h "$macos_gimp_dir" ]] && rm $macos_gimp_dir
[[ -d "$macos_gimp_dir" ]] && rm -rf $macos_gimp_dir
ln -s $XDG_CONFIG_HOME/GIMP $macos_gimp_dir
fi