dotfiles/move_to_eggs.sh
Katzenkralle 4e9be09c10 Init
2025-05-10 19:23:48 +02:00

56 lines
1.6 KiB
Bash

#!/bin/bash
# Define the destination base directory
DEST_BASE=/home/someone/.config/yolk/eggs
# Create an associative array of all your config mappings
declare -A CONFIGS=(
["assets"]="~/.config/assets"
["dconf"]="~/.config/dconf"
["dunst"]="~/.config/dunst"
["htop"]="~/.config/htop"
["hypr"]="~/.config/hypr"
["kitty"]="~/.config/kitty"
["libreoffice"]="~/.config/libreoffice"
["nvtop"]="~/.config/nvtop"
["nwgdrawer"]="~/.config/nwg-drawer"
["openrgb"]="~/.config/OpenRGBB"
["qimgv"]="~/.config/qimgv"
["rofi"]="~/.config/rofi"
["thunar"]="~/.config/Thunar"
["xfce"]="~/.config/xfce4"
["vim"]="~/.config/vim"
["waybar"]="~/.config/waybar"
["yazi"]="~/.config/yazi"
["starship"]="~/.config/starship.toml"
["zsh"]="~/.zshrc"
["scripts"]="~/.micro_scripts"
[".mine"]="~/.config/mineapps.list"
["qt5"]="~/.config/qt5ct"
["qt6"]="~/.config/qt6ct"
["gtk2"]="~/.config/gtk-2.0"
["gtk3"]="~/.config/gtk-3.0"
["gtk4"]="~/.config/gtk-4.0"
["icons"]="~/icons"
["themes_lc"]="~/.local/share/themes"
["icons_lc"]="~/.local/share/icons"
)
# Create the destination directory if it doesn't exist
mkdir -p "$DEST_BASE"
# Loop over the configs and move them
for key in "${!CONFIGS[@]}"; do
src="${CONFIGS[$key]}"
src_expanded=$(eval echo "$src")
dest="$DEST_BASE/$key"
if [ -e "$src_expanded" ]; then
echo "Moving $src_expanded to $dest"
mkdir -p "$(dirname "$dest")"
mv "$src_expanded" "$dest"
else
echo "Skipping $src_expanded: does not exist."
fi
done