Files
dotfiles/scripts/makesymlinks.bash

39 lines
1.2 KiB
Bash
Raw Normal View History

2013-09-14 14:35:23 +02:00
#!/usr/bin/env bash
# config directory
config_dir="$HOME/config/"
# backup directory, files that would otherwise be overwritten go there
backup_dir="$HOME/oldconfig/"
# the following folders inside $config_dir will be inspected and symlinked:
symlink_folders="bash git i3 vim zsh"
# backup the old config files
backup_dir="$backup_dir/$(date +%Y-%m-%dT%H:%M:%S)"
echo "Backing up old configuration files into \"$backup_dir\"."
mkdir -p "$backup_dir"
for folder in $symlink_folders ; do
for file in "$config_dir/$folder"/* ; do
oldfile="$HOME/.$(basename "$file")"
if [[ -e "$oldfile" ]] ; then
destination="$backup_dir/$(basename "$oldfile")"
echo "mv: \"$oldfile\" -> \"$destination\""
mv "$oldfile" "$destination"
else
echo "\"$oldfile\" not found, skipped."
fi
done
done
# now symlink the files in $config_dir into the home directory
echo "Creating symlinks for configuration files in \"$config_dir\"."
for folder in $symlink_folders ; do
for file in "$config_dir/$folder"/* ; do
destination="$HOME/.$(basename "$file")"
echo "ln -s \"$file\" -> \"$destination\""
ln -s "$file" "$destination"
done
done