aboutsummaryrefslogtreecommitdiff
path: root/src/nix
AgeCommit message (Collapse)Author
2018-06-12Move EvalState from the stack to the heapEelco Dolstra
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-30Move evaluator-specific settings out of libstoreEelco Dolstra
2018-05-30Modularize config settingsEelco Dolstra
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-18Allow multiple search experssions in nix searchDaniel Poelzleithner
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-17Handle arguments in $EDITOREelco Dolstra
Fixes #2079.
2018-04-16nix repl: Fix multiline SIGINT handling.Félix Baylac-Jacqué
Fixes #2076
2018-04-11Fix #2057Eelco Dolstra
2018-03-30nix copy: add an example with S3zimbatm
I couldn't find a good example how to use it with non-us-east-1 buckets.
2018-03-29Remove reference to non-existent manpagesEelco Dolstra
2018-03-15Filter ANSI colors when not writing to a terminalEelco Dolstra
Fixes https://github.com/NixOS/nixpkgs/issues/37114.
2018-03-13Merge pull request #1906 from dtzWill/fix/nix-searchShea Levy
nix search: tests and fix #1893 and part of #1892
2018-03-02Merge branch 'improve-search-algorithm' of git://github.com/Ma27/nixShea Levy
2018-03-02Merge branch 'write-failure-fixes' of git://github.com/lheckemann/nixShea Levy
2018-02-26nix run: Fix segfault on macOSEelco Dolstra
Note that clearenv() is not available on macOS. Fixes #1907.
2018-02-25nix search: explicitly handle empty search string, fixes #1893Will Dietz
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-25nix search: fix bug where we wrote to cache when shouldn't, breakingWill Dietz
This is exposed by the tests added previously, and resolves the error reported in #1892: "expected JSON value".
2018-02-22Merge branch 'fix/dry-run-partially' of https://github.com/dtzWill/nixEelco Dolstra
2018-02-21Manual: Update chapter on remote buildsEelco Dolstra
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-21nix-copy: fix examplesJörg Thalheim
maybe a left-over from nix-store -r ?
2018-02-19Update release notesEelco Dolstra
Also add some examples to nix --help.
2018-02-13Fix #1762Linus Heckemann
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-13Merge branch 'plugins' of https://github.com/shlevy/nixEelco Dolstra
2018-02-12toBuildables -> buildEelco Dolstra
2018-02-08Add plugins to make Nix more extensible.Shea Levy
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2018-02-07nix build: Don't create output links with --dry-run.Will Dietz
Fixes #1849.
2018-02-07Improve filtering of ANSI escape sequences in build logsEelco Dolstra
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-06Update the progress bar at most 20 times per secondEelco Dolstra
Fixes #1834.
2018-02-05Tweak progress bar messageEelco Dolstra
Say "copying" instead of "fetching" when copying from another local store. Nice for nixos-install.
2018-01-31Add 'nix upgrade-nix' commandEelco Dolstra
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-17nix eval: Stop progress bar before printing the resultEelco Dolstra
2018-01-17nix eval: Take only one argumentEelco Dolstra
Thus --json no longer produces a list.
2018-01-16parseExprFromFile -> evalFileEelco Dolstra
parseExprFromFile() should be avoided since it doesn't cache anything.
2018-01-12nix log: use pagerWill Dietz
2017-12-26nix repl: use linenoiseKeyType to differentiate ^C and ^DWill Dietz
Fixes #1757.
2017-12-14edit: Catch stoi exceptions from line number parsingBen Gamari
2017-12-12search.cc: sort attribute names with `std::map`Maximilian Bosch
2017-12-11Fix forward-decl of Bindings as "class", match definition.Will Dietz
(appease clang -Wmismatched-tags warning)
2017-12-11Merge branch 'feature/linenoise-ng' of git://github.com/dtzWill/nixShea Levy
2017-12-04Fix #1635.Eelco Dolstra
2017-11-27no "linenoiseFree" in linenoise-ngWill Dietz
2017-11-27replace vendored linenoise with linenoise-ngWill Dietz
2017-11-20nix eval --raw: Use coerceToString()Eelco Dolstra
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-20nix run: Fix "flag '--command' requires 2 argument(s)"Eelco Dolstra
2017-11-20nix run: Fix accidental removal of /nix/store existence checkEelco Dolstra
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-20nix run: Ignore non-directories while setting up the chrootEelco Dolstra
Fixes #1686.
2017-11-14nix ls-{nar,store} --json: Respect -REelco Dolstra
2017-11-14Don't indent JSON outputEelco Dolstra
2017-11-14nix ls-{store,nar}: Add --json flagEelco Dolstra
2017-11-14Make config options available to legacy commandsEelco Dolstra
2017-10-24More progress indicator improvementsEelco Dolstra
In particular, don't show superfluous "fetching path" and "building path(s)" messages, and show the current round (with --repeat).