Skip to content

Automated Dependency Updates for Nix

Categories: no-category

Renovate supports updating Nix dependencies.

Enabling

Nix functionality is currently in beta testing, so you must opt-in to test it. To enable it, add a configuration like this to either your bot config or your renovate.json:

{
  "nix": {
    "enabled": true
  }
}

If you find any bugs, please create a new discussion first. If you find that it works well, then let us know too.

File Matching

By default, Renovate will check any files matching the following regular expression: (^|/)flake\.nix$.

For details on how to extend a manager's fileMatch value, please follow this link.

Supported datasources

This manager supports extracting the following datasources: git-refs.

Default config

{
  "fileMatch": [
    "(^|/)flake\\.nix$"
  ],
  "commitMessageTopic": "nix",
  "commitMessageExtra": "to {{newValue}}",
  "enabled": false
}

Additional Information

The nix manager supports:

For specifying packageRules it is important to know how depName and packageName are defined for nix updates:

  • The depName field is equal to the nix flake input name, eg. nix.inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; would have the depName of nixpkgs
  • The packageName field is equal to the fully-qualified root URL of the package source, eg. https://github.com/NixOS/nixpkgs for the above example.