Patching Configuration Files
This example demonstrates how to non-destructively patch configuration files using HermitGrab. It’s particularly useful for managing settings in tools like VS Code or Cargo without overwriting user-specific configurations.
Highlights
- JSON Merge Patch: Merges settings into a JSON file, ideal for
settings.json
. - Conditional Logic: The patch is only applied when the
user=vscode
tag is present. - Non-Destructive:
JsonMerge
adds or updates keys without removing existing ones.
[[patch]]
type = "JsonMerge"
source = "vscode_settings.json"
target = "~/.vscode-server/data/Machine/settings.json"
requires = ["user=vscode"]
[[patch]]
source = "config.toml"
target = "~/.cargo/config.toml"
type = "JsonMerge"