Age | Commit message (Collapse) | Author |
|
clarify definition of "installable"
|
|
|
|
the term was hard to discover, as its definition and explanation were in
a very long document lacking an overview section.
search did not help because it occurs so often.
- clarify wording in the definition
- add an overview of installable types
- add "installable" to glossary
- link to definition from occurrences of the term
- be more precise about where store derivation outputs are processed
- installable Nix expressions must evaluate to a derivation
Co-authored-by: Adam Joseph <54836058+amjoseph-nixpkgs@users.noreply.github.com>
|
|
this is easier to edit, provides anchors for free, and renders correctly
on the terminal without additional effort.
|
|
treat empty NIX_STORE_DIR env vars as unset
|
|
|
|
fixes https://github.com/NixOS/nix/pull/7918/files/72e1e230517b1e774d2db97cf9d4750e31ebcaa3#r1124211067
|
|
flake: restore binary-dist artifact to Hydra static builds
|
|
Remove FormatOrString and remaining uses of format()
|
|
remove stale pull request template
|
|
add comments
|
|
the old one seems not to be picked up by GitHub anyway
|
|
feat: read installable paths from stdin
|
|
|
|
|
|
Fix 'make check' inside 'nix develop'
|
|
Log the decompressed body in case of http errors
|
|
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
|
|
|
|
|
|
Check writes to stdout
|
|
|
|
Don't show the users the raw (possibly compressed) error message as
everyone isn't able to decompress brotli in their brain.
|
|
This ensures that in cout(s), 's' does not get interpreted as a format
string.
|
|
Fixes #7939.
|
|
This ensures that write errors do not get ignored.
|
|
Bump version
|
|
|
|
Add ./configure --disable-tests option
|
|
Always set valid in path-info --json output
|
|
Remove needless `--experimental-feature` in a CA drvs test
|
|
This is already blanket enabled for these tests
|
|
Check if NIX_LINK_NEW exists instead of checking that NIX_LINK doesn't exist
|
|
We make sure the env var paths are actually set (ie. not "") before
sending them to the canonicalization function. If we forget to do so,
the user will end up facing a puzzled failed assertion internal error.
We issue a non-failing warning as a stop-gap measure. We could want to
revisit this to issue a detailed failing error message in the future.
|
|
Remove dead code `RemoteStore::sameMachine`
|
|
|
|
It has been dead code since 9747ea84b43c75f719d719673b9d0a7cb50d34e5.
|
|
bobvanderlinden/pr-improve-nix-profile-install-error
Improve error on conflict for nix profile install
|
|
|
|
|
|
For brand new installations, neither NIX_LINK_NEW
(`$XDG_STATE_HOME/nix/profile` or `~/.local/state/nix/profile`), nor
NIX_LINK (`~/.nix-profile`) will exist.
This restores functionality to nix-env, which is relied upon by GitHub
Actions such as https://github.com/cachix/cachix-action and the Nixpkgs
EditorConfig (and other) CI.
|
|
Currently the valid key is only present when the path is invalid, which
makes checking path validity more complex than it should be. With this
change, the valid key can always be used to check if a path is valid
|
|
|
|
The release notes document the change in behavior, I don't include it
here so there is no risk to it getting out of sync.
> Motivation
>> Plumbing CLI should be simple
Store derivation installations are intended as "plumbing": very simple
utilities for advanced users and scripts, and not what regular users
interact with. (Similarly, regular Git users will use branch and tag
names not explicit hashes for most things.)
The plumbing CLI should prize simplicity over convenience; that is its
raison d'etre. If the user provides a path, we should treat it the same
way not caring what sort of path it is.
>> Scripting
This is especially important for the scripting use-case. when arbitrary
paths are sent to e.g. `nix copy` and the script author wants consistent
behavior regardless of what those store paths are. Otherwise the script
author needs to be careful to filter out `.drv` ones, and then run `nix
copy` again with those paths and `--derivation`. That is not good!
>> Surprisingly low impact
Only two lines in the tests need changing, showing that the impact of
this is pretty light.
Many command, like `nix log` will continue to work with just the
derivation passed as before. This because we used to:
- Special case the drv path and replace it with it's outputs (what this
gets rid of).
- Turn those output path *back* into the original drv path.
Now we just skip that entire round trip!
> Context
Issue #7261 lays out a broader vision for getting rid of `--derivation`,
and has this as one of its dependencies. But we can do this with or
without that.
`Installable::toDerivations` is changed to handle the case of a
`DerivedPath::Opaque` ending in `.drv`, which is new: it simply doesn't
need to do any extra work in that case. On this basis, commands like
`nix {show-derivation,log} /nix/store/...-foo.drv` still work as before,
as described above.
When testing older daemons, the post-build-hook will be run against the
old CLI, so we need the old version of the post-build-hook to support
that use-case.
Co-authored-by: Travis A. Everett <travis.a.everett@gmail.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
|
|
|
|
Resolves #7437 for new `nix-store` by adding a `--stdin` flag.
|
|
Resolves #7437 for new `nix` commands only by adding a `--stdin` flag.
If paths are also passed on the cli they will be combined with the ones
from standard input.
|
|
nix-profile{,-daemon}.sh.in: Allow XDG_STATE_HOME to be unset
|
|
One of our CI machines installs Nix via the official script and then
sources the nix-profile.sh script to setup the environment. However, it
doesn't have XDG_STATE_HOME set, which causes sourcing the script to
fail.
|
|
cli-guideline: Add JSON guideline
|