update.sh: track more

This commit is contained in:
Josh Lay 2024-06-19 08:19:50 -05:00
parent 95f6abdf90
commit 850b880bf0
No known key found for this signature in database
GPG key ID: 47AA304B2243B579

View file

@ -3,7 +3,6 @@
# minimal dotfile manager # minimal dotfile manager
# tracks files / copies them into the repo, sorted by hostname # tracks files / copies them into the repo, sorted by hostname
# #
# note: assumes pwd is this repo before running this script
set -u set -u
# array of files/dirs [relative to home] to include # array of files/dirs [relative to home] to include
@ -18,17 +17,18 @@ DOTS=(
'.config/nvim/coc-settings.json' '.config/nvim/coc-settings.json'
'.config/autostart-i3ipc.yml' '.config/autostart-i3ipc.yml'
'.config/sway/' '.config/sway/'
'.local/bin/note-taker.sh' # run by Kitty in a 'triplesplit' session, one of many of autostart 'wants' in '...-i3ipc.yml' above
) )
# to avoid hacky pwd/dirname stuff w/ $0 [for now?], inline the path to the repo where copies are held # to avoid hacky pwd/dirname stuff w/ $0 [for now?], inline the path to the repo where copies are held
DOT_DIR="${HOME}/git/dot" DOT_DIR="${HOME}/git/dot"
# ensure the host running this script/updating dotfiles has a directory within the repo # ensure the host running this script/updating dotfiles has a directory within the repo
# then, begin dotfile processing - ensure structure is retained, naively copy w/ rsync
# at the end/out of band: rely on Git to tell us about changes. TODO: reconsider, edge cases? auto commit/push?
HOST_DIR="${DOT_DIR}/${HOSTNAME}" HOST_DIR="${DOT_DIR}/${HOSTNAME}"
[ -d "$HOST_DIR" ] || mkdir -v "$HOST_DIR" [ -d "$HOST_DIR" ] || mkdir -v "$HOST_DIR"
# begin dotfile processing - ensure structure is retained, naively copy w/ rsync. rely on Git to tell us about changes.
# TODO: reconsider, edge cases?
for DOT in "${DOTS[@]}"; do for DOT in "${DOTS[@]}"; do
echo "Copying '$HOME/$DOT' to '$HOST_DIR/${DOT}'" echo "Copying '$HOME/$DOT' to '$HOST_DIR/${DOT}'"
rsync -aqv "$HOME/$DOT" "$HOST_DIR/${DOT}" || echo "Couldn't copy '$DOT', got rc: $?" rsync -aqv "$HOME/$DOT" "$HOST_DIR/${DOT}" || echo "Couldn't copy '$DOT', got rc: $?"