summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-08-16 17:20:14 -0300
committerEuAndreh <eu@euandre.org>2024-08-16 17:20:14 -0300
commitac28d5c368ff1e7ebcf511563116fe6890e6cb95 (patch)
treea2ec1d4b35ec15d2dfd82c3c6f6771ee708792ab
parentsrc/check: Add make(1) version of the original sh one (diff)
downloadsyskeep-ac28d5c368ff1e7ebcf511563116fe6890e6cb95.tar.gz
syskeep-ac28d5c368ff1e7ebcf511563116fe6890e6cb95.tar.xz
src/reconfigure: Add simplified version of script
-rwxr-xr-xsrc/reconfigure53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/reconfigure b/src/reconfigure
new file mode 100755
index 0000000..2d54b9f
--- /dev/null
+++ b/src/reconfigure
@@ -0,0 +1,53 @@
+#!/bin/sh
+set -eu
+
+usage() {
+ cat <<-'EOF'
+ Usage: reconfigure [-n] [-U] [SHA]
+ EOF
+}
+
+UPDATE=false
+DRY_RUN=false
+while getopts 'nUh' flag; do
+ case "$flag" in
+ n)
+ DRY_RUN=true
+ ;;
+ U)
+ UPDATE=true
+ ;;
+ h)
+ usage
+ help
+ exit
+ ;;
+ *)
+ usage >&2
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
+
+
+
+SHA="${1:-origin/main}"
+
+
+if [ "$UPDATE" = true ] && [ "$DRY_RUN" = false ]; then
+ guix pull -v3
+fi
+
+
+if [ "$DRY_RUN" = true ]; then
+ ACTION=build
+else
+ ACTION=reconfigure
+fi
+
+cd /opt/server
+git fetch
+git checkout "$SHA"
+
+guix system -v3 "$ACTION" src/guix/system.scm