Manage Claude Code config + add Justfile via bombadil
Bring ~/.claude config under bombadil management across both machines:
- claude/shared/: converged settings.json (union of both hosts) and a single
Catppuccin-powerline statusline merged from the two machines' versions
- claude/xps, claude/desktop: per-host agents/skills behind [profiles.xps]/
[profiles.desktop]; each host links only its own via `bombadil link -p <theme> <host>`
Linked at file granularity because bombadil 4.2.0 can't create directory
symlinks for new targets, and to keep ~/.claude/{agents,skills} real dirs.
Add a Justfile (symlinked to ~/.justfile, usable via `just -g`) with link/
dark/light/watch/unlink/update/status/edit recipes; host auto-detected from
hostname. Recipes use exported shell vars to avoid bombadil's Tera engine
mis-parsing just's double-brace interpolation.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -58,3 +58,28 @@ zshconfigs = { source = "zsh.d", target = ".config/zsh.d" }
|
||||
zshaliases = { source = "aliases.d", target = ".config/aliases.d" }
|
||||
zshenv = { source = "zshenv.zsh", target = ".zshenv" }
|
||||
zshrc = { source = "zshrc.zsh", target = ".zshrc" }
|
||||
|
||||
# justfile — task runner, usable from anywhere via `just -g`
|
||||
justfile = { source = "Justfile", target = ".justfile" }
|
||||
|
||||
# claude code (shared across hosts; agents/skills are host-specific, see profiles below)
|
||||
claude_settings = { source = "claude/shared/settings.json", target = ".claude/settings.json" }
|
||||
claude_statusline = { source = "claude/shared/statusline-command.sh", target = ".claude/statusline-command.sh" }
|
||||
|
||||
# Host profiles — select one per machine alongside the theme profile (space-separated), e.g.
|
||||
# daniel-xps: bombadil link -f -p dark xps
|
||||
# daniel-desktop: bombadil link -f -p dark desktop
|
||||
# (or just `just -g link`, which auto-detects the host)
|
||||
# Each links the host's own Claude agents/skills (the GPU box drives the local
|
||||
# model; the laptop is the orchestrator that delegates to it over SSH).
|
||||
# Linked at the file level (not as directory dots): bombadil 4.2.0 only symlinks
|
||||
# regular files, and this keeps the live ~/.claude/{agents,skills} as real dirs so
|
||||
# Claude's own agents/skills coexist with these dotfile-managed ones.
|
||||
[profiles.xps.dots]
|
||||
claude_agent_desktop_coder = { source = "claude/xps/agents/desktop-coder.md", target = ".claude/agents/desktop-coder.md" }
|
||||
claude_skill_desktop_delegate = { source = "claude/xps/skills/desktop-delegate/SKILL.md", target = ".claude/skills/desktop-delegate/SKILL.md" }
|
||||
|
||||
[profiles.desktop.dots]
|
||||
claude_agent_local_coder = { source = "claude/desktop/agents/local-coder.md", target = ".claude/agents/local-coder.md" }
|
||||
claude_skill_local_delegate = { source = "claude/desktop/skills/local-delegate/SKILL.md", target = ".claude/skills/local-delegate/SKILL.md" }
|
||||
claude_skill_unload_local_model = { source = "claude/desktop/skills/unload-local-model/SKILL.md", target = ".claude/skills/unload-local-model/SKILL.md" }
|
||||
|
||||
Reference in New Issue
Block a user