1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-09 03:56:01 +01:00

docs: Add self-attribute documentation

(cherry picked from commit 937780ea08)
This commit is contained in:
a-kenji 2025-07-29 22:59:14 +02:00 committed by Mergify
parent 7bd00d13b5
commit d9c33be3dd

View file

@ -573,6 +573,27 @@ The value of the `follows` attribute is a `/`-separated sequence of
input names denoting the path of inputs to be followed from the root
flake.
## Self-attributes
Flakes can declare attributes about themselves that affect how they are fetched.
These attributes are specified using the special `self` input and are retroactively
applied to it:
```nix
{
inputs.self.submodules = true;
inputs.self.lfs = true;
}
```
The following self-attributes are supported:
* `submodules`: A Boolean denoting whether Git submodules should be fetched when this flake is used as an input. When set to `true`, Git submodules will be automatically fetched without requiring callers to specify `submodules=1` in the flake reference URL. Defaults to `false`.
* `lfs`: A Boolean denoting whether Git LFS (Large File Storage) files should be fetched when this flake is used as an input. When set to `true`, Git LFS files will be automatically fetched. Defaults to `false`.
These self-attributes eliminate the need for consumers of your flake to manually specify fetching options in their flake references.
Overrides and `follows` can be combined, e.g.
```nix