Backport of https://github.com/NixOS/nix/pull/12275 nix-env can read priorities from a derivations meta attributes, but this only works when installing a nix expression. nix-env can also install bare store paths, however meta attributes are not readable in that case. This means that a store path can not be installed with a specific priority. Some cases where it is advantageous to install a store path: a remote host following a `nix copy`, or any time you want to save some evaluation time and happen to already know the store path. This PR addresses this shortcoming by adding a --priority flag to nix-env --install. Change-Id: Ibd9365d0058820a9c2aeecc909b81a0410d5764b
802 B
802 B
synopsis, cls, category, credits
| synopsis | cls | category | credits | |
|---|---|---|---|---|
| `nix-env --install` now accepts a `--priority` flag |
|
Features | andrewhamon |
nix-env --install now has an optional --priority flag.
Previously, it was only possible to specify a priority by adding a
meta.priority attribute to a derivation. meta attributes only exist during
eval, so that wouldn't work for installing a store path. It was also possible
to change a priority after initial installation using nix-env --set-flag,
however if there is already a conflict that needs to be resolved via priorities,
this will not work.
Now, a priority can be set at install time using --priority, which allows for
cleanly overriding the priority at install time.
Example
$ nix-build
$ nix-env --install --priority 100 ./result