#!/usr/bin/env bash dotfiles-store() { [[ $# -lt 2 ]] && { echo "Usage: $0 [ ...]"; return 1; } local subdir=$1; shift local dotdir=~/develop/dotfiles mkdir -p "$dotdir/$subdir" for src in "$@"; do local filename filename=$(basename "$src") local dest="$dotdir/$subdir/$filename" cp -ai "$src" "$dest" || { echo "Failed to copy $src"; continue; } ln -sf "$dest" "$src" echo "Moved $src → $dest and linked $src → $dest" done } # Allow this file to be executed directly if not being sourced if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then dotfiles-store "$@" fi