No description
Find a file
John Ericson 8368a8aff1 Make docker.nix match Nixpkgs's idioms
1. `target` is the wrong name, that is just for compilers per out
standard terminology. We just need to worry about "build" and "host".

2. We only need one `pkgs`. `pkgs.buildPackages` is how we get anything
we need at build time.

3. `crossSystem` is the name of a nixpkgs parameter that is actually an
attribute set, not a 2-part "cpu-os" string.

3. `pkgsCross` effectively evaluates Nixpkgs twice, which is
inefficient. It is just there for people poking around the CLI / REPL
(and I am skeptical even that is a good idea), and *not* what written
code should use, especially code that is merely parametric in the package set
it is given.

4. We don't need to memoize Nixpkgs here because we are only doing one
pkg set at a time (no `genAttrs`) so it's better to just delete all this
stuff. `flake.nix` instead would do something like that, with
`genAttrs` (though without `pkgsCross`), if and when we have hydra jobs
for cross builds.
2021-11-16 11:04:25 -05:00
.github Add backport action 2021-11-15 08:41:03 -06:00
config Run autoupdate 2021-06-01 11:42:38 +02:00
contrib function-trace: always show the trace 2019-09-18 23:23:21 +02:00
doc/manual Merge branch 'add-docker-image-to-hydra-jobs' of https://github.com/garbas/nix 2021-11-16 13:00:54 +01:00
m4 autoconf: Fix C++17 detection not working on Ubuntu 16.04. 2019-07-03 04:32:25 +02:00
maintainers Update release script 2021-11-02 11:53:25 +01:00
misc Merge pull request #4935 from alyssais/host_os 2021-07-08 12:40:54 +02:00
mk mk/libraries.mk: fix trace-ld and trace-ar expansions 2021-10-08 22:59:42 +01:00
nix-rust Apply OS checks to host platform, not build 2021-06-23 15:00:36 +00:00
perl Expose a perl method to query a derivation 2021-07-30 11:55:14 +02:00
scripts installer: make rc replacement instructions explicit 2021-11-10 14:06:18 -06:00
src Ignore errors unsharing/restoring the mount namespace 2021-11-16 14:48:44 +01:00
tests Flakes: refetch the input when a follows disappears 2021-11-11 12:05:18 +03:00
.dir-locals.el .dir-locals.el: Set c-block-comment-prefix 2020-07-10 11:21:06 +02:00
.editorconfig Add .editorconfig 2017-06-05 22:57:28 +01:00
.gitignore gitignore the libstore-tests executable 2021-10-08 10:12:27 +02:00
.version Bump version to 2.5 2021-10-07 17:39:30 +02:00
boehmgc-coroutine-sp-fallback.diff Fix leaking pthread_attr_t 2021-11-03 22:54:16 +01:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
configure.ac configure: explicit dependency on lowdown library 2021-09-14 07:54:37 +02:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
default.nix Simplify shell.nix and default.nix 2020-06-17 19:21:46 +02:00
docker.nix Make docker.nix match Nixpkgs's idioms 2021-11-16 11:04:25 -05:00
flake.lock flake.lock: Update 2021-10-06 12:41:23 +02:00
flake.nix Docker image with Nix inside 2021-11-11 16:07:01 +01:00
local.mk Remove 'dist' target 2020-12-03 16:17:58 +01:00
Makefile Add a test for RefScanSink and clean up the code 2021-10-04 14:29:42 +02:00
Makefile.config.in Apply OS checks to host platform, not build 2021-06-23 15:00:36 +00:00
precompiled-headers.h Config: Use nlohmann/json 2020-08-20 11:02:16 +02:00
README.md throw freenode down the memory hole 2021-05-27 21:48:39 +02:00
shell.nix Add back flake-compat shell.nix 2020-07-17 14:58:59 +00:00

Nix

Open Collective supporters Test

Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. Please refer to the Nix manual for more details.

Installation

On Linux and macOS the easiest way to install Nix is to run the following shell command (as a user other than root):

$ curl -L https://nixos.org/nix/install | sh

Information on additional installation methods is available on the Nix download page.

Building And Developing

See our Hacking guide in our manual for instruction on how to build nix from source with nix-build or how to get a development environment.

Additional Resources

License

Nix is released under the LGPL v2.1.