Track one-time setup with completion markers

This commit is contained in:
David Heinemeier Hansson
2026-07-16 21:53:15 -07:00
parent 7b824b6e1b
commit e82df1d4d0
9 changed files with 162 additions and 18 deletions
+40
View File
@@ -0,0 +1,40 @@
#!/bin/bash
# omarchy:summary=Check or mark completed Omarchy setup tasks
# omarchy:args=<check|mark|ensure> <name>
# omarchy:hidden=true
set -e
if (( $# != 2 )); then
echo "Usage: omarchy-done <check|mark|ensure> <name>" >&2
exit 1
fi
action=$1
name=$2
done_dir="$HOME/.local/state/omarchy/done"
marker="$done_dir/$name"
if [[ $name == */* || $name == "." || $name == ".." ]]; then
echo "Invalid done marker name: $name" >&2
exit 1
fi
case "$action" in
check)
[[ -f $marker ]]
;;
mark)
mkdir -p "$done_dir"
touch "$marker"
;;
ensure)
mkdir -p "$done_dir"
(set -o noclobber; : >"$marker") 2>/dev/null
;;
*)
echo "Usage: omarchy-done <check|mark|ensure> <name>" >&2
exit 1
;;
esac