From 771e59f3dbd1cc9a5e85c806364203c80adfafad Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 12 Nov 2026 01:54:00 +0000 Subject: [PATCH 1/4] Synchronise project notes on Linux without sharing checkouts --- README.md | 14 ++++++++++++++ home/.chezmoiignore | 1 - home/Projects/dot_stignore.tmpl | 7 +++++++ home/dot_Brewfile | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c8790c4..5a1fe64 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,20 @@ and `fmt`. depends = ["check:python", "check:updates", "test:python"] ``` +## Project Notes + +Syncthing shares project notes between macOS and Linux. The macOS application +already manages its own service; on Linux, the Brewfile installs Syncthing and +`brew services start syncthing` starts its native user service. Pair Mercury with +the Mac in Syncthing and share the existing Projects folder at `~/Projects`. +Linux's local ignore rules include only each project's root `todo.md` and +`todo-*.md`; source files and Git directories stay local. Pairing and device +identities remain in Syncthing's own configuration. + +Before the first synchronisation, keep a copy of both machines' notes and +reconcile any differing versions. Syncthing retains conflicting edits as +`sync-conflict` files; review those before removing either copy. + ## Dependency Updates Repositories with dependencies extend diff --git a/home/.chezmoiignore b/home/.chezmoiignore index d9e2b5b..e173321 100644 --- a/home/.chezmoiignore +++ b/home/.chezmoiignore @@ -5,6 +5,5 @@ Backups Documents Library -Projects Scratch {{- end }} diff --git a/home/Projects/dot_stignore.tmpl b/home/Projects/dot_stignore.tmpl index bc18ff3..ef268dc 100644 --- a/home/Projects/dot_stignore.tmpl +++ b/home/Projects/dot_stignore.tmpl @@ -1 +1,8 @@ +{{- if eq .chezmoi.os "darwin" -}} {{ template "stignore-code" . -}} +{{- else -}} +// Keep Linux Git checkouts independent; synchronise only main-checkout notes. +!/*/todo.md +!/*/todo-*.md +* +{{- end }} diff --git a/home/dot_Brewfile b/home/dot_Brewfile index 38963c0..448a02a 100644 --- a/home/dot_Brewfile +++ b/home/dot_Brewfile @@ -43,4 +43,6 @@ if OS.mac? mas "HomeClaw", id: 6759682551 mas "KeyPad", id: 1491684442 mas "Xcode", id: 497799835 +else + brew "syncthing" end From 31883ce36c5a9d6a5f1a9dad1eceaac40303cd6d Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 12 Nov 2026 02:55:24 +0000 Subject: [PATCH 2/4] Use the native Linux Syncthing service --- README.md | 8 +++++--- home/dot_Brewfile | 2 -- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5a1fe64..37bd12e 100644 --- a/README.md +++ b/README.md @@ -109,9 +109,11 @@ depends = ["check:python", "check:updates", "test:python"] ## Project Notes Syncthing shares project notes between macOS and Linux. The macOS application -already manages its own service; on Linux, the Brewfile installs Syncthing and -`brew services start syncthing` starts its native user service. Pair Mercury with -the Mac in Syncthing and share the existing Projects folder at `~/Projects`. +already manages its own service. Bluemax provides Linux's native Syncthing package; +after its image is deployed, `systemctl --user enable --now syncthing.service` +starts the packaged user service. `sudo loginctl enable-linger "$USER"` keeps user +services running after logout and starts them at boot. Pair Mercury with the Mac +in Syncthing and share the existing Projects folder at `~/Projects`. Linux's local ignore rules include only each project's root `todo.md` and `todo-*.md`; source files and Git directories stay local. Pairing and device identities remain in Syncthing's own configuration. diff --git a/home/dot_Brewfile b/home/dot_Brewfile index 448a02a..38963c0 100644 --- a/home/dot_Brewfile +++ b/home/dot_Brewfile @@ -43,6 +43,4 @@ if OS.mac? mas "HomeClaw", id: 6759682551 mas "KeyPad", id: 1491684442 mas "Xcode", id: 497799835 -else - brew "syncthing" end From 885a5431961a0cf07ee144f855afbeb37da6e3b7 Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 12 Nov 2026 15:42:07 +1100 Subject: [PATCH 3/4] Delegate Mercury Syncthing boot setup to Homelab --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8c7ae0e..ba1a942 100644 --- a/README.md +++ b/README.md @@ -118,10 +118,9 @@ depends = ["check:python", "check:updates", "test:python"] Syncthing shares project notes between macOS and Linux. The macOS application already manages its own service. Bluemax provides Linux's native Syncthing package; -after its image is deployed, `systemctl --user enable --now syncthing.service` -starts the packaged user service. `sudo loginctl enable-linger "$USER"` keeps user -services running after logout and starts them at boot. Pair Mercury with the Mac -in Syncthing and share the existing Projects folder at `~/Projects`. +[Homelab](https://github.com/maxexcloo/homelab) enables its packaged +`syncthing@core.service` on Mercury at boot, running as `core`. Pair Mercury with +the Mac in Syncthing and share the existing Projects folder at `~/Projects`. Linux's local ignore rules include only each project's root `todo.md` and `todo-*.md`; source files and Git directories stay local. Pairing and device identities remain in Syncthing's own configuration. From 97a94ed8e9923c94d72720db78f4a542b5acc5bf Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 12 Nov 2026 16:14:05 +1100 Subject: [PATCH 4/4] Keep note synchronisation changes to ignore rules --- README.md | 15 --------------- home/Projects/dot_stignore.tmpl | 1 - 2 files changed, 16 deletions(-) diff --git a/README.md b/README.md index af9ad83..54860c0 100644 --- a/README.md +++ b/README.md @@ -129,21 +129,6 @@ and `fmt`. depends = ["check:python", "check:updates", "test:python"] ``` -## Project Notes - -Syncthing shares project notes between macOS and Linux. The macOS application -already manages its own service. Bluemax provides Linux's native Syncthing package; -[Homelab](https://github.com/maxexcloo/homelab) enables its packaged -`syncthing@core.service` on Mercury at boot, running as `core`. Pair Mercury with -the Mac in Syncthing and share the existing Projects folder at `~/Projects`. -Linux's local ignore rules include only each project's root `todo.md` and -`todo-*.md`; source files and Git directories stay local. Pairing and device -identities remain in Syncthing's own configuration. - -Before the first synchronisation, keep a copy of both machines' notes and -reconcile any differing versions. Syncthing retains conflicting edits as -`sync-conflict` files; review those before removing either copy. - ## Dependency Updates Repositories with dependencies extend diff --git a/home/Projects/dot_stignore.tmpl b/home/Projects/dot_stignore.tmpl index ef268dc..644ef24 100644 --- a/home/Projects/dot_stignore.tmpl +++ b/home/Projects/dot_stignore.tmpl @@ -1,7 +1,6 @@ {{- if eq .chezmoi.os "darwin" -}} {{ template "stignore-code" . -}} {{- else -}} -// Keep Linux Git checkouts independent; synchronise only main-checkout notes. !/*/todo.md !/*/todo-*.md *