Move long commands from dotbot config into scripts

Move long commands from the dotbot config into own scripts to keep the
install.conf.yaml more readable.
Fix bug that the submodule init step fails when already done once since
then the grep statement fails because there is no output.
This commit is contained in:
2020-08-25 14:16:28 +02:00
parent 3c65e1a552
commit b384854a4f
3 changed files with 40 additions and 3 deletions

20
meta/archive Normal file
View File

@@ -0,0 +1,20 @@
#!/bin/sh
tmpd="$(mktemp -d)"
for file in .config/*; do
[ ! -e "$HOME/$file" ] || mv "$HOME/$file" "$tmpd"
done
if rmdir "$tmpd" 2>/dev/null; then
echo "Nothing to archive"
else
name="existing-$(date +"%s").tar.gz"
if tar czvf "$name" "$tmpd"; then
rm -rf "$tmpd"
echo "$name created"
else
echo "Archive could not be created. See $tmpd."
exit 1
fi
fi

View File

@@ -1,15 +1,14 @@
- shell:
-
command: git submodule update --init --recursive --jobs 8 --depth 1 2>&1 | grep "Cloning into"
command: meta/submodules --init
description: Pulling all submodules
stdout: true
stderr: true
-
command: /bin/sh -c 'tmpd="$(mktemp -d)"; for file in .config/*; do [ ! -e "$HOME/$file" ] || mv "$HOME/$file" "$tmpd"; done; rmdir "$tmpd" 2>/dev/null && echo "Nothing to archive" || { name="existing-$(date +"%s").tar.gz"; tar czvf "$name" "$tmpd" && rm -rf "$tmpd" && echo "$name created"; }'
command: meta/archive
description: Archiving all files in ~/.config before overwriting them
stdout: true
stderr: true
quiet: true
-
command: .config/zsh/plugins/fzf/install --bin
description: Pulling fzf binary

18
meta/submodules Normal file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
[ $# -eq 1 ] || { echo "Specify what to do" >&2; exit 1; }
case "$1" in
"--init") INIT=1;;
"--update") INIT=0;;
*) echo "Unknown option"; exit 1;;
esac
if (( $INIT )); then
out="$(git submodule update --init --recursive --jobs 8 --depth 1 2>&1)"
if ! (( $? )) && [ -n "$out" ] ; then
echo "$out" | grep "Cloning into"
fi
else
git submodule update --remote
fi