forked from lix-project/lix
5cd72598fe
Impure derivations are derivations that can produce a different result every time they're built. Example: stdenv.mkDerivation { name = "impure"; __impure = true; # marks this derivation as impure outputHashAlgo = "sha256"; outputHashMode = "recursive"; buildCommand = "date > $out"; }; Some important characteristics: * This requires the 'impure-derivations' experimental feature. * Impure derivations are not "cached". Thus, running "nix-build" on the example above multiple times will cause a rebuild every time. * They are implemented similar to CA derivations, i.e. the output is moved to a content-addressed path in the store. The difference is that we don't register a realisation in the Nix database. * Pure derivations are not allowed to depend on impure derivations. In the future fixed-output derivations will be allowed to depend on impure derivations, thus forming an "impurity barrier" in the dependency graph. * When sandboxing is enabled, impure derivations can access the network in the same way as fixed-output derivations. In relaxed sandboxing mode, they can access the local filesystem. |
||
---|---|---|
.. | ||
build | ||
builtins | ||
tests | ||
binary-cache-store.cc | ||
binary-cache-store.hh | ||
build-result.hh | ||
builtins.hh | ||
ca-specific-schema.sql | ||
content-address.cc | ||
content-address.hh | ||
crypto.cc | ||
crypto.hh | ||
daemon.cc | ||
daemon.hh | ||
derivations.cc | ||
derivations.hh | ||
derived-path.cc | ||
derived-path.hh | ||
dummy-store.cc | ||
export-import.cc | ||
filetransfer.cc | ||
filetransfer.hh | ||
fs-accessor.hh | ||
gc-store.hh | ||
gc.cc | ||
globals.cc | ||
globals.hh | ||
http-binary-cache-store.cc | ||
legacy-ssh-store.cc | ||
local-binary-cache-store.cc | ||
local-fs-store.cc | ||
local-fs-store.hh | ||
local-store.cc | ||
local-store.hh | ||
local.mk | ||
lock.cc | ||
lock.hh | ||
log-store.hh | ||
machines.cc | ||
machines.hh | ||
make-content-addressed.cc | ||
make-content-addressed.hh | ||
misc.cc | ||
names.cc | ||
names.hh | ||
nar-accessor.cc | ||
nar-accessor.hh | ||
nar-info-disk-cache.cc | ||
nar-info-disk-cache.hh | ||
nar-info.cc | ||
nar-info.hh | ||
nix-store.pc.in | ||
optimise-store.cc | ||
parsed-derivations.cc | ||
parsed-derivations.hh | ||
path-info.cc | ||
path-info.hh | ||
path-with-outputs.cc | ||
path-with-outputs.hh | ||
path.cc | ||
path.hh | ||
pathlocks.cc | ||
pathlocks.hh | ||
profiles.cc | ||
profiles.hh | ||
realisation.cc | ||
realisation.hh | ||
references.cc | ||
references.hh | ||
remote-fs-accessor.cc | ||
remote-fs-accessor.hh | ||
remote-store.cc | ||
remote-store.hh | ||
repair-flag.hh | ||
s3-binary-cache-store.cc | ||
s3-binary-cache-store.hh | ||
s3.hh | ||
sandbox-defaults.sb | ||
sandbox-minimal.sb | ||
sandbox-network.sb | ||
schema.sql | ||
serve-protocol.hh | ||
sqlite.cc | ||
sqlite.hh | ||
ssh-store.cc | ||
ssh.cc | ||
ssh.hh | ||
store-api.cc | ||
store-api.hh | ||
store-cast.hh | ||
uds-remote-store.cc | ||
uds-remote-store.hh | ||
worker-protocol.hh |