about summary refs log tree commit diff
path: root/doc
AgeCommit message (Collapse)AuthorFilesLines
2019-08-15 Merge pull request #2945 from danidiaz/doc001Eelco Dolstra1-9/+31
Expanded documentation for .nix-defexpr
2019-08-15 Merge pull request #2782 from grahamc/flamesEelco Dolstra1-0/+28
Track function start and end
2019-08-15 Expanded documentation for .nix-defexprDaniel Diaz1-9/+31
2019-08-14 Track function start and ends for flame graphsGraham Christensen1-0/+28
With this patch, and this file I called `log.py`: #!/usr/bin/env nix-shell #!nix-shell -i python3 -p python3 --pure import sys from pprint import pprint stack = [] timestack = [] for line in open(sys.argv[1]): components = line.strip().split(" ", 2) if components[0] != "function-trace": continue direction = components[1] components = components[2].rsplit(" ", 2) loc = components[0] _at = components[1] time = int(components[2]) if direction == "entered": stack.append(loc) timestack.append(time) elif direction == "exited": dur = time - timestack.pop() vst = ";".join(stack) print(f"{vst} {dur}") stack.pop() and: nix-instantiate --trace-function-calls -vvvv ../nixpkgs/pkgs/top-level/release.nix -A unstable > log.matthewbauer 2>&1 ./log.py ./log.matthewbauer > log.matthewbauer.folded flamegraph.pl --title matthewbauer-post-pr log.matthewbauer.folded > log.matthewbauer.folded.svg I can make flame graphs like: http://gsc.io/log.matthewbauer.folded.svg --- Includes test cases around function call failures and tryEval. Uses RAII so the finish is always called at the end of the function.
2019-08-08 conf: stalled-download-timeout: make tunableGraham Christensen1-0/+8
Make curl's low speed limit configurable via stalled-download-timeout. Before, this limit was five minutes without receiving a single byte. This is much too long as if the remote end may not have even acknowledged the HTTP request.
2019-08-07 fixup: docs for post-build-hookGraham Christensen1-1/+1
2019-08-07 Merge pull request #2995 from tweag/post-build-hookEelco Dolstra3-0/+217
Add a post build hook
2019-08-06 post-build-hook: docs fixupGraham Christensen2-3/+7
2019-08-02 Add a post-build-hookregnat3-0/+213
Passing `--post-build-hook /foo/bar` to a nix-* command will cause `/foo/bar` to be executed after each build with the following environment variables set: DRV_PATH=/nix/store/drv-that-has-been-built.drv OUT_PATHS=/nix/store/...build /nix/store/...build-bin /nix/store/...build-dev This can be useful in particular to upload all the builded artifacts to the cache (including the ones that don't appear in the runtime closure of the final derivation or are built because of IFD). This new feature prints the stderr/stdout output to the `nix-build` and `nix build` client, and the output is printed in a Nix 2 compatible format: [nix]$ ./inst/bin/nix-build ./test.nix these derivations will be built: /nix/store/ishzj9ni17xq4hgrjvlyjkfvm00b0ch9-my-example-derivation.drv building '/nix/store/ishzj9ni17xq4hgrjvlyjkfvm00b0ch9-my-example-derivation.drv'... hello! bye! running post-build-hook '/home/grahamc/projects/github.com/NixOS/nix/post-hook.sh'... post-build-hook: + sleep 1 post-build-hook: + echo 'Signing paths' /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: Signing paths /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: + sleep 1 post-build-hook: + echo 'Uploading paths' /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: Uploading paths /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation post-build-hook: + sleep 1 post-build-hook: + printf 'very important stuff' /nix/store/qr213vjmibrqwnyp5fw678y7whbkqyny-my-example-derivation [nix-shell:~/projects/github.com/NixOS/nix]$ ./inst/bin/nix build -L -f ./test.nix my-example-derivation> hello! my-example-derivation> bye! my-example-derivation (post)> + sleep 1 my-example-derivation (post)> + echo 'Signing paths' /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> Signing paths /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> + sleep 1 my-example-derivation (post)> + echo 'Uploading paths' /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> Uploading paths /nix/store/c263gzj2kb2609mz8wrbmh53l14wzmfs-my-example-derivation my-example-derivation (post)> + sleep 1 my-example-derivation (post)> + printf 'very important stuff' [1 built, 0.0 MiB DL] Co-authored-by: Graham Christensen <graham@grahamc.com> Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2019-08-02 Tweak min-free/max-free descriptionsEelco Dolstra1-5/+9
2019-07-19 docs: document balancing cores and max-jobsGraham Christensen3-2/+128
2019-07-06 Merge pull request #2882 from grahamc/docs/1115-tarball-ttlEelco Dolstra2-2/+27
tarball-ttl: document
2019-07-05 tarball-ttl: documentGraham Christensen2-2/+27
Incorporates text from Niklas Hambüchen in #2978 Closes #1115
2019-07-03 Merge branch 'autoconf-ubuntu-16.04-fixes' of https://github.com/nh2/nixEelco Dolstra1-1/+5
2019-07-03 autoconf: Fix C++17 detection not working on Ubuntu 16.04.Niklas Hambüchen1-1/+1
And probably many other distributions. Until now, ./configure would fail silently printing a warning ./configure: line 4621: AX_CXX_COMPILE_STDCXX_17: command not found and then continuing, later failing with a C++ #error saying that some C++11 feature isn't supported (it didn't even get to the C++17 features). This is because older distributions don't come with the `AX_CXX_COMPILE_STDCXX_17` m4 macro. This commit vendors that macro accordingly. Now ./configure complains correctly: configure: error: *** A compiler with support for C++17 language features is required. On Ubuntu 16.04, ./configure completes if a newer compiler is used, e.g. with gcc-7 from https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test using: ./bootstrap.sh ./configure CXX=g++-7 --disable-doc-gen --with-boost=$(nix-build --no-link '<nixpkgs>' -A boost.dev)
2019-07-03 autoconf: Work around editline not being found on Ubuntu 16.04.Niklas Hambüchen1-0/+4
And probably other Linux distributions with long-term support releases. Also update manual stating what version is needed; I checked that 1.14 is the oldest version with which current nix compiles, and added autoconf feature checks for some functions added in that release that nix uses.
2019-07-02 Merge pull request #2779 from LnL7/build-exit-codesEelco Dolstra1-0/+42
build: add exit code for hash and check mismatches
2019-07-02 Merge pull request #2724 from LnL7/manpage-add-fixedEelco Dolstra1-0/+54
nix-store: document --add-fixed
2019-07-02 Merge pull request #2582 from LnL7/fetchgit-refsEelco Dolstra3-0/+38
fetchGit: allow fetching explicit refs
2019-07-02 nix-store: document --add-fixedDaiderd Jordan1-0/+54
2019-07-02 builtins.fetchGit: document absolute ref supportGraham Christensen3-0/+38
2019-07-02 build: replace 100 offset for build exit codesDaiderd Jordan1-2/+9
2019-07-02 nix-store: document exit codesDaiderd Jordan1-0/+35
2019-06-25 nix-channel: Don't fetch binary-cache-urlEelco Dolstra1-18/+5
This has been ignored since the Perl->C++ rewrite.
2019-06-20 Nix uses the CPP SDK, not JavaBruno Bieth1-2/+2
2019-06-04 Minor typoJorisE1-1/+1
2019-05-21 doc: clarify that optional attrs in a function argument will be ignored ↵Maximilian Bosch1-1/+19
unless specified In `args@{ a ? 1 }: /* ... */` the value `a` won't be a part of `args` unless it's specified when calling the function, the default value will be ignored in this case. My personal point of view is that this behavior is a matter of taste, at least I was pretty sure that unmatched arguments will be a part of `args@` while debugging some Nix code last week. I decided to add a warning to the docs which hopefully reduces the confusion of further Nix developers who thought the same about `args@`.
2019-05-17 docs: describe $IN_NIX_SHELL values (#2796)Vladimír Čunát1-1/+2
See commit 1bffd83e1a9
2019-05-12 Clarify where output from the diff hook goes.Graham Christensen1-4/+5
2019-05-12 diff hook: execute as the build user, and pass the temp dirGraham Christensen2-14/+18
2019-05-12 build: run diff-hook under --check and document diff-hookGraham Christensen3-4/+285
2019-05-08 Merge pull request #2765 from nh2/manual-nixpkgs-wordEelco Dolstra1-3/+3
manual: "Nix Package collection" -> "Nixpkgs package collection".
2019-05-03 Add builtins.hashFileDaniel Schaefer1-0/+13
For text files it is possible to do it like so: `builtins.hashString "sha256" (builtins.readFile /tmp/a)` but that doesn't work for binary files. With builtins.hashFile any kind of file can be conveniently hashed.
2019-04-14 manual: "Nix Package collection" -> "Nixpkgs package collection".Niklas Hambüchen1-3/+3
Makes difference between Nix and Nixpkgs clearer to avoid some common confusion this sentence on IRC. Also disambiguate an "it" reference.
2019-03-31 docs: Mention `--max-jobs 0` to build remotely onlyNiklas Hambüchen2-2/+13
2019-03-25 manual: mention the "channel:" shorthand for NIX_PATHDmitry Kalinkin1-2/+7
Bumped to 15.09 because older channels, when downloaded from nixos.org, require firefox to be accessed via `pkgs.firefox`
2019-03-24 Add isPath primopzimbatm1-0/+8
this is added for completeness' sake since all the other possible `builtins.typeOf` results have a corresponding `builtins.is<Type>`
2019-03-21 manual: include builtins.* for globally available builtinsLinus Heckemann1-0/+17
This improves searchability.
2019-03-16 Link to `builders-use-substitutes` in chapter on distributed buildsJoachim Breitner1-0/+4
fixes #2730.
2019-03-14 docs: fix typo in AllowDirectReadsAndreas Rammhold1-1/+1
It was just missing an `l` but should be fixed anyway.
2019-03-01 manual nitpick: document sha512 support in hashStringVladimír Čunát1-2/+2
2019-01-23 nix-store: make --dump-db take a list of paths to dumpSpencer Baugh1-0/+8
Inside a derivation, exportReferencesGraph already provides a way to dump the Nix database for a specific closure. On the command line, --dump-db gave us the same information, but only for the entire Nix database at once. With this change, one can now pass a list of paths to --dump-db to get the Nix database dumped for just those paths. (The user is responsible for ensuring this is a closure, like for --export). Among other things, this is useful for deploying a closure to a new host without using --import/--export; one can use tar to transfer the store paths, and --dump-db/--load-db to transfer the validity information. This is useful if the new host doesn't actually have Nix yet, and the closure that is being deployed itself contains Nix.
2019-01-20 Merge pull request #2635 from veprbl/patch-7Domen Kožar1-1/+2
manual: "sandbox" option default is "true" on Linux
2019-01-19 manual: "sandbox" option default is "true" on LinuxDmitry Kalinkin1-1/+2
Fixes: 812e39313c ('Enable sandboxing by default')
2019-01-18 Update instructions for Haskell script using nix-shell interpreterSamuel Evans-Powell1-1/+1
- The instructions for using nix-shell as an interpreter has a Haskell script example that doesn't work on more recent versions of Nix. Update the instructions with a working command
2019-01-10 Add 2.2 release notesEelco Dolstra1-4/+118
2019-01-07 Don't look for a "pv" program, or mention it in the manual sourceJohn Ericson1-9/+0
The manual reference was commented out, and the sole reference to this program other than the configure script. Removed both.
2018-12-14 Clarify nix-instantiate --read-write-modePatrick Hilhorst1-1/+3
2018-12-13 Merge pull request #2569 from veprbl/pr/update_prerequisitesEelco Dolstra1-0/+19
docs: add missing prerequisites: brotli, boost, libseccomp
2018-12-13 docs: raise minimal boost version to 1.66Dmitry Kalinkin1-1/+1