56 lines
1.6 KiB
Bash
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
|