diff --git a/lib/mackup.sh b/lib/mackup.sh index ec8757a..1e6aed8 100644 --- a/lib/mackup.sh +++ b/lib/mackup.sh @@ -56,19 +56,36 @@ _SSR_MACKUP_SELECTIVE=( # Dot-dirs/files to never auto-include. # Covers: caches, generated state, credentials, large build artefacts. _SSR_MACKUP_SKIP=( + # System / macOS noise .Trash .localized .DS_Store .CFUserTextEncoding - .cache .npm .yarn .pnpm .bun - .gradle .m2 .ivy2 .sbt - # .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 + .Spotlight-V100 .fseventsd .DocumentRevisions-V100 .local # runtime state, not config + + # Package manager caches (large, machine-specific) + .cache .npm .yarn .pnpm .bun + .gradle .m2 .ivy2 .sbt .nuget + + # Installed tool runtimes (not config — reinstall on restore instead) + .oh-my-zsh # framework itself, not user dotfiles + .pyenv # Python runtime installs + .rbenv # Ruby runtime installs + .nvm # Node.js runtime installs + .sdkman # Java/JVM runtime installs + .rustup # Rust toolchains + .go # Go workspace + .cargo # Rust package cache + .deno # Deno runtime + cache + .swiftpm # Swift package cache + + # Docker / VM infrastructure (large, or require special handling) + .vagrant .minikube .kube .helm + + # History files (session-specific, not config) .bash_history .zsh_history .zsh_sessions .sh_history .lesshst .wget-hsts .python_history .node_repl_history .ruby_history .irb_history .psql_history .mysql_history .dbshell .viminfo .Xauthority - .Spotlight-V100 .fseventsd .DocumentRevisions-V100 + # Security-sensitive — back up separately with encryption .ssh .gnupg .aws .azure .gcloud .config/gcloud )