25 lines
625 B
Bash
Executable File
25 lines
625 B
Bash
Executable File
#!/bin/bash
|
|
|
|
function get_all_packages() {
|
|
cd "$HOME/.config/dotfiles"
|
|
find . -maxdepth 1 -type d -not -name ".git" -not -name "."
|
|
}
|
|
|
|
stow_cmd="stow --dir '$HOME/.config/dotfiles' --target '$HOME' --dotfiles"
|
|
|
|
if [ "$*" == "" ]
|
|
then
|
|
echo "you must supply at least one package"
|
|
echo
|
|
echo "available packages:"
|
|
get_all_packages | sed -e 's|^.\/| - |'
|
|
else
|
|
if [ "$(echo "$*" | grep -E -e '^(.* )?all$')" != "" ]
|
|
then
|
|
all_packages=$(get_all_packages | sed -e 's|^.\/||' | tr '\n' ' ')
|
|
$stow_cmd $(echo "$*" | sed -e "s/all/$all_packages/")
|
|
else
|
|
$stow_cmd $*
|
|
fi
|
|
fi
|