This program is experimental and its interface is subject to change.


nix upgrade-nix - upgrade Nix to the stable version declared in Nixpkgs


nix upgrade-nix [option...]


  • Upgrade Nix to the stable version declared in Nixpkgs:

    # nix upgrade-nix
  • Upgrade Nix in a specific profile:

    # nix upgrade-nix --profile ~alice/.local/state/nix/profiles/profile


This command upgrades Nix to the stable version declared in Nixpkgs. This stable version is defined in nix-fallback-paths.nix and updated manually. It may not always be the latest tagged release.

By default, it locates the directory containing the nix binary in the $PATH environment variable. If that directory is a Nix profile, it will upgrade the nix package in that profile to the latest stable binary release.

You cannot use this command to upgrade Nix in the system profile of a NixOS system (that is, if nix is found in /run/current-system).


  • --dry-run Show what this command would do without doing it.

  • --nix-store-paths-url url The URL of the file that contains the store paths of the latest Nix release.

  • --profile / -p profile-dir The path to the Nix profile to upgrade.

Logging-related options:

  • --debug Set the logging verbosity level to 'debug'.

  • --log-format format Set the format of log output; one of raw, internal-json, bar or bar-with-logs.

  • --print-build-logs / -L Print full build logs on standard error.

  • --quiet Decrease the logging verbosity level.

  • --verbose / -v Increase the logging verbosity level.

Miscellaneous global options:

  • --help Show usage information.

  • --offline Disable substituters and consider all previously downloaded files up-to-date.

  • --option name value Set the Nix configuration setting name to value (overriding nix.conf).

  • --refresh Consider all previously downloaded files out-of-date.

  • --version Show version information.

Options to override configuration settings: