summaryrefslogtreecommitdiff
path: root/link/pi-models.py
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-10-05 13:53:09 +0300
committerIgor Soarez <igor@soarez.org>2026-10-05 13:53:09 +0300
commit611dfd90d4e523984a78728ebfee033e4c16b37d (patch)
tree682e459c78f5a994c276f7021ceda390de49ec6e /link/pi-models.py
parentfac95146b95ef103e8100b2284671be4bdc1065f (diff)
pi: extensions as a directory of links, so a machine can have its own
~/.pi/agent/extensions was a link to the repo's directory, so anything that installs a pi extension wrote into this checkout -- herdr's pi integration did, on one machine. It is now a real directory with the repo's tracked extensions linked in one by one, and a file a machine adds there stays that machine's. pi follows the links, and skips a dangling one silently, so an extension deleted from the repo leaves a harmless stale link. The old directory link is removed first: linking into it would write through to the repo and turn its files into links to themselves. Only tracked files are linked, so a machine's leftovers in the repo's directory are not linked back. The filed version put this loop in link.sh; it lives in link/pi.sh, since link.sh holds one-line links only and a part also obeys ~/.config/dot/skip. From change request 3f6b05.
Diffstat (limited to 'link/pi-models.py')
0 files changed, 0 insertions, 0 deletions