.local-bin/stow_setup
Jeremie Fraeys b0fb0be8a3 first commit
2023-11-22 17:23:39 -05:00

56 lines
1 KiB
Bash
Executable file

#!/usr/bin/env bash
# make sure we have pulled in and updated any submodules
git submodule init
git submodule update
# what directories should be installable by all users including the root user
base=(
zsh
)
# folders that should, or only need to be installed for a local user
useronly=(
git
)
# files to ignore during stow
ignore_files=(
".DS_Store"
"__setup"
"bin"
"git"
"setup.sh"
)
# run the stow command for the passed-in directory ($2) in location $1
stowit() {
usr=$1
app=$2
# -v verbose
# -R recursive
# -t target
# --ignore files to ignore
stow -v -R -t "${usr}" --ignore "$(IFS="|"; echo "${ignore_files[*]}")" "${app}"
}
echo ""
echo "Stowing apps for user: ${USER}"
# install apps available to local users and root
for app in "${base[@]}"; do
stowit "${HOME}" "${app}"
done
# install only user space folders
for app in "${useronly[@]}"; do
if [[ ! "$(whoami)" = "root" ]]; then
stowit "${HOME}" "${app}"
fi
done
echo ""
echo "##### ALL DONE"