Link the agent half of user/ on the Mac mini

Manifest lines can now name an OS. The SSH config, pwswitch and espanso are
Linux only, so link-user on the Mac links CLAUDE.md, rules, skills and the
opencode commands and nothing else. link-mcp no longer aborts under the Mac's
bash 3.2 when a server has no token.
This commit is contained in:
Gabriel Brown committed 2026-11-01 12:41:58 -05:00
1 parent 27e28b0dd1
commit d5ef335d61
5 files changed
+33 -9

No files matched your search

+10 -5
View File
@@ -1,6 +1,6 @@
# What in user/ goes where, and in what form.
#
# <kind> <source under user/> <destination>
# <kind> <source under user/> <destination> [os]
#
# kind is one of:
# link symlink the destination at the source, so editing either edits the
@@ -14,6 +14,10 @@
# copy copy once, and never touch it again if the destination exists. Use
# this for files a machine legitimately diverges on.
#
# os is optional: linux or darwin, matched against `uname -s`. A line naming
# one is skipped everywhere else. Leave it off for anything every machine
# wants, which is most of this file; the Mac mini only takes the agent half.
#
# Lines beginning with # are comments and blank lines are ignored. ~ in a
# destination is this user's home.
#
@@ -43,21 +47,22 @@ link agents/rules ~/.claude/rules
# ── SSH ──────────────────────────────────────────────────────────────────────
# Host aliases only. Keys are per-machine and are never tracked; this is the
# file that makes `ssh server` work the moment a machine is set up, and it is
# what the SSH Hosts launcher command reads.
link ssh/config ~/.ssh/config
# what the SSH Hosts launcher command reads. Linux only: it names id_ed25519
# and the desktop keyring's agent socket, and the Mac has neither.
link ssh/config ~/.ssh/config linux
# ── Scripts ──────────────────────────────────────────────────────────────────
# Personal commands wanted on every machine, desktop or server. ~/.local/bin is
# on PATH in both shell configs. pwswitch toggles passwordless sudo through a
# sudoers.d drop-in, so an agent can run sudo and the password comes back after.
link bin/pwswitch ~/.local/bin/pwswitch
link bin/pwswitch ~/.local/bin/pwswitch linux
# ── Espanso ──────────────────────────────────────────────────────────────────
# The personal expansion triggers. Copied rather than linked, because this is a
# file each machine may add its own triggers to. It lands before setup-identity
# runs, and that stage only seeds a file that does not exist yet, so what is
# tracked here wins over the name and email the interview would have written.
copy espanso/identity.yml ~/.config/espanso/match/identity.yml
copy espanso/identity.yml ~/.config/espanso/match/identity.yml linux
# ── OpenCode ─────────────────────────────────────────────────────────────────
# Claude Code carries its commands and agents as plugins, which opencode cannot