HOSTS=("$@")
# Config files
for TARGET in ".inputrc" ".config/bat/" ".config/zellij" ".config/starship.toml"; do
    SOURCE="$HOME/$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*" --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r "$SOURCE" $TMP_TARGET
        sh -c "$NIX_REPLACE"
        for HOST in "${HOSTS[@]}"; do
            rsync -avzL --delete --exclude=".git*" $TMP_SOURCE "$HOST:$TARGET"
        done
        rm -rf $TMP_SOURCE
    fi
done

# Fonts
IOSEVKA_FLAKE_URL="git+https://git.xenia.me.uk/pixelifytica/iosevka.git?ref=main"
IOSEVKA_CUSTOM_NERDFONT=$(nix path-info "$IOSEVKA_FLAKE_URL#packages.x86_64-linux.iosevka-custom-nerdfont")
IOSEVKA_CUSTOM_AILE=$(nix path-info "$IOSEVKA_FLAKE_URL#packages.x86_64-linux.iosevka-custom-aile")
echo "--- Fonts ---"
for HOST in "${HOSTS[@]}"; do
    rsync -avzL --delete --exclude=".git*" --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r "$IOSEVKA_CUSTOM_NERDFONT/share/fonts/truetype/" "$HOST:.fonts/IosevkaCustomNerdFont"
    rsync -avzL --delete --exclude=".git*" --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r "$IOSEVKA_CUSTOM_AILE/share/fonts/truetype/" "$HOST:.fonts/IosevkaCustomAile"
done