mirror of
https://github.com/Matir/skel.git
synced 2026-05-26 13:35:42 -07:00
29 lines
680 B
Bash
Executable File
29 lines
680 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set nounset
|
|
set errexit
|
|
|
|
BASEDIR=${BASEDIR:-$HOME/.dotfiles}
|
|
|
|
if [ ! -d $BASEDIR ] ; then
|
|
echo "Please install to $BASEDIR!" &>2
|
|
exit 1
|
|
fi
|
|
|
|
function install_dir {
|
|
SRCDIR="${1}"
|
|
find ${SRCDIR} \( -name .git -o \
|
|
-path ${SRCDIR}/private_dotfiles -o \
|
|
-name install.sh -o \
|
|
-name .gitignore \) \
|
|
-prune -o -type f -print | \
|
|
while read dotfile ; do
|
|
TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
|
|
mkdir -p `dirname "${TARGET}"`
|
|
ln -s -f "${dotfile}" "${TARGET}"
|
|
done
|
|
}
|
|
|
|
install_dir "${BASEDIR}"
|
|
test -d "${BASEDIR}/private_dotfiles" && install_dir "${BASEDIR}/private_dotfiles"
|