# Holosources Holosources are named remote Git branches that content can be pulled from during projection. They can refer to any ref or hash in a remote repository, and optionally a holobranch within that. ## Overriding via environment Holosources can be overridden via `HOLO_SOURCE_*` environment variables. ### Variable names For example, a source named `parent-blueprint` could be overridden via `HOLO_SOURCE_PARENT_BLUEPRINT`. The transformation from source name to environment variable name is applied as follows: - Hyphens (`-`) replaced with underscores (`_`) - All letters capitalized ### Change URL You can change just the URL, preserving declared ref+holobranch: ```bash HOLO_SOURCE_PARENT_BLUEPRINT="https://github.com/myorg/myfork" ``` Local paths work too: ```bash HOLO_SOURCE_PARENT_BLUEPRINT="/src/myfork" ``` ### Change ref You can change just the ref, preserving declared url+holobranch: ```bash HOLO_SOURCE_PARENT_BLUEPRINT="#refs/heads/develop" ``` ### Change holobranch You can change just the holobranch, preserving declared url+ref: ```bash HOLO_SOURCE_PARENT_BLUEPRINT="=>helm-chart" ``` ### Change everything You can reconfigure an entire source: ```bash HOLO_SOURCE_PARENT_BLUEPRINT="/src/myfork#refs/heads/develop=>helm-chart" ``` Or clear out a declared holobranch component to use a native ref directly: ```bash HOLO_SOURCE_PARENT_BLUEPRINT="/src/myfork#refs/heads/develop=>" ```