Skip to content

Commit 50ac241

Browse files
Add Nix flakes to Dependabot supported ecosystems (#43717)
Co-authored-by: Sharra-writes <sharra-writes@github.com>
1 parent 1b3c7c4 commit 50ac241

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

content/code-security/reference/supply-chain-security/dependabot-options-reference.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,7 @@ When set to `dependency-name`, {% data variables.product.prodname_dependabot %}
308308
**Limitations of cross-directory grouping**
309309

310310
When using `group-by: dependency-name`:
311+
311312
* All directories must use the same package ecosystem (for example, all `npm` or all `bundler`)
312313
* Applies to **version updates only**
313314
* If directories have incompatible version constraints for a dependency, {% data variables.product.prodname_dependabot %} will create separate pull requests
@@ -537,6 +538,9 @@ Package manager | YAML value | Supported versions |
537538
| Go modules | `gomod` | v1 |
538539
| Gradle | `gradle` | Not applicable |
539540
| Maven | `maven` | Not applicable |
541+
| {% ifversion dependabot-nix-support %} |
542+
| Nix flakes | `nix` | Not applicable |
543+
| {% endif %} |
540544
| npm | `npm` | v7, v8, v9, v10 |
541545
| NuGet | `nuget` | {% ifversion fpt or ghec or ghes > 3.14 %}<=6.12.0{% endif %} |
542546
| {% ifversion dependabot-opentofu-support %} |
@@ -713,6 +717,7 @@ Examples : `0 9 * * *`, `every day at 5pm`
713717
`0 9 * * *` is equivalent to "every day at 9am". `every day at 5pm` is equivalent to `0 17 * * *`.
714718

715719
> [!NOTE]
720+
>
716721
> * Timezones must be specified in the [`timezone`](#timezone) parameter and not in the `cronjob`.
717722
> * A `cronjob` type schedule is required to use a `cron` interval.
718723

@@ -872,11 +877,11 @@ New version `1.2.0`
872877
New version `2.0.0`
873878

874879
* `increase`: new constraint `^2.0.0`
875-
* `increase-if-necessary`: new constraint `^2.0.0 `
880+
* `increase-if-necessary`: new constraint `^2.0.0`
876881
* `widen`: new constraint `>=1.0.0 <3.0.0`
877882

878883
> [!NOTE]
879-
> If the package manager you use does not yet support configuring the `versioning-strategy` parameter, or does not support a value you need. The strategy code is open source, so if you'd like a particular ecosystem to support a new strategy, you are always welcome to submit a pull request in https://github.com/dependabot/dependabot-core/.
884+
> If the package manager you use does not yet support configuring the `versioning-strategy` parameter, or does not support a value you need, the strategy code is open source, so if you'd like a particular ecosystem to support a new strategy, you are always welcome to submit a pull request in <https://github.com/dependabot/dependabot-core/>.
880885

881886
{% ifversion dependabot-updates-supported-versioning-tags %}
882887

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Reference: https://github.com/dependabot/dependabot-core/pull/14498
2+
# Nix flake support for Dependabot
3+
versions:
4+
fpt: '*'
5+
ghec: '*'
6+
ghes: '>3.21'

data/reusables/dependabot/supported-package-managers.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ git submodule | `gitsubmodule` | Not applicable | {% octicon "check" aria-lab
3333
Go modules | `gomod` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} |
3434
[Gradle](#gradle) | `gradle` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
3535
[Maven](#maven) | `maven` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
36+
| {% ifversion dependabot-nix-support %} |
37+
[Nix](#nix) | `nix` | Not applicable | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | Not applicable | Not applicable |
38+
| {% endif %} |
3639
npm | `npm` | v7, v8, v9, v10, v11 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
3740
[NuGet](#nuget-cli) | `nuget` | {% ifversion fpt or ghec or ghes > 3.14 %}<=6.12.0{% endif %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
3841
| {% ifversion dependabot-opentofu-support %} |
@@ -146,6 +149,7 @@ To update the Gradle Wrapper, {% data variables.product.prodname_dependabot %} r
146149
For {% data variables.product.prodname_dependabot_security_updates %}, Gradle support is limited to manual uploads of the dependency graph data using the {% data variables.dependency-submission-api.name %}. For more information about the {% data variables.dependency-submission-api.name %}, see [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api).
147150

148151
> [!NOTE]
152+
>
149153
> * When you upload Gradle dependencies to the dependency graph using the {% data variables.dependency-submission-api.name %}, all project dependencies are uploaded, even transitive dependencies that aren't explicitly mentioned in any dependency file. When an alert is detected in a transitive dependency, {% data variables.product.prodname_dependabot %} isn't able to find the vulnerable dependency in the repository, and therefore won't create a security update for that alert.
150154
> * {% data variables.product.prodname_dependabot_version_updates %} will, however, create pull requests when the parent dependency is explicitly declared as a direct dependency in the project's manifest file.
151155
@@ -163,6 +167,16 @@ When configuring {% data variables.product.prodname_dependabot %} for Helm chart
163167

164168
{% data variables.product.prodname_dependabot %} uses information from the `pom.xml` file of dependencies to add links to release information in update pull requests. If the information is omitted from the `pom.xml` file, then it cannot be included in {% data variables.product.prodname_dependabot %} pull requests, see [AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/optimizing-java-packages-dependabot).
165169

170+
{% ifversion dependabot-nix-support %}
171+
172+
### Nix
173+
174+
{% data variables.product.prodname_dependabot %} monitors your `flake.lock` file and opens pull requests when newer commits are available upstream for your flake inputs. {% data variables.product.github %}, GitLab, SourceHut, and plain Git inputs are all supported. Updating pinned refs inside `flake.nix` itself (for example, changing `github:cachix/devenv/v0.5` to a newer tag) is not supported.
175+
176+
{% data variables.product.prodname_dependabot %} does not currently support private repositories for the `nix` ecosystem.
177+
178+
{% endif %}
179+
166180
### NuGet CLI
167181

168182
{% data variables.product.prodname_dependabot %} doesn't run the NuGet CLI but does support most features up until version 6.8.0.
@@ -230,6 +244,7 @@ Private registry support applies to git registries only. Swift registries are no
230244
### Terraform
231245

232246
Terraform support includes:
247+
233248
* Modules hosted on Terraform Registry or a publicly reachable Git repository.
234249
* Terraform providers.
235250
* Private Terraform Registry. You can configure access for private git repositories by specifying a git registry in your `dependabot.yml` file. For more information, see [`git`](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#git).

0 commit comments

Comments
 (0)