aboutsummaryrefslogtreecommitdiff
path: root/assets/outbox/2026-05-13-calendar-sync-local-into-dotfiles.txt
blob: a167e77977e5c92d640344d0e009f3ab5a5a1e96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
calendar-sync.local.el into common/.emacs.d/
=============================================

Date: 2026-05-13
Machine: laptop (this one)

What was done
-------------

Added dotfiles/common/.emacs.d/calendar-sync.local.el. The real
file lives under common/ and is symlinked back into ~/.emacs.d/
on this machine:

  ~/.emacs.d/calendar-sync.local.el
    -> ~/code/archsetup/dotfiles/common/.emacs.d/calendar-sync.local.el

A matching template, calendar-sync.local.el.example, was checked
into the dotemacs repo so future setups know what shape the file
needs to take. The .example file is tracked in dotemacs;
calendar-sync.local.el itself is gitignored in dotemacs (entry
already present at .gitignore:54).

Why
---

On 2026-05-04, commit cc594fd ("Make calendar sync startup safe
without config") in the dotemacs repo refactored
modules/calendar-sync.el to stop hard-coding the calendar feed
URLs inline. The new design loads them from a private file at
~/.emacs.d/calendar-sync.local.el. That file is gitignored in
dotemacs, so it never propagates across machines via the dotemacs
checkout.

This laptop never got the file created. M-x calendar-sync-now
failed with "calendar-sync: No calendars configured". State file
(data/calendar-sync-state.el) showed last successful sync at
2026-05-01 16:57, three days before the refactor landed --
confirming the gap.

Putting the file under common/ in archsetup means GNU Stow
distributes it the same way every other dotfile is distributed:
make stow links it into $HOME on each machine.

Heads-up for archsetup
----------------------

The file contains real private .ics feed URLs (Google personal,
Proton, Google work). It is currently TRACKED in archsetup --
.gitignore was not modified to exclude it, because the whole
point of putting it under common/ is for it to flow to other
machines via git pull + make restow.

The archsetup remote is git@cjennings.net:archsetup.git only --
your private server, no public mirror -- so exposure is bounded
to that host. Same URLs are already in dotemacs git history on
both cjennings.net and the github.com mirror anyway (from
cc594fd^). The dotemacs URLs were left in place by choice.

If you ever change your mind on tracking, the move is:
  1. Regenerate the .ics secret addresses in each calendar's UI.
  2. Add dotfiles/common/.emacs.d/calendar-sync.local.el to
     archsetup/.gitignore.
  3. Distribute the file out-of-band (manual copy, age-encrypted,
     pass, whatever).

While here: inbox/ was root-owned (since 2026-04-10) and
unwritable as cjennings, blocking note creation. Ran:
  sudo chown -R cjennings:cjennings ~/code/archsetup/inbox/
to normalize. No idea what set it to root originally -- probably
a sudo-driven install step. Worth flagging if it returns.

Action items
------------

- Decide whether to commit common/.emacs.d/calendar-sync.local.el
  in archsetup (recommended) or pull it into a separate private
  channel.
- On every other machine: pull archsetup, run `make restow
  <de>`, restart Emacs. The symlink should appear and the next
  M-x calendar-sync-now will work.