aboutsummaryrefslogtreecommitdiffstats
path: root/modules/office/calcurse/hooks/pre-load
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-09-02 02:34:32 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-09-02 02:34:32 +0530
commit0afbd64a18aef6c048fba40d1c1350dbcdc4930a (patch)
tree1c7586b81fde88f3c8bdd97fe2eb87b2d0848792 /modules/office/calcurse/hooks/pre-load
parent59df727a1591ac4b47e202926669753731cabc69 (diff)
downloadhome-manager-config-0afbd64a18aef6c048fba40d1c1350dbcdc4930a.tar.gz
home-manager-config-0afbd64a18aef6c048fba40d1c1350dbcdc4930a.zip
feat(office/calcurse): added hooks for calcurse-sync
- saving and loading automatically syncs the local with a remote upstream git repo
Diffstat (limited to 'modules/office/calcurse/hooks/pre-load')
-rw-r--r--modules/office/calcurse/hooks/pre-load16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/office/calcurse/hooks/pre-load b/modules/office/calcurse/hooks/pre-load
new file mode 100644
index 0000000..bd87af3
--- /dev/null
+++ b/modules/office/calcurse/hooks/pre-load
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+# Pulls the latest calcurse data before calcurse reads it, so a fresh
+# session (or a ^R reload) starts from wherever you last left off on
+# another machine.
+#
+# Runs synchronously, unlike post-save, since the point is to have
+# up-to-date data before it's loaded. Never fails calcurse's startup,
+# though: if the pull can't complete (offline, no remote configured
+# yet, a conflict), calcurse just opens with whatever's on disk.
+
+log="${XDG_DATA_HOME:-$HOME/.local/share}/calcurse/hooks.log"
+
+{
+ printf '[%s] pre-load\n' "$(date '+%Y-%m-%d %H:%M:%S')"
+ calcurse-sync pull
+} >>"$log" 2>&1 || true