Files
zshrc/scripts/includes/config-sync.sh
T
2022-12-30 07:06:53 -05:00

56 lines
1.5 KiB
Bash

prefix="&7[&3zshrc&7]"
# Sync config
check-config()
{
file=$1
sync=$2
if ! [[ -L "$file" ]]
then
set -e
color "$prefix &c$file is not a symlink, creating symlink"
if [[ -f "$file" ]] || [[ -d "$file" ]]
then
echo "> Original file $file exists."
echo "> Diff:"
diff $file $sync
bak="$file.bak"
echo "> Moving $file to $bak..."
mv $file $bak
fi
echo "> Creating symlink from $sync to $file..."
mkdir -p "$(dirname "$file")"
ln -sf "$sync" "$file"
color "$prefix &aDone!"
set +e
fi
}
# Sync inject
check-inject()
{
file=$1
config=$2
if ! grep -Fxq "$config" "$file"; then
echo "$config" >> "$file"
color "$prefix &aLines injected for $file"
fi
}
CFGSYNC="$SCR/../config-sync"
# Sync SSH Config
alias check-ssh-config="check-config $HOME/.ssh/config $CFGSYNC/ssh-config"
check-ssh-config
# Check nanorc includes
# check-inject "$HOME/.nanorc" "include $SCR/../config-sync/nanorc"
check-config "$HOME/.nanorc" "$CFGSYNC/nanorc"
check-config "$HOME/.condarc" "$CFGSYNC/.condarc"
check-config "$HOME/.java/.userPrefs/com/cburch/logisim/prefs.xml" "$CFGSYNC/.java/.userPrefs/com/cburch/logisim/prefs.xml"
check-config "$HOME/.config/kitty" "$CFGSYNC/.config/kitty"
check-config "$HOME/.config/ibus/rime" "$CFGSYNC/.config/ibus/rime"
check-config "$HOME/.local/share/fcitx5/rime" "$CFGSYNC/.config/ibus/rime"