dotfiles-store 542 B

1234567891011121314151617181920
  1. #!/usr/bin/env bash
  2. dotfiles-store() {
  3. local subdir=$1; shift
  4. local dotdir=~/scripts/dotfiles
  5. mkdir -p "$dotdir/$subdir"
  6. for src in "$@"; do
  7. local filename
  8. filename=$(basename "$src")
  9. local dest="$dotdir/$subdir/$filename"
  10. cp -ai "$src" "$dest" || { echo "Failed to copy $src"; continue; }
  11. ln -sf "$dest" "$src"
  12. echo "Moved $src → $dest and linked $src → $dest"
  13. done
  14. }
  15. # Allow this file to be executed directly if not being sourced
  16. if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
  17. dotfiles-store "$@"
  18. fi