# ============================================
# Restic exclude list for macOS user data backup
# Mirrors Time Machine standard exclusions + extras
# ============================================

# --- macOS system/app caches ---
Library/Caches
Library/Logs
Library/Cookies
Library/HTTPStorages
Library/Saved Application State
Library/WebKit/MediaKeys
Library/Containers/*/Data/Library/Caches
Library/Containers/*/Data/Library/Logs
Library/Group Containers/*/Library/Caches
Library/Application Support
Library/Containers

# --- Spotlight & indexing ---
.Spotlight-V100
.fseventsd

# --- Trash ---
.Trash

# --- macOS metadata ---
.DS_Store
.TemporaryItems
.DocumentRevisions-V100

# --- Nix store symlinks (reconstructable) ---
.nix-defexpr
.nix-profile
# Skip files that are nix store symlinks
.zshrc
.zshenv
.manpath

# --- Build artifacts & dependency caches ---
node_modules
.gradle
.ivy2
.m2
.sbt
.npm
.cache
target
__pycache__
*.pyc
.tox
.venv
venv
.data

# --- Go ---
go/pkg

# --- IDE/editor state ---
.vscode/extensions
.vscode-server

# --- Git large objects (restic deduplicates, but no point backing up pack files) ---
.git/objects/pack

# --- Large/reconstructable/synced ---
big-files
Seafile
cloud
Downloads

# --- Application-specific transient data ---
Library/Application Support/Google/Chrome/Default/Service Worker
Library/Application Support/Google/Chrome/Default/Code Cache
Library/Application Support/Google/Chrome/Default/GPUCache
Library/Application Support/Google/Chrome/Default/IndexedDB
Library/Application Support/Google/Chrome/ShaderCache
Library/Application Support/Slack/Service Worker
Library/Application Support/Slack/Code Cache
Library/Application Support/Slack/GPUCache
Library/Application Support/Discord/Code Cache
Library/Application Support/Discord/GPUCache

# --- Photos library (synced from iCloud, very large) ---
Library/Photos

# --- Mail downloads (re-downloadable) ---
Library/Mail/V*/MailData/Envelope Index*

# --- Swap/sleep/VM ---
.SleepImage
.swap*

# --- Claude Code ---
#.claude.json.backup

# --- SSH sockets ---
.ssh/sockets

# --- atuin (shell history sync, reconstructable) ---
#.atuin

# --- zsh compiled/session state ---
.zcompdump*
.zsh_sessions
