diff --git a/lib/mackup.sh b/lib/mackup.sh index 5e77173..78d7eb1 100644 --- a/lib/mackup.sh +++ b/lib/mackup.sh @@ -17,6 +17,7 @@ _SSR_MACKUP_CURATED=( .codex # OpenAI Codex config .easymcp # EasyMCP config .factory # Factory AI config + .docker # Docker Desktop — selective files only (see _SSR_MACKUP_SELECTIVE) .config/claude .config/cursor .config/gh # GitHub CLI (if not already in mackup) @@ -39,6 +40,9 @@ _SSR_MACKUP_SELECTIVE=( ".vscode=settings.json,keybindings.json,snippets" ".vscode-insiders=settings.json,keybindings.json,snippets" ".factory=settings.json,droids" + # Docker Desktop rejects ~/.docker as a symlink — back up individual files + # only so ~/.docker/ stays a real directory that Docker Desktop can manage. + ".docker=config.json,daemon.json" ) # Dot-dirs/files to never auto-include. @@ -47,7 +51,10 @@ _SSR_MACKUP_SKIP=( .Trash .localized .DS_Store .CFUserTextEncoding .cache .npm .yarn .pnpm .bun .gradle .m2 .ivy2 .sbt - .docker .vagrant .minikube .kube .helm + # .docker is handled via _SSR_MACKUP_SELECTIVE (individual files only). + # Docker Desktop rejects ~/.docker being a symlink, so we never back up + # the whole directory — only config.json / daemon.json as file symlinks. + .vagrant .minikube .kube .helm .local # runtime state, not config .bash_history .zsh_history .zsh_sessions .sh_history .lesshst .wget-hsts .python_history .node_repl_history