From 8301bfb52216a2d1a7c26617626fb787465a1de5 Mon Sep 17 00:00:00 2001
From: Marty Oehme <contact@martyoeh.me>
Date: Wed, 26 Feb 2025 21:37:54 +0100
Subject: [PATCH] feat(snapper): Add manual snap script

Can be run before dangerous commands to create a quick backup of the
system before running it.
---
 books/files/snapper-snap-script | 7 +++++++
 books/void_base.yaml            | 8 ++++++++
 2 files changed, 15 insertions(+)
 create mode 100755 books/files/snapper-snap-script

diff --git a/books/files/snapper-snap-script b/books/files/snapper-snap-script
new file mode 100755
index 0000000..dac34b7
--- /dev/null
+++ b/books/files/snapper-snap-script
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+CONFIG="${SNAP_CONFIG:-root}"
+
+echo RUNNING: snapper --config="$CONFIG" --quiet create --description="${*//sudo /}" --cleanup-algorithm="number"
+
+"$@"
diff --git a/books/void_base.yaml b/books/void_base.yaml
index a05b93e..b081737 100644
--- a/books/void_base.yaml
+++ b/books/void_base.yaml
@@ -188,6 +188,14 @@
         mode: 0640
         force: true
 
+    - name: Add snap manual safety command
+      ansible.builtin.copy:
+        src: snapper-snap-script
+        dest: "/usr/bin/snap"
+        owner: root
+        group: root
+        mode: 0755
+
   handlers:
   #   # Do NOT activate the snapperd service -
   #   # on systems without elogind I guess? Unsure