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:
20
meta/archive
Normal file
20
meta/archive
Normal 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
|
||||
@@ -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
18
meta/submodules
Normal 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
|
||||
Reference in New Issue
Block a user