Age | Commit message (Collapse) | Author |
|
|
|
Fixes #6732.
|
|
|
|
non-existant -> non-existent
|
|
flakes: throw an error if `follows`-declaration for an input is invalid
|
|
|
|
|
|
|
|
I recently got fairly confused why the following expression didn't have
any effect
{
description = "Foobar";
inputs.sops-nix = {
url = github:mic92/sops-nix;
inputs.nixpkgs_22_05.follows = "nixpkgs";
};
}
until I found out that the input was called `nixpkgs-22_05` (please note
the dash vs. underscore).
IMHO it's not a good idea to not throw an error in that case and
probably leave end-users rather confused, so I implemented a small check
for that which basically checks whether `follows`-declaration from
overrides actually have corresponding inputs in the transitive flake.
In fact this was done by accident already in our own test-suite where
the removal of a `follows` was apparently forgotten[1].
Since the key of the `std::map` that holds the `overrides` is a vector
and we have to find the last element of each vector (i.e. the override)
this has to be done with a for loop in O(n) complexity with `n` being
the total amount of overrides (which shouldn't be that large though).
Please note that this doesn't work with nested expressions, i.e.
inputs.fenix.inputs.nixpkgs.follows = "...";
which is a known problem[2].
For the expression demonstrated above, an error like this will be
thrown:
error: sops-nix has a `follows'-declaration for a non-existant input nixpkgs_22_05!
[1] 2664a216e57169ec57d7f51be1b8383c1be83fd5
[2] https://github.com/NixOS/nix/issues/5790
|
|
Improve shell completion of flake inputs
|
|
|
|
|
|
|
|
|
|
Defers completion of flake inputs until the whole command line is parsed
so that we know what flakes we need to complete the inputs of.
Previously, `nix build flake --update-input <Tab>` always behaved like
`nix build . --update-input <Tab>`.
|
|
|
|
Co-Authored-By: Silvan Mosberger <contact@infinisil.com>
Add builtins.traceVerbose tests
|
|
nix-shell: restore backwards-compat with old nixpkgs
|
|
flakes: apply templates partially on conflicts
|
|
Nix repl flakes
|
|
virusdave/dnicponski/scratch/dont_capture_stdout_in_nix_repl_master
Don't capture `stdout` when launching subshells in `nix repl`
|
|
nix develop: save XDG_DATA_DIRS for loadable completion
|
|
|
|
Don't fail if we can't create ~/.local/share/nix/root
|
|
https://hydra.nixos.org/build/182135943
|
|
Otherwise they don't survive reformatting, see the failure in
https://github.com/NixOS/nix/pull/6721.
|
|
doc: Fix typo
|
|
nar-info-disk-cache: refresh nix-cache-info weekly
|
|
|
|
After skipping because of being of identical content it tried to git add it.
|
|
|
|
https://github.com/NixOS/nix/pull/6699#discussion_r904097147
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
|
|
https://github.com/NixOS/nix/pull/6699#discussion_r904096906
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
|
|
|
|
Fetch flake-registry.json from channels.nixos.org
|
|
Automatically use a chroot store if /nix doesn't exist
|
|
|
|
Forbid the tilde expansion in pure eval mode
|
|
|
|
eval-cache: cast rowId to correct type
|
|
Using fastly is slightly faster, provides some resilience due to a
high stale TTL, and allows some usage metrics.
|
|
Prevents errors when running with UBSan:
/nix/store/j5vhrywqmz1ixwhsmmjjxa85fpwryzh0-gcc-11.3.0/include/c++/11.3.0/bits/stl_pair.h:353:4: runtime error: load of value 229, which is not a valid value for type 'AttrType'
|
|
|
|
This was unused everywhere (and even the official NixOS binary cache
did not produce .narinfo files containing a "System:" field).
|
|
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
|
|
Specifically, if we're not root and the daemon socket does not exist,
then we use ~/.local/share/nix/root as a chroot store. This enables
non-root users to download nix-static and have it work out of the box,
e.g.
ubuntu@ip-10-13-1-146:~$ ~/nix run nixpkgs#hello
warning: '/nix' does not exists, so Nix will use '/home/ubuntu/.local/share/nix/root' as a chroot store
Hello, world!
|
|
Embed the sandbox shell into the statically linked 'nix' binary
|
|
|
|
libstore: improve warning message on missing sig
|
|
With this, Nix will write a copy of the sandbox shell to /bin/sh in
the sandbox rather than bind-mounting it from the host filesystem.
This makes /bin/sh work out of the box with nix-static, i.e. you no
longer get
/nix/store/qa36xhc5gpf42l3z1a8m1lysi40l9p7s-bootstrap-stage4-stdenv-linux/setup: ./configure: /bin/sh: bad interpreter: No such file or directory
|