aboutsummaryrefslogtreecommitdiff
path: root/doc/manual
AgeCommit message (Collapse)Author
2019-09-30Merge pull request #3080 from Infinisil/tryEval-docsDomen Kožar
docs: Note that tryEval doesn't do deep evaluation
2019-09-23Update garbage-collection.xml readabilityJoseph Lucas
1. remove a typo space 2. Simplify negative style by using affirmative style
2019-09-17Move 'builtins.splitVersion' to position respecting alphabetical orderAlexandre Esteves
2019-09-11docs: Use the explicit ref for fetchGit with a tagJulien Tanguy
With the merge of #2582, the syntax "tags/1.9" for refs does not work anymore. However, the new syntax "refs/tags/1.9" seems to support annotated tags, such as "refs/tags/2.0". Closes #2385.
2019-09-11docs: Fix a typo in github in an exampleJulien Tanguy
2019-09-04Tweak release notesEelco Dolstra
2019-09-04Set release dateEelco Dolstra
2019-09-03docs: Note that tryEval doesn't do deep evaluationSilvan Mosberger
2019-08-29Merge pull request #3048 from toonn/nix-env_docEelco Dolstra
Fix nix-env documentation for --delete-generations
2019-08-29Reword to clarify newer generations are left alonetoonn
My attempt at clarifying the docs resulted in a false explanation. This is now fixed and I added an example to eliminate all possible confusion.
2019-08-27Merge branch 'master' of github.com:NixOS/nixEelco Dolstra
2019-08-27Update release notesEelco Dolstra
2019-08-27Merge pull request #3056 from grahamc/operatorsEelco Dolstra
operators: document exact precedence, split up similar operators
2019-08-27Add 2.3 release notesEelco Dolstra
2019-08-27docs: operators: Make OR and AND capitalizedGraham Christensen
2019-08-24Merge pull request #2946 from vmandela/proxyGraham Christensen
installer: handle network proxy in systemd multi-user install
2019-08-24docs: document the installer's use of proxy env varsGraham Christensen
2019-08-23operators: document exact precedenc, split up similar operatorsGraham Christensen
2019-08-17Fix nix-env documentation for --delete-generationsToon Nolten
The documentation for `--delete-generations` had an erroneous fullstop and as it turns out inaccurate information on the `+No.` syntax.
2019-08-15Merge pull request #2945 from danidiaz/doc001Eelco Dolstra
Expanded documentation for .nix-defexpr
2019-08-15Merge pull request #2782 from grahamc/flamesEelco Dolstra
Track function start and end
2019-08-15Expanded documentation for .nix-defexprDaniel Diaz
2019-08-14Track function start and ends for flame graphsGraham Christensen
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-08conf: stalled-download-timeout: make tunableGraham Christensen
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-07fixup: docs for post-build-hookGraham Christensen
2019-08-07Merge pull request #2995 from tweag/post-build-hookEelco Dolstra
Add a post build hook
2019-08-06post-build-hook: docs fixupGraham Christensen
2019-08-02Add a post-build-hookregnat
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-02Tweak min-free/max-free descriptionsEelco Dolstra
2019-07-19docs: document balancing cores and max-jobsGraham Christensen
2019-07-06Merge pull request #2882 from grahamc/docs/1115-tarball-ttlEelco Dolstra
tarball-ttl: document
2019-07-05tarball-ttl: documentGraham Christensen
Incorporates text from Niklas Hambüchen in #2978 Closes #1115
2019-07-03Merge branch 'autoconf-ubuntu-16.04-fixes' of https://github.com/nh2/nixEelco Dolstra
2019-07-03autoconf: Fix C++17 detection not working on Ubuntu 16.04.Niklas Hambüchen
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-03autoconf: Work around editline not being found on Ubuntu 16.04.Niklas Hambüchen
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-02Merge pull request #2779 from LnL7/build-exit-codesEelco Dolstra
build: add exit code for hash and check mismatches
2019-07-02Merge pull request #2724 from LnL7/manpage-add-fixedEelco Dolstra
nix-store: document --add-fixed
2019-07-02Merge pull request #2582 from LnL7/fetchgit-refsEelco Dolstra
fetchGit: allow fetching explicit refs
2019-07-02nix-store: document --add-fixedDaiderd Jordan
2019-07-02builtins.fetchGit: document absolute ref supportGraham Christensen
2019-07-02build: replace 100 offset for build exit codesDaiderd Jordan
2019-07-02nix-store: document exit codesDaiderd Jordan
2019-06-25nix-channel: Don't fetch binary-cache-urlEelco Dolstra
This has been ignored since the Perl->C++ rewrite.
2019-06-20Nix uses the CPP SDK, not JavaBruno Bieth
2019-06-04Minor typoJorisE
2019-05-21doc: clarify that optional attrs in a function argument will be ignored ↵Maximilian Bosch
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-17docs: describe $IN_NIX_SHELL values (#2796)Vladimír Čunát
See commit 1bffd83e1a9
2019-05-12Clarify where output from the diff hook goes.Graham Christensen
2019-05-12diff hook: execute as the build user, and pass the temp dirGraham Christensen
2019-05-12build: run diff-hook under --check and document diff-hookGraham Christensen