Age | Commit message (Collapse) | Author |
|
|
|
This avoids an infinite loop in the final test in
tests/binary-cache.sh. I think this was only not triggered previously
by accident (because we were clearing wantedOutputs in between).
|
|
|
|
|
|
|
|
Add builtins.fetchClosure
|
|
|
|
|
|
|
|
|
|
|
|
|
|
make-content-addressed'
|
|
LocalStore::addToStore() since
79ae9e4558cbefd743f28a5e73110c2303b03a85 expects a regular NAR hash,
rather than a NAR hash modulo self-references. Fixes #6300.
Also, makeContentAddressed() now rewrites the entire closure (so 'nix
store make-content-addressable' no longer needs '-r'). See #6301.
|
|
The advantage is that the resulting closure doesn't need to be signed,
so you don't need to configure any binary cache keys on the client.
|
|
|
|
|
|
This allows closures to be imported at evaluation time, without
requiring the user to configure substituters. E.g.
builtins.fetchClosure {
storePath = /nix/store/f89g6yi63m1ywfxj96whv5sxsm74w5ka-python3.9-sqlparse-0.4.2;
from = "https://cache.ngi0.nixos.org";
}
|
|
nix-daemon.conf.in: add tmpfiles file to create nix/daemon-socket directory
|
|
docs: genericClosure
|
|
Fix flake profile use of originalUrl vs. originalUri
|
|
install-multi-user.sh: Preserve symlinks
|
|
|
|
We need to pass -P to ensure that symlinks are copied correctly. Fixes #6303.
|
|
Fixes #5872
|
|
lexer: add error location to lexer errors
|
|
Before the change lexter errors did not report the location:
$ nix build -f. mc
error: path has a trailing slash
(use '--show-trace' to show detailed location information)
Note that it's not clear what file generates the error.
After the change location is reported:
$ src/nix/nix --extra-experimental-features nix-command build -f ~/nm mc
error: path has a trailing slash
at .../pkgs/development/libraries/glib/default.nix:54:18:
53| };
54| src = /tmp/foo/;
| ^
55|
(use '--show-trace' to show detailed location information)
Here we see both problematic file and the string itself.
|
|
/etc/tmpfiles.d/nix-daemon.conf, too
While `create_directories()` from install-multi-user.sh seems to already
create parts of the directory structure, it's marked as deprecated, and
it won't hurt also copying over the tmpfiles config and have it execute
once.
|
|
doc: Add detailed uninstall section for macOS
|
|
nix edit: support kakoune
|
|
|
|
Don't hide repeated values while generating manifest.nix
|
|
Fixes #6243.
|
|
This ensures that it doesn't get parsed as a valid Nix expression.
|
|
buildProfile(): Ignore manifest.{nix,json}
|
|
If a package installs a file named manifest.json, it caused nix-env to
consider the profile a new-style profile created by 'nix
profile'. Fixes #6032.
|
|
Decode string context straight to using StorePaths
|
|
Fix sourcehut tags refs resolving
|
|
The new implementation relies on tab separting the hash and ref (this is how sourcehut does it). This fixes the integration test to use a tab instead of a space.
|
|
|
|
|
|
Generalize DerivationType in preparation for impure derivations
|
|
I gather decoding happens on demand, so I hope don't think this should
have any perf implications one way or the other.
|
|
nix-daemon.socket is used to socket-activate nix-daemon.service when
/nix/var/nix/daemon-socket/socket is accessed.
In container usecases, sometimes /nix/var/nix/daemon-socket is
bind-mounted read-only into the container.
In these cases, we want to skip starting nix-daemon.socket.
However, since systemd 250, `ConditionPathIsReadWrite` is also not met
if /nix/var/nix/daemon-socket doesn't exist at all. This means, a
regular NixOS system will skip starting nix-daemon.socket:
> [ 237.187747] systemd[1]: Nix Daemon Socket was skipped because of a failed condition check (ConditionPathIsReadWrite=/nix/var/nix/daemon-socket).
To prevent this from happening, ship a tmpfiles file that'll cause the
directory to be created if it doesn't exist already.
In the case of NixOS, we can just add Nix to `systemd.tmpfiles.packages`
and have these files picked up automatically.
|
|
|
|
|
|
Easier than using dummy path with input addressed.
|
|
Clean up `DerivationOutput`, and headers
|
|
1. `DerivationOutput` now as the `std::variant` as a base class. And the
variants are given hierarchical names under `DerivationOutput`.
In 8e0d0689be797f9e42f9b43b06f50c1af7f20b4a @matthewbauer and I
didn't know a better idiom, and so we made it a field. But this sort
of "newtype" is anoying for literals downstream.
Since then we leaned the base class, inherit the constructors trick,
e.g. used in `DerivedPath`. Switching to use that makes this more
ergonomic, and consistent.
2. `store-api.hh` and `derivations.hh` are now independent.
In bcde5456cc3295061a0726881c3e441444dd6680 I swapped the dependency,
but I now know it is better to just keep on using incomplete types as
much as possible for faster compilation and good separation of
concerns.
|
|
Fix `nix build --dry-run` with CA derivations
|