HOST=$1 for TARGET in bat bottom git zellij starship.toml "ipython/profile_default/ipython_config.json"; do SOURCE="$HOME/.config/$TARGET" echo "--- $SOURCE ---" TMP_TARGET=/tmp/rsync-local-config TMP_SOURCE=$TMP_TARGET NIX_SED="sed -i 's|/nix/.*/bin/||g'" NIX_REPLACE="$NIX_SED $TMP_TARGET" if [[ -e $SOURCE ]]; then if [[ -d $SOURCE ]]; then SOURCE=$SOURCE/ TMP_SOURCE=$TMP_SOURCE/ NIX_REPLACE="fd -g '**' $TMP_TARGET -tfile -x $NIX_SED {};" fi rsync -avzL --exclude=".git*" "$SOURCE" $TMP_TARGET chmod u+rw -R $TMP_SOURCE sh -c "$NIX_REPLACE" rsync -avzL --delete --exclude=".git*" $TMP_SOURCE "$HOST:.config/$TARGET" rm -rf $TMP_SOURCE fi done