Profile Format Reference
Top-Level Shape
json
{
"injections": [
{ "type": "env", "enabled": true, "vars": {}, "ops": [] },
{ "type": "command", "enabled": false, "program": "fnm", "args": ["env", "--shell", "bash"] },
{ "type": "symlink", "enabled": false, "source": "./src", "target": "~/.target", "on_exist": "error", "cleanup": true }
]
}Injection Types
env
Fields:
enabled(defaulttrue)varskey/value pairsopsoperation array
Supported ops:
setset_if_absentprependappendunset
prepend/append extra fields:
separator: custom separator or"os".dedup: remove duplicate segments.
command
Fields:
enabled(defaulttrue)programargs(default empty)
Output must be parseable export KEY=value/KEY=value lines.
symlink
Fields:
enabled(defaulttrue)sourcetargeton_exist:errororreplace(defaulterror)cleanup(defaulttrue)
source and target are normalized to absolute paths during load.
Resource URI Rules
Inside env values:
resource://x/yresolves to<resource_home>/x/y.resource-content://x/yresolves to the file contents.
resource_home is ENVLOCK_RESOURCE_HOME or ~/.envlock/resources.