Age | Commit message (Collapse) | Author | Files | Lines |
|
Instead, if a fixed-output derivation produces has an incorrect output
hash, we now unconditionally move the outputs to the path
corresponding with the actual hash and register it as valid. Thus,
after correcting the hash in the Nix expression (e.g. in a fetchurl
call), the fixed-output derivation doesn't have to be built again.
It would still be good to have a command for reporting the actual hash
of a fixed-output derivation (instead of throwing an error), but
"nix-build --hash" didn't do that.
|
|
|
|
Note that nix-build always creates indirect roots.
Fixes #1830.
|
|
|
|
Closes #323.
|
|
|
|
remote_store: register for NIX_REMOTE=unix://path
|
|
|
|
Following discussion with Shea and Graham. It's a big enough change
from the last release. Also, from a semver perspective, 2.0 makes more
sense because we did remove some interfaces (like nix-pull/nix-push).
|
|
This command upgrades Nix to the latest stable version by installing a
store path obtained from
https://github.com/NixOS/nixpkgs/raw/master/nixos/modules/installer/tools/nix-fallback-paths.nix
which is the same store path that the installer at
https://nixos.org/nix/install.sh uses.
The upgrade fails if Nix is not installed in a profile (e.g. on NixOS,
or when installed outside of the Nix store).
|
|
Fix macOS installation when umask disallow public read (solves #1582)
|
|
|
|
|
|
|
|
|
|
|
|
The latter breaks in the case of cross-compilation, when `cpp` bears a
target prefix.
|
|
Expands first paragraph a bit
Adds a more comprehensive example
|
|
This allows overriding the socket path so the daemon may be listening at
an arbitrary Unix domain socket location.
Fixes #1800
|
|
Some servers, such as Artifactory, allow uploading with PUT and BASIC
auth. This allows nix copy to work to upload binaries to those
servers.
Worked on together with @adelbertc
|
|
This was for backward compatibility. However, with security-related
configuration settings, it's best not to have any confusion.
Issue #495.
|
|
Fix tests using user namespaces on kernels that don't have it
|
|
nlohmann-json: 2.1.1 -> 3.0.1
|
|
Fix obscure corner case in name resolution for builtin:fetchurl in sandboxed environments
|
|
environments
|
|
|
|
https://hydra.nixos.org/build/67806811
|
|
https://hydra.nixos.org/build/67806811
|
|
|
|
Also add a test.
Fixes #1803.
Closes #1805.
|
|
|
|
|
|
This makes it easier to provide a default, e.g.
system = builtins.currentSystem or "x86_64-linux";
|
|
Remove extra space in chat_about_sudo()
|
|
Fix manpath detection
|
|
|
|
Thus --json no longer produces a list.
|
|
|
|
|
|
This doesn't work in pure evaluation mode.
|
|
|
|
In this mode, the following restrictions apply:
* The builtins currentTime, currentSystem and storePath throw an
error.
* $NIX_PATH and -I are ignored.
* fetchGit and fetchMercurial require a revision hash.
* fetchurl and fetchTarball require a sha256 attribute.
* No file system access is allowed outside of the paths returned by
fetch{Git,Mercurial,url,Tarball}. Thus 'nix build -f ./foo.nix' is
not allowed.
Thus, the evaluation result is completely reproducible from the
command line arguments. E.g.
nix build --pure-eval '(
let
nix = fetchGit { url = https://github.com/NixOS/nixpkgs.git; rev = "9c927de4b179a6dd210dd88d34bda8af4b575680"; };
nixpkgs = fetchGit { url = https://github.com/NixOS/nixpkgs.git; ref = "release-17.09"; rev = "66b4de79e3841530e6d9c6baf98702aa1f7124e4"; };
in (import (nix + "/release.nix") { inherit nix nixpkgs; }).build.x86_64-linux
)'
The goal is to enable completely reproducible and traceable
evaluation. For example, a NixOS configuration could be fully
described by a single Git commit hash. 'nixos-rebuild' would do
something like
nix build --pure-eval '(
(import (fetchGit { url = file:///my-nixos-config; rev = "..."; })).system
')
where the Git repository /my-nixos-config would use further fetchGit
calls or Git externals to fetch Nixpkgs and whatever other
dependencies it has. Either way, the commit hash would uniquely
identify the NixOS configuration and allow it to reproduced.
|
|
parseExprFromFile() should be avoided since it doesn't cache anything.
|
|
Fixes #1792.
|
|
nix log: use pager
|
|
Checking for MANPATH without quotes always returns true, so that it breaks bash-completion for man pages on modern systems without MANPATH environment variable.
|
|
Disable various tests if the kernel doesn't support unprivileged user
namespaces (e.g. Arch Linux disables them) or disable them via a sysctl
(Debian, Ubuntu).
Fixes #1521
Fixes #1625
|
|
|
|
|
|
Fixes #1791
|