HOSTS=("$@") # Config files for TARGET in bat bottom git starship.toml; 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*" --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:.config/$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="$IOSEVKA_FLAKE_URL#packages.x86_64-linux.iosevka-custom-nerdfont" IOSEVKA_CUSTOM_AILE="$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 "$(nix path-info "$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 "$(nix path-info "$IOSEVKA_CUSTOM_AILE")/share/fonts/truetype/" "$HOST:.fonts/IosevkaCustomAile" done