about summary refs log tree commit diff
path: root/src/nix
AgeCommit message (Collapse)AuthorFilesLines
2018-06-18 progress-bar: re-draw last update if nothing new for 1sec.Will Dietz1-2/+3
Slightly nicer behavior when updates are somewhat far apart (during a long linking step, perhaps) ensuring things don't appear unresponsive. If we wait the maximum amount for the update, don't bother waiting another 50ms (for rate-limiting purposes) and just check if we should quit. This also ensures we'll notice the request to quit within 1s if quit is signalled but there is not an udpate. (I'm not sure if this happens or not)
2018-06-13 nix: Remove special handling of .drv filesEelco Dolstra1-22/+2
This makes 'nix copy' and 'nix path-info' work on .drv store paths. Removing special treatment of .drv files seems the most future-proof approach given the possible removal of .drv files in the future. Note that 'nix build' will still build (rather than substitute) .drv paths due to the unfortunate overloading in Store::buildPaths().
2018-06-12 Move EvalState from the stack to the heapEelco Dolstra2-8/+8
EvalState contains a few counters (e.g. nrValues) that increase quickly enough that they end up being interpreted as pointers by the garbage collector. Moving it to the heap makes them invisible to the garbage collector. This reduces the max RSS doing 100 evaluations of nixos.tests.firefox.x86_64-linux.drvPath from 455 MiB to 292 MiB. Note: ideally, allocations would be much further up in the 64-bit address space to reduce the odds of an integer being misinterpreted as a pointer. Maybe we can use some linker magic to move the .bss segment to a higher address.
2018-05-30 Move evaluator-specific settings out of libstoreEelco Dolstra1-1/+1
2018-05-30 Modularize config settingsEelco Dolstra2-6/+9
Allow global config settings to be defined in multiple Config classes. For example, this means that libutil can have settings and evaluator settings can be moved out of libstore. The Config classes are registered in a new GlobalConfig class to which config files etc. are applied. Relevant to https://github.com/NixOS/nix/issues/2009 in that it removes the need for ad hoc handling of useCaseHack, which was the underlying cause of that issue.
2018-04-18 Allow multiple search experssions in nix searchDaniel Poelzleithner1-18/+38
The common use case is to search for packages containing multiple words like a "git" "frontend". Having only one expressions makes this simple regular use case very complicated. Instead, search accepts multiple regular epressions which all need to match. nix search git 'gui|frontend' returns a list of all git uis for example
2018-04-17 Handle arguments in $EDITOREelco Dolstra1-2/+2
Fixes #2079.
2018-04-16 nix repl: Fix multiline SIGINT handling.Félix Baylac-Jacqué1-0/+1
Fixes #2076
2018-04-11 Fix #2057Eelco Dolstra1-0/+1
2018-03-30 nix copy: add an example with S3zimbatm1-0/+6
I couldn't find a good example how to use it with non-us-east-1 buckets.
2018-03-29 Remove reference to non-existent manpagesEelco Dolstra1-0/+2
2018-03-15 Filter ANSI colors when not writing to a terminalEelco Dolstra1-1/+1
Fixes https://github.com/NixOS/nixpkgs/issues/37114.
2018-03-13 Merge pull request #1906 from dtzWill/fix/nix-searchShea Levy1-1/+6
nix search: tests and fix #1893 and part of #1892
2018-03-02 Merge branch 'improve-search-algorithm' of git://github.com/Ma27/nixShea Levy1-6/+6
2018-03-02 Merge branch 'write-failure-fixes' of git://github.com/lheckemann/nixShea Levy1-0/+1
2018-02-26 nix run: Fix segfault on macOSEelco Dolstra1-3/+1
Note that clearenv() is not available on macOS. Fixes #1907.
2018-02-25 nix search: explicitly handle empty search string, fixes #1893Will Dietz1-0/+5
This is important since this is given as an example. Other patterns containing "empty search string" will still be handled differently on different platforms ("asdf|") but that's less of an issue.
2018-02-25 nix search: fix bug where we wrote to cache when shouldn't, breakingWill Dietz1-1/+1
This is exposed by the tests added previously, and resolves the error reported in #1892: "expected JSON value".
2018-02-22 Merge branch 'fix/dry-run-partially' of https://github.com/dtzWill/nixEelco Dolstra1-0/+2
2018-02-21 Manual: Update chapter on remote buildsEelco Dolstra1-0/+35
Alos add a command "nix ping-store" to make it easier to see if Nix can connect to a remote builder (e.g. 'nix ping-store --store ssh://mac').
2018-02-21 nix-copy: fix examplesJörg Thalheim1-3/+3
maybe a left-over from nix-store -r ?
2018-02-19 Update release notesEelco Dolstra2-0/+24
Also add some examples to nix --help.
2018-02-13 Fix #1762Linus Heckemann1-0/+1
nix-store --export, nix-store --dump, and nix dump-path would previously fail silently if writing the data out failed, because a) FdSink::write ignored exceptions, and b) the commands relied on FdSink's destructor, which ignores exceptions, to flush the data out. This could cause rather opaque issues with installing nixos, because nix-store --export would happily proceed even if it couldn't write its data out (e.g. if nix-store --import on the other side of the pipe failed). This commit adds tests that expose these issues in the nix-store commands, and fixes them for all three.
2018-02-13 Merge branch 'plugins' of https://github.com/shlevy/nixEelco Dolstra1-0/+2
2018-02-12 toBuildables -> buildEelco Dolstra3-4/+4
2018-02-08 Add plugins to make Nix more extensible.Shea Levy1-0/+2
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2018-02-07 nix build: Don't create output links with --dry-run.Will Dietz1-0/+2
Fixes #1849.
2018-02-07 Improve filtering of ANSI escape sequences in build logsEelco Dolstra1-39/+4
All ANSI sequences except color setting are now filtered out. In particular, terminal resets (such as from NixOS VM tests) are filtered out. Also, fix the completely broken tab character handling.
2018-02-06 Update the progress bar at most 20 times per secondEelco Dolstra2-14/+31
Fixes #1834.
2018-02-05 Tweak progress bar messageEelco Dolstra1-1/+6
Say "copying" instead of "fetching" when copying from another local store. Nice for nixos-install.
2018-01-31 Add 'nix upgrade-nix' commandEelco Dolstra3-1/+137
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).
2018-01-17 nix eval: Stop progress bar before printing the resultEelco Dolstra1-0/+4
2018-01-17 nix eval: Take only one argumentEelco Dolstra1-15/+11
Thus --json no longer produces a list.
2018-01-16 parseExprFromFile -> evalFileEelco Dolstra1-4/+2
parseExprFromFile() should be avoided since it doesn't cache anything.
2018-01-12 nix log: use pagerWill Dietz1-0/+1
2017-12-26 nix repl: use linenoiseKeyType to differentiate ^C and ^DWill Dietz1-1/+10
Fixes #1757.
2017-12-14 edit: Catch stoi exceptions from line number parsingBen Gamari1-1/+6
2017-12-12 search.cc: sort attribute names with `std::map`Maximilian Bosch1-6/+6
2017-12-11 Fix forward-decl of Bindings as "class", match definition.Will Dietz1-1/+1
(appease clang -Wmismatched-tags warning)
2017-12-11 Merge branch 'feature/linenoise-ng' of git://github.com/dtzWill/nixShea Levy2-2/+2
2017-12-04 Fix #1635.Eelco Dolstra1-3/+18
2017-11-27 no "linenoiseFree" in linenoise-ngWill Dietz1-1/+1
2017-11-27 replace vendored linenoise with linenoise-ngWill Dietz1-1/+1
2017-11-20 nix eval --raw: Use coerceToString()Eelco Dolstra1-2/+6
Thus, $ nix eval --raw '("foo")' foo $ nix eval --raw nixpkgs.hello /nix/store/1y6ckg6khrdsvll54s5spcmf3w6ka9k4-hello-2.10 $ nix eval --raw '(/etc/resolv.conf)' /nix/store/vml92ama92i8mz013nny461mlvg8mvap-resolv.conf
2017-11-20 nix run: Fix "flag '--command' requires 2 argument(s)"Eelco Dolstra1-1/+1
2017-11-20 nix run: Fix accidental removal of /nix/store existence checkEelco Dolstra1-1/+1
Parenthetical to #1686, we don't need to create a new root if we can just bind-mount on top of the existing /nix/store.
2017-11-20 nix run: Ignore non-directories while setting up the chrootEelco Dolstra1-3/+6
Fixes #1686.
2017-11-14 nix ls-{nar,store} --json: Respect -REelco Dolstra1-1/+1
2017-11-14 Don't indent JSON outputEelco Dolstra4-4/+4
2017-11-14 nix ls-{store,nar}: Add --json flagEelco Dolstra1-6/+15