Go to file
Eelco Dolstra 2825e05d21
Make adding paths via nix-store --serve run in constant memory
It adds a new operation, cmdAddToStoreNar, that does the same thing as
the corresponding nix-daemon operation, i.e. call addToStore(). This
replaces cmdImportPaths, which has the major issue that it sends the
NAR first and the store path second, thus requiring us to store the
incoming NAR either in memory or on disk until we decide what to do
with it.

For example, this reduces the memory usage of

  $ nix copy --to 'ssh://localhost?remote-store=/tmp/nix' /nix/store/95cwv4q54dc6giaqv6q6p4r02ia2km35-blender-2.79

from 267 MiB to 12 MiB.

Probably fixes #1988.
2018-08-03 21:21:16 +02:00
.github Rename 1.12 -> 2.0 2018-01-31 18:58:45 +01:00
config Add config.guess, config.sub and install-sh 2013-11-25 11:26:02 +00:00
corepkgs Make <nix/buildenv.nix> a builtin builder 2018-03-20 17:28:09 +01:00
doc/manual 2.1 release notes: Add note about s3-compatible stores 2018-08-03 11:09:31 -04:00
maintainers upload-release.pl: Copy the install script and sign everything 2018-05-31 11:58:10 +02:00
misc docker: move the docker file to https://github.com/NixOS/docker 2018-06-21 19:13:04 +02:00
mk Fix missing $DESTDIR when installing programs 2018-04-08 18:22:10 -07:00
perl Modularize config settings 2018-05-30 13:28:01 +02:00
scripts release.nix: Generate the installer script 2018-05-30 17:40:08 +02:00
src Make adding paths via nix-store --serve run in constant memory 2018-08-03 21:21:16 +02:00
tests Add a test for LegacySSHStore that doesn't require a VM 2018-08-03 21:20:38 +02:00
.dir-locals.el Add .dir-locals.el for Emacs 2016-01-28 11:12:04 +01:00
.editorconfig Add .editorconfig 2017-06-05 22:57:28 +01:00
.gitignore Make <nix/buildenv.nix> a builtin builder 2018-03-20 17:28:09 +01:00
.travis.yml Test the installer 2017-07-14 12:11:04 -04:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
configure.ac Use $CPPFLAGS when detecting version of aws-sdk-cpp 2018-04-06 00:25:34 -07:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
local.mk Use boost::format from the boost package 2018-03-14 19:24:04 +01:00
Makefile Merge pull request #1997 from dtzWill/fix/cxx14-std-consistency 2018-03-20 18:29:05 +01:00
Makefile.config.in configure: Add a flag to disable seccomp. 2018-02-18 02:35:01 -05:00
nix.spec.in Attempt to fix the RPM build 2018-07-31 14:03:19 +02:00
README.md Fix minor grammatical nitpick ("it's" vs. "its") in README.md. 2017-03-22 10:11:23 -04:00
release-common.nix Include cpptoml for build simplicity 2018-07-03 18:39:36 +02:00
release.nix Disable rpm_fedora27x86_64 2018-07-31 17:34:53 +02:00
shell.nix Fix build on non-x86_64-linux 2018-03-19 11:57:34 +01:00
version bump version to 2.1 2018-04-10 22:58:25 +02:00

Nix, the purely functional package manager

Nix is a new take on package management that is fairly unique. Because of its purity aspects, a lot of issues found in traditional package managers don't appear with Nix.

To find out more about the tool, usage and installation instructions, please read the manual, which is available on the Nix website at http://nixos.org/nix/manual.

Contributing

Take a look at the Hacking Section of the manual. It helps you to get started with building Nix from source.

License

Nix is released under the LGPL v2.1

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit.