profile/install.sh

40 lines
653 B
Bash
Raw Normal View History

2018-02-17 17:19:24 +00:00
#!/bin/sh -e
install_dotfiles() {
local target_dir="$1"
for d in dotfiles/*; do
cp -v "$d" "${target_dir}/$(basename "$d")"
done
}
install_files() {
local target_dir="$1"
local source_dir="${2:-.}"
if [ ! -d "${source_dir}" ]; then
echo "Source directory ${source_dir} does not exist, skipping."
return
fi
(
cd "${source_dir}"
for f in *; do
case "$f" in
^dotfiles)
install_dotfiles "${target_dir}"
;;
*)
if [ -d "$f" ]; then
(cd "$d" && install_files "${target_dir}/$f")
else
cp -v "$f" "${target_dir}"
fi
;;
esac
done
)
}
###
install_files "${HOME}" home
install_files "/etc" etc