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 input names denoting the path of inputs to be followed from the root
flake. 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. Overrides and `follows` can be combined, e.g.
```nix ```nix