#!/usr/bin/env bash set -e DOTFILES_REPO=~/dotfiles DRYRUN=0 # Parseo de dry-run if [[ "$1" == "--dry-run" || "$1" == "-n" ]]; then DRYRUN=1 shift fi if [ "$#" -ne 2 ]; then echo "Uso: $0 [--dry-run] " echo "Ejemplo: $0 .zshrc zsh" exit 1 fi SRC_ORIGINAL="$1" SUBDIR="$2" # Obtener path absoluto del archivo origen SRC="$(realpath "$SRC_ORIGINAL")" # Obtener nombre relativo (ej: .zshrc o config/nvim/init.vim) BASENAME=$(basename "$SRC_ORIGINAL") DST_DIR="$DOTFILES_REPO/$SUBDIR" DST="$DST_DIR/$BASENAME" if [ ! -e "$SRC" ]; then echo "❌ El archivo $SRC no existe." exit 1 fi if [ "$DRYRUN" -eq 1 ]; then echo "=== DRY RUN ===" echo "📁 Crear directorio si no existe: $DST_DIR" echo "📦 Mover: $SRC → $DST" echo "🔗 Ejecutar: (cd $DOTFILES_REPO && stow -nv $SUBDIR)" else echo "📁 Creando directorio: $DST_DIR" mkdir -p "$DST_DIR" echo "📦 Moviendo archivo: $SRC → $DST" mv "$SRC" "$DST" echo "🔗 Ejecutando stow" cd "$DOTFILES_REPO" stow "$SUBDIR" echo "✅ Listo: $BASENAME stoweado." fi