aboutsummaryrefslogtreecommitdiff
path: root/src/nix
AgeCommit message (Collapse)Author
2020-05-05Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-05-05nix doctor: ConsistencyEelco Dolstra
2020-05-05nix --help: Group commandsEelco Dolstra
2020-05-04Flag: Use designated initializersEelco Dolstra
2020-05-01Fix buildEelco Dolstra
2020-05-01rename nix run to nix shell and nix app to nix runMatthew Kenigsberg
(cherry picked from commit 5d8504b9789ffebabe8226227c4061dd48354177)
2020-05-01Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-04-30nix dev-shell: Unset shellHookEelco Dolstra
This avoids inheriting the caller's shellHook, which can happen when running a dev-shell inside a dev-shell.
2020-04-30nix dev-shell: Support structured attrsEelco Dolstra
Tested against https://github.com/NixOS/nixpkgs/pull/72074. Fixes #3540.
2020-04-30nix dev-shell: Refactor script for getting the environmentEelco Dolstra
2020-04-29rename nix run to nix shell and nix app to nix runMatthew Kenigsberg
2020-04-29nix copy: Build derivationsEelco Dolstra
Fixes $ nix copy .#hydraJobs.vendoredCrates --to /tmp/nix error: path '/nix/store/...' is not valid
2020-04-29nix copy: Move --from / --to checkEelco Dolstra
This means you now get an error message *before* stuff gets built: $ nix copy .#hydraJobs.vendoredCrates error: you must pass '--from' and/or '--to' Try 'nix --help' for more information.
2020-04-29Evaluation cache: Don't barf in read-only modeEelco Dolstra
Fixes $ nix copy warning: Git tree '/home/eelco/Dev/nix-flake' is dirty nix: src/nix/installables.cc:348: std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, nix::FlakeRef, nix::InstallableValue::DerivationInfo> nix::InstallableFlake::toDerivation(): Assertion `state->store->isValidPath(drvPath)' failed. Aborted (core dumped)
2020-04-29Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-04-28rename to NIX_GCROOTMatthew Kenigsberg
2020-04-27Improve path:// handlingEelco Dolstra
In particular, doing 'nix build /path/to/dir' now works if /path/to/dir is not a Git tree (it only has to contain a flake.nix file). Also, 'nix flake init' no longer requires a Git tree (but it will do a 'git add flake.nix' if it's a Git tree)
2020-04-27flake-template.nix: Add defaultPackageEelco Dolstra
2020-04-27commentMatthew Kenigsberg
2020-04-27Set GCROOT to store path to prevent garbage collectionMatthew Kenigsberg
2020-04-27Improve error message when an argument is not a flakeEelco Dolstra
2020-04-27nix search: Search legacyPackages recursivelyEelco Dolstra
2020-04-24nix search: Show versionEelco Dolstra
2020-04-20Revive 'nix search'Eelco Dolstra
It uses the evaluation cache now rather than the ad hoc JSON cache.
2020-04-20Move eval-cache.{cc,hh}Eelco Dolstra
2020-04-20Get rid of the old eval cacheEelco Dolstra
2020-04-19Store more stuff in the evaluation cacheEelco Dolstra
In particular, we store whether an attribute failed to evaluate (threw an exception) or was an unsupported type. This is to ensure that a repeated 'nix flake show' never has to evaluate anything, so it can execute without fetching the flake. With this, 'nix flake show nixpkgs/nixos-20.03 --legacy' executes in 0.6s (was 3.4s).
2020-04-18Eval cache: Don't replace real attributes with placeholdersEelco Dolstra
2020-04-17Wrap eval cache creation in a giant transactionEelco Dolstra
This speeds up the creation of the cache for the nixpkgs flake from 21.2s to 10.2s. Oddly, it also speeds up querying the cache (i.e. running 'nix flake show nixpkgs/nixos-20.03 --legacy') from 4.2s to 3.4s. (For comparison, running with --no-eval-cache takes 9.5s, so the overhead of building the SQLite cache is only 0.7s.)
2020-04-17Use a more space/time-efficient representation for the eval cacheEelco Dolstra
2020-04-17Add flag to disable the eval cacheEelco Dolstra
2020-04-17nix flake show: Speed up eval cache biglyEelco Dolstra
In the fully cached case for the 'nixpkgs' flake, it went from 101s to 4.6s. Populating the cache went from 132s to 17.4s (which could probably be improved further by combining INSERTs).
2020-04-17nix flake show: Support appsEelco Dolstra
2020-04-17Hide progress bar on exitEelco Dolstra
2020-04-17nix flake show: Use evaluation cacheEelco Dolstra
2020-04-16Add 'nix flake show' commandEelco Dolstra
2020-04-16FixEelco Dolstra
2020-04-16Use RootValueEelco Dolstra
2020-04-16Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-04-16Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-04-16Use Logger::stdout()Eelco Dolstra
(cherry picked from commit 8f41847394524fcac40d3b5620139ca7e94a18e3)
2020-04-16Logger: Add method for writing to stdoutEelco Dolstra
Usually this just writes to stdout, but for ProgressBar, we need to clear the current line, write the line to stdout, and then redraw the progress bar. (cherry picked from commit 696c026006a6ac46adc990ed5cb0f31535bac076)
2020-04-16Use RootValueEelco Dolstra
2020-04-16Use Logger::stdout()Eelco Dolstra
2020-04-16Logger: Add method for writing to stdoutEelco Dolstra
Usually this just writes to stdout, but for ProgressBar, we need to clear the current line, write the line to stdout, and then redraw the progress bar.
2020-04-13SourceExprCommand: allocate the vSourceExpr via uncollectable memoryAndreas Rammhold
Previously the memory would occasionally be collected during eval since the GC doesn't consider the member variable as alive / doesn't scan the region of memory where the pointer lives. By using the traceable_allocator<T> allocator provided by Boehm GC we can ensure the memory isn't collected. It should be properly freed when SourceExprCommand goes out of scope.
2020-04-10Remove flake 'edition' fieldEelco Dolstra
Future editions of flakes or the Nix language can be supported by renaming flake.nix (e.g. flake-v2.nix). This avoids a bootstrap problem where we don't know which grammar to use to parse flake*.nix. It also allows a project to support multiple flake editions, in theory.
2020-04-09Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2020-04-08datatransfer.{cc,hh} -> filetransfer.{cc,hh}Nikola Knezevic
2020-04-08DataTransfer -> FileTransferNikola Knezevic