1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-07 17:41:00 +01:00

docs: Add self-attribute documentation

This commit is contained in:
a-kenji 2025-07-29 22:59:14 +02:00
parent af01fea5d6
commit 937780ea08

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