|nix3-profile-upgrade(1)||General Commands Manual||nix3-profile-upgrade(1)|
Warning: This program is experimental and its interface is subject to change.
nix profile upgrade - upgrade packages using their most recent flake
nix profile upgrade [option…] elements…
- Upgrade all packages that were installed using a mutable flake reference:
# nix profile upgrade '.*'
- Upgrade a specific package:
# nix profile upgrade packages.x86_64-linux.hello
- Upgrade a specific profile element by number:
# nix profile list 0 flake:nixpkgs#legacyPackages.x86_64-linux.spotify … # nix profile upgrade 0
This command upgrades a previously installed package in a Nix profile, by fetching and evaluating the latest version of the flake from which the package was installed.
This only works if you used a mutable flake reference at installation time, e.g. nixpkgs#hello. It does not work if you used an immutable flake reference (e.g. github:NixOS/nixpkgs/13d0c311e3ae923a00f734b43fd1d35b47d8943a#hello), since in that case the “latest version” is always the same.
- --profile path
The profile to update.
Common evaluation options:
- --arg name expr
Pass the value expr as the argument name to Nix functions.
- --argstr name string
Pass the string string as the argument name to Nix functions.
- --eval-store store-url
The Nix store to use for evaluations.
Allow access to mutable paths and repositories.
- --include / -I path
Add path to the list of locations used to look up <...> file names.
- --override-flake original-ref resolved-ref
Override the flake registries, redirecting original-ref to resolved-ref.
Common flake-related options:
Commit changes to the flake’s lock file.
- --inputs-from flake-url
Use the inputs of the specified flake as registry entries.
Don’t allow lookups in the flake registries. This option is deprecated; use --no-use-registries.
Do not allow any updates to the flake’s lock file.
Do not write the flake’s newly generated lock file.
- --override-input input-path flake-url
Override a specific flake input (e.g. dwarffs/nixpkgs). This implies --no-write-lock-file.
Recreate the flake’s lock file from scratch.
- --update-input input-path
Update a specific flake input (ignoring its previous entry in the lock file).
Options that change the interpretation of installables:
Operate on the store derivation rather than its outputs.
- --expr expr
Interpret installables as attribute paths relative to the Nix expression expr.
- --file / -f file
Interpret installables as attribute paths relative to the Nix expression stored in file. If file is the character -, then a Nix expression will be read from standard input.