Commit graph

943 commits

Author SHA1 Message Date
Orivej Desh
e5c499b833 Describe arithmetic operators 2017-10-26 18:53:35 +00:00
Eelco Dolstra
38dcd0c4b8
Release note updates 2017-10-23 20:50:28 +02:00
Keshav Kini
32940702fc Mention C++14 dependency in the manual.
A couple makefiles in the sources have -std=c++14 in the CFLAGS.
2017-10-19 18:03:26 -07:00
Eelco Dolstra
5324bb9399
Update release notes 2017-09-18 11:07:17 +02:00
Eelco Dolstra
0b606aad46
Add automatic garbage collection
Nix can now automatically run the garbage collector during builds or
while adding paths to the store. The option "min-free = <bytes>"
specifies that Nix should run the garbage collector whenever free
space in the Nix store drops below <bytes>. It will then delete
garbage until "max-free" bytes are available.

Garbage collection during builds is asynchronous; running builds are
not paused and new builds are not blocked. However, there also is a
synchronous GC run prior to the first build/substitution.

Currently, no old GC roots are deleted (as in "nix-collect-garbage
-d").
2017-09-05 20:43:42 +02:00
Eelco Dolstra
c2154d4c84
Rename a few configuration options
In particular, drop the "build-" and "gc-" prefixes which are
pointless. So now you can say

  nix build --no-sandbox

instead of

  nix build --no-build-use-sandbox
2017-08-31 14:28:25 +02:00
Matthew Bauer
2c75945de5
Remove nix-mode.el from Nix.
This removes the file nix-mode.el from Nix. The file is now available within the
repository https://github.com/NixOS/nix-mode.

Fixes #662
Fixes #1040
Fixes #1054
Fixes #1055
Closes #1119
Fixes #1419

NOTE: all of the above should be fixed within NixOS/nix-mode. If one of those
hasn’t please reopen within NixOS/nix-mode and not within NixOS/nix.
2017-08-19 21:16:30 -07:00
Chase Adams
09a38f9125 update MD5 to SHA-256 in expression-syntax 2017-08-18 16:07:33 -07:00
Eelco Dolstra
e2f9a61dc9 Update release notes 2017-08-16 21:36:47 +02:00
Eelco Dolstra
2ee1b9359b Merge branch 'tokenize' of https://github.com/nbp/nix 2017-08-16 21:21:36 +02:00
Nicolas B. Pierron
b8867a0239 Add builtins.string function.
The function 'builtins.split' takes a POSIX extended regular expression
and an arbitrary string. It returns a list of non-matching substring
interleaved by lists of matched groups of the regular expression.

```nix
with builtins;
assert split "(a)b" "abc"      == [ "" [ "a" ] "c" ];
assert split "([ac])" "abc"    == [ "" [ "a" ] "b" [ "c" ] "" ];
assert split "(a)|(c)" "abc"   == [ "" [ "a" null ] "b" [ null "c" ] "" ];
assert split "([[:upper:]]+)" "  FOO   "
                               == [ "  " [ "FOO" ] "   " ];
```
2017-08-15 20:04:11 +00:00
Nicolas B. Pierron
27417c6160 Move builtins.match documentation between map and mul. 2017-08-15 18:34:24 +00:00
Eelco Dolstra
f76e85d8f5
Start of 1.12 release notes 2017-08-10 18:44:45 +02:00
davidak
92bcb61127 replace "Mac OS X" with "macOS"
except in older release notes where the name was actually Mac OS X.
2017-07-30 12:26:17 +02:00
Graham Christensen
da2ad30054 Update the mailing list. 2017-07-18 08:02:53 -04:00
Eelco Dolstra
49304bae81
Make the hashes mirrors used by builtins.fetchurl configurable
In particular, this allows it to be disabled in our tests.
2017-07-17 13:07:08 +02:00
Harmen
1e0f59ae14 use sha256 hashes in the examples
And fix a dead link.
2017-07-15 21:06:30 +02:00
Robert Vollmert
30117fb35b fix buggy nix-shell man page 2017-07-10 14:36:55 +02:00
Robert Vollmert
c85e662004 man page (nix-shell): Fix grouping of -p option
Not sure about the raw ellipsis.
2017-07-07 22:11:46 +02:00
Robert Vollmert
89771a8821 man page (nix-prefetch-url): Add some missing options 2017-07-07 22:11:46 +02:00
Robert Vollmert
772ef22c25 man page (nix-instantiate): -E is optional 2017-07-07 22:11:46 +02:00
Robert Vollmert
8ad898b2cd man page (nix-instantiate): Add --json to synopsis, order variables 2017-07-07 22:11:46 +02:00
Robert Vollmert
b1f5995a20 man page (nix-instantiate): Remove non-existent nix-build argument -r 2017-07-07 22:11:46 +02:00
Robert Vollmert
56a1f8f499 man pages: Consistently separate alternatives by / 2017-07-07 22:11:46 +02:00
Robert Vollmert
d1643bdaa2 man pages: Argument for --max-jobs 2017-07-07 22:11:45 +02:00
Robert Vollmert
68c626c6b0 man pages: Grouping for option alternatives 2017-07-07 22:11:45 +02:00
Robert Vollmert
ce3095e141 glossary: Fix word order 2017-07-07 22:07:46 +02:00
Robert Vollmert
60da5d2b8f Fix nix-instantiate manpage indentation
The second command variant is now its own cmdsynopsis, which ensures
it's not indented as was the case using sbrk.
2017-07-06 22:35:36 +02:00
Eelco Dolstra
6cf23c3e8f
Add allow-new-privileges option
This allows builds to call setuid binaries. This was previously
possible until we started using seccomp. Turns out that seccomp by
default disallows processes from acquiring new privileges. Generally,
any use of setuid binaries (except those created by the builder
itself) is by definition impure, but some people were relying on this
ability for certain tests.

Example:

  $ nix build '(with import <nixpkgs> {}; runCommand "foo" {} "/run/wrappers/bin/ping -c 1 8.8.8.8; exit 1")' --no-allow-new-privileges
  builder for ‘/nix/store/j0nd8kv85hd6r4kxgnwzvr0k65ykf6fv-foo.drv’ failed with exit code 1; last 2 log lines:
    cannot raise the capability into the Ambient set
    : Operation not permitted

  $ nix build '(with import <nixpkgs> {}; runCommand "foo" {} "/run/wrappers/bin/ping -c 1 8.8.8.8; exit 1")' --allow-new-privileges
  builder for ‘/nix/store/j0nd8kv85hd6r4kxgnwzvr0k65ykf6fv-foo.drv’ failed with exit code 1; last 6 log lines:
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=15.2 ms

Fixes #1429.
2017-07-04 15:48:25 +02:00
Eelco Dolstra
a10951de08
OS X -> macOS
(cherry picked from commit c20641ce569dc1fdeaeaa147b0292f258667f53b)
2017-06-14 23:28:06 +02:00
Eelco Dolstra
1dcadadf74
Add 1.11.10 release notes
(cherry picked from commit 0fb60e4e0f66cc42c7c274acfcf00b51f6c829c4)
2017-06-14 23:27:52 +02:00
Eelco Dolstra
d6064dd19b Merge pull request #1393 from pyrtsa/patch-1
Fix variable name typo in derivations doc
2017-05-29 11:32:06 +02:00
Pyry Jahkola
370428f86d Remove stray > in builtins doc 2017-05-28 20:47:35 +03:00
Pyry Jahkola
86ea7d1566 Fix variable name typo in derivations doc 2017-05-28 15:48:57 +03:00
Eelco Dolstra
b303ad012c Merge pull request #1382 from FRidh/patch-1
Document fetchTarball can take a sha256
2017-05-24 11:07:36 +02:00
Eelco Dolstra
f134fc4cbe
Document that builtins.match takes a POSIX extended RE 2017-05-17 12:18:18 +02:00
Frederik Rietdijk
2b2de5ef6a Document fetchTarball can take a sha256
Note that I refer to `nix-prefetch-url`.
2017-05-11 13:38:13 +02:00
Eelco Dolstra
1fd59447d5
Typo 2017-05-10 18:38:17 +02:00
Eelco Dolstra
c5f23f10a8
Replace readline by linenoise
Using linenoise avoids a license compatibility issue (#1356), is a lot
smaller and doesn't pull in ncurses.
2017-05-10 18:37:42 +02:00
Domen Kožar
82a9c93c7f
doc: builtins.attrNames returns alphabetically sorted list 2017-05-10 11:23:12 +02:00
Eelco Dolstra
d3449b286b Merge pull request #1371 from regnat/doc_--xml_fix
fix the description of --xml and --json
2017-05-03 11:06:12 +02:00
regnat
a786d26dc2 doc: fix the description of --xml and --json
Those options seem to only apply with --eval and not with --parse.
2017-05-03 10:49:34 +02:00
Eelco Dolstra
d7653dfc6d
Remove $NIX_BUILD_HOOK and $NIX_CURRENT_LOAD
This is to simplify remote build configuration. These environment
variables predate nix.conf.

The build hook now has a sensible default (namely build-remote).

The current load is kept in the Nix state directory now.
2017-05-01 17:30:16 +02:00
Eelco Dolstra
1196470e92 Merge pull request #1347 from kennyballou/sm-grammar-fix
Fix small grammar issue about page
2017-04-24 10:49:46 +02:00
Eelco Dolstra
240399e059 Merge pull request #1351 from earldouglas/ellipses
Drop misleading ellipses
2017-04-24 10:49:09 +02:00
Eelco Dolstra
8d6af08530 Merge pull request #1348 from armijnhemel/nix-env
better document --meta option for nix-env
2017-04-24 10:18:23 +02:00
James Earl Douglas
111d347237
Drop misleading ellipses
This portion of the quick start guide may lead to confusion for
newcomers to Nix.  This change clarifies the example to one that can be
copied in its entirety.
2017-04-20 18:07:23 -06:00
Eelco Dolstra
f05d5f89ff
Read per-user settings from ~/.config/nix/nix.conf 2017-04-20 14:58:16 +02:00
Eelco Dolstra
562585e901
binary-caches-parallel-connections -> http-connections 2017-04-20 14:04:00 +02:00
Eelco Dolstra
4222402219
nix.conf man page: binary-caches -> substituters 2017-04-20 13:41:29 +02:00
Armijn Hemel
1559c596f6 document option 2017-04-19 19:10:12 +02:00
kballou
00b6c6d0c3 Fix small grammar issue about page
Fix subject-verb agreement issue in introduction/about.
2017-04-19 09:27:28 -06:00
Linus Heckemann
9622d00afa Manual: document tryEval 2017-04-17 10:33:53 +01:00
Eelco Dolstra
ba9ad29fdb
Convert Settings to the new config system
This makes all config options self-documenting.

Unknown or unparseable config settings and --option flags now cause a
warning.
2017-04-13 20:53:23 +02:00
Benjamin Staffin
d267db0d75
Move note about float support out of the wrong release notes
Looks like this snuck into the 1.11 release notes post-release, but
float support isn't actually present until 1.12.
2017-04-12 18:01:43 -04:00
Eelco Dolstra
c0745a2531
Merge branch 'remove-perl' of https://github.com/shlevy/nix 2017-03-31 14:13:32 +02:00
Eelco Dolstra
aa23bba27f
Fix tests to reflect the signed-binary-caches default change 2017-03-21 18:06:13 +01:00
Eelco Dolstra
0afeb7f51e
Store: Add a method for getting build logs
This allows various Store implementations to provide different ways to
get build logs. For example, BinaryCacheStore can get the build logs
from the binary cache.

Also, remove the log-servers option since we can use substituters for
this.
2017-03-15 16:48:29 +01:00
Eelco Dolstra
19643a781e
nix -> Nix 2017-03-09 13:36:56 +01:00
Shea Levy
5f831c1057 Add docs for allow-import-from-derivation 2017-03-08 09:12:03 -05:00
Eelco Dolstra
7251d048fa
Support auto-configuration of build-max-jobs
"build-max-jobs" and the "-j" option can now be set to "auto" to use
the number of CPUs in the system. (Unlike build-cores, it doesn't use
0 to imply auto-configuration, because a) magic values are a bad idea
in general; b) 0 is a legitimate value used to disable local
building.)

Fixes #1198.
2017-02-28 12:54:50 +01:00
Eelco Dolstra
4f3fb34844
Fix 1.8 release note about build-max-jobs
We set build-cores automatically, not build-max-jobs. (The commit
message for de4cdd0d47 also got this
wrong.)
2017-02-27 15:58:24 +01:00
Eelco Dolstra
79f4583f8a
Fix XML validity 2017-02-21 13:04:31 +01:00
Linus Heckemann
b8564987a3 Document toString better 2017-02-20 14:23:48 +00:00
Eelco Dolstra
bd5388e7b2
Tweak netrc docs 2017-02-16 14:24:16 +01:00
Janus Troelsen
2b4c24f46a Remove Perl dependency listing in doc 2017-02-07 15:56:32 -05:00
Shea Levy
418a837897 Remove perl dependency.
Fixes #341
2017-02-07 15:56:32 -05:00
Renzo Carbonara
e6e74f987f Add netrc-file support 2017-02-02 13:24:20 +01:00
Eelco Dolstra
9000150a78
Drop a few more references to all-packages.nix
And also don't refer to f-spot, which apparently no longer exists.

Issue #1170.
2017-01-03 16:42:24 +01:00
zimbatm
45ed6e7ef2 Document the common --no-build-hook option 2016-12-28 14:19:59 +00:00
Daiderd Jordan
36b3e15953
manual: add NIX_CONF_DIR to conf-file section 2016-12-16 10:59:07 +01:00
Linus Heckemann
bb5a6c0085 Document path-search behaviour 2016-12-11 17:13:37 +00:00
Domen Kožar
41d6523ef5 Document builtins.match, fixes #1145 2016-12-09 20:40:55 +01:00
Eelco Dolstra
09191caea8
Add shell.nix 2016-12-06 17:17:29 +01:00
Eelco Dolstra
d1da6967b8
Drop unused WWW::Curl dependency 2016-12-06 17:17:29 +01:00
Manav Rathi
eec5409a69 installation: allow profile modification to be skipped (#1072)
The current behaviour modifies the first writeable file from amongst
.bash_profile, .bash_login and .profile.  So .bash_profile (if it is
writable) would be modified even if a user has already sourced nix.sh
in, say, .profile.

This commit introduces a new environment variable,
NIX_INSTALLER_NO_MODIFY_PROFILE.  If this is set during installation,
then the modifications are unconditionally skipped.

This is useful for users who have a manually curated set of dotfiles
that they are porting to a new machine. In such scenarios, nix.sh is
already sourced at a place where the user prefers.  Without this
change, the nix installer would insist on modifying .bash_profile if
it exists.

This commit also add documentations for both the current behaviour and
the new override.
2016-11-03 18:02:29 +01:00
Eelco Dolstra
18b7363a69 Support optional sandbox paths
For example, you can now set

  build-sandbox-paths = /dev/nvidiactl?

to specify that /dev/nvidiactl should only be mounted in the sandbox
if it exists in the host filesystem. This is useful e.g. for EC2
images that should support both CUDA and non-CUDA instances.
2016-10-31 17:09:52 +01:00
Eelco Dolstra
818ab58cc6 Add sandbox-dev-shm-size option
Fixes #1069.
2016-09-21 16:54:53 +02:00
zimbatm
7d7ec2b3a8 Document the { __toString } interface 2016-09-21 14:52:26 +01:00
Adrien Devresse
7ef053c632 Add a new option to disable documentation generation at configure time 2016-09-20 14:34:43 +00:00
Eelco Dolstra
6656ef7b5b Revive binary-caches-parallel-connections
It's a slight misnomer now because it actually limits *all* downloads,
not just binary cache lookups.

Also add a "enable-http2" option to allow disabling use of HTTP/2
(enabled by default).
2016-09-14 16:38:26 +02:00
Domen Kožar
0e3574d7f8 doc: move set functor para to Sets section 2016-08-26 19:19:24 +02:00
Domen Kožar
ed39532dda doc: add an example for builtins.substring 2016-08-11 12:32:24 +02:00
Domen Kožar
9a1320af29 s/powerpc-darwin/x86_64-darwin/
Let's step in line with time and document more realistic values.
2016-08-10 18:42:55 +02:00
Eelco Dolstra
2fad86f361 Remove $NIX_DB_DIR
This variable has no reason to exist, given $NIX_STATE_DIR.
2016-08-10 18:05:35 +02:00
Shea Levy
6e51af8023 Nuke nix-push.
Rarely used, nix copy replaces it.
2016-08-10 11:13:11 -04:00
Shea Levy
15c035c13f Remove nix-install-package.
Refs #831
2016-08-10 08:20:51 -04:00
Eelco Dolstra
77c2739c25 Grammar/spelling 2016-07-21 11:30:01 +02:00
Matthias Beyer
2ec9d2fb02 NIX_REMOTE_SYSTEMS path must be absolute (#957)
Once upon a time, I wrote my bachelors thesis about functional
deployment mechanisms.

I had to evaluate several szenarios where package management and
deployment were relevant. One szenario was to do distributed builds
over several machines.

I told myself: Weee, nix can do this! And with nix, this is actually
save, as you do not have side effects when building!

So I started. I use a cloud to set up four virtual machines where I
wanted to do the build. A fifth machine was used as master to distribute
the builds. All was good.

I created the necessary SSH keys, made sure every machine was reachable
by the master and configured the build in my remotes.conf.

When I started to try to build weechat from source, the build failed. It
failed, telling me

    error: unable to start any build; either increase ‘--max-jobs’ or enable distributed builds

And I started to dig around. I digged long and good. But I wasn't able
to find the issue.

I double and triple checked my environment variables, my settings, the
SSH key and everything.

I reached out to fellow Nixers by asking on the nixos IRC channel. And I
got help. But we weren't able to find the issue, either.

So I became frustrated. I re-did all the environment variables.

And suddenly,... it worked! What did I change? Well... I made the
environment variables which contained pathes contain absolute pathes
rather than relatives.

And because I like to share my knowledge, this should be put into the
documentation, so others do not bang their heads against the wall
because something is not documented somewhere.
2016-07-21 11:19:21 +02:00
Dmitry Kalinkin
2a788bf9e7 documentation: mention required openssl dependency (#974)
Fixes: a6ca68a7 ("Require OpenSSL")
2016-07-20 15:02:29 +02:00
aszlig
72fb2ccfa1
Don't hardcode docbook XSL namespace URL
Docbook XSL got updated to version 1.79.1 in NixOS/nixpkgs@fb893a8 and
we're still referring to the hardcoded previous version.

So instead of just updating this to 1.79.1 we're going to use "current"
in the hope that this won't happen again.

I have tested this by building the manual under Nix(OS) but I haven't
tested this in a non-Nix environment, so I'm not sure whether this could
have implications.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @edolstra
2016-07-04 20:13:20 +02:00
Eelco Dolstra
fffacd7c78 Fix manual build
http://hydra.nixos.org/build/36944270
2016-06-20 16:55:22 +02:00
Eelco Dolstra
f94a804ced Restore instructions on how to install a binary tarball
Looks like these were accidentally commented out in
9ffc4f4363.
2016-06-17 15:26:10 +02:00
Johannes 'fish' Ziemke
df7e9b6d68 Remove nix-copy-closure reference note from nix-store docs
nix-copy-closure is not using nix-store directly anymore.
2016-06-15 15:58:13 +02:00
Domen Kožar
5339ae4437 Merge pull request #576 from qknight/args_explanation
extended args@ explanation
2016-05-30 23:40:17 +01:00
Joachim Schiele
6766041b84 Update language-constructs.xml 2016-05-30 23:58:45 +02:00
Joachim Schiele
659a3e399b Update language-constructs.xml 2016-05-30 23:58:13 +02:00
Eelco Dolstra
a375326a97 Merge pull request #884 from srp/fix-nix-build-examples
fix "nix-build" examples
2016-05-03 11:13:54 +02:00
Eelco Dolstra
8e065c6b3e BinaryCacheStore: Make the signing key a parameter 2016-04-29 16:47:20 +02:00
Scott R. Parish
96d3534a9e fix "nix-build" examples
The existing "nix-build" examples were failing:

  error: cannot auto-call a function that has an argument without a default value (‘system’)

Thanks to @groxxda on irc for pointing out the fix!

Updated to completely remove unneeded path argument, suggested by @joachifm

Updated to remove other occurences of `all-packages.nix` from files as
suggested by @domenkozar
2016-04-26 13:30:57 -07:00
Eelco Dolstra
41633f9f73 Improved logging abstraction
This also gets rid of --log-type, since the nested log type isn't
useful in a multi-threaded situation, and nobody cares about the
"pretty" log type.
2016-04-25 19:18:45 +02:00
Eelco Dolstra
31a1a8ed3c Merge pull request #815 from vcunat/p/outputsToInstall
nix-env: respect meta.outputsToInstall
2016-04-14 20:55:41 +02:00
Eelco Dolstra
58e423ce32 Remove PDF manual
More spring cleaning.
2016-04-14 12:50:01 +02:00
Eelco Dolstra
867967265b Remove manifest support
Manifests have been superseded by binary caches for years. This also
gets rid of nix-pull, nix-generate-patches and bsdiff/bspatch.
2016-04-11 16:20:15 +02:00
Eelco Dolstra
8cffec8485 Remove failed build caching
This feature was implemented for Hydra, but Hydra no longer uses it.
2016-04-08 18:19:04 +02:00
Eelco Dolstra
525c78a2c3 Remove references to old-school signing 2016-03-22 15:39:59 +01:00
Eelco Dolstra
e69c48dc43 Fix bad DocBook
http://hydra.nixos.org/build/33087405
2016-03-14 12:34:11 +01:00
Eelco Dolstra
1b18991082 Merge pull request #822 from cstrahan/nix-store-serve
add docs for `nix-store --serve`
2016-03-10 15:30:54 +01:00
Eelco Dolstra
b4e0335d4d Add option binary-cache-secret-key-file for signing binary caches 2016-03-04 17:45:22 +01:00
Charles Strahan
e3e5c8bc91 add docs for nix-store --serve 2016-02-27 22:39:29 -05:00
Vladimír Čunát
03cbb9ad59 nix-env: respect meta.outputsToInstall
Discussed on https://github.com/NixOS/nixpkgs/pull/12653#discussion_r51601849
2016-02-23 14:19:14 +01:00
Shea Levy
037ff4e70a Merge branch 'docs' of git://github.com/joelmo/nix 2016-02-22 07:14:16 -05:00
Dan Connolly
b39ec410ee context for introducing runtime dependencies
The first occurrence of "runtime dependencies" wasn't related to the surrounding narrative.
2016-02-18 23:29:00 -06:00
Joel Moberg
bb36a1a3cf Document IN_NIX_SHELL variable 2016-02-18 23:32:37 +01:00
Scott Olson
37b8e59f6f Fix typo in nix-shell command reference. 2016-02-13 01:03:32 -07:00
Eelco Dolstra
b3e8d72770 Merge pull request #762 from ctheune/ctheune-floats
Implement floats
2016-02-12 12:49:59 +01:00
Eelco Dolstra
9e7c1a4bbd Use the daemon when we don't have write access to the Nix database 2016-01-31 10:28:48 +01:00
Eelco Dolstra
8b4577ac9d Grmbl 2016-01-19 12:35:17 +01:00
Eelco Dolstra
d704abc0f3 Update release notes 2016-01-18 15:59:28 +01:00
Eelco Dolstra
71e5b937fb Document --check 2016-01-18 15:54:14 +01:00
Peter Simons
a1bf934044 doc/manual/command-ref/nix-collect-garbage.xml: document --max-freed option
Mention the --max-freed option in the nix-collect-garbage man page.
Related to https://github.com/NixOS/nix/issues/609.
2016-01-18 13:25:36 +01:00
Christian Theune
b4bda4765a Update documentation for floats. 2016-01-06 08:41:53 +01:00
Fabian Schmitthenner
0eb200e569 propagate NIX_BUILD_SHELL also in pure builds document NIX_BUILD_SHELL in the nix-shell command documentation 2016-01-05 14:11:20 +01:00
Tim Cuthbertson
36b9ce24b1 doc: Clarify why multiple arguments are not supported in shebang line
It's not a limitation of `/usr/bin/env`, it's just how the OS processes shebang lines
(see http://stackoverflow.com/a/4304187)
2016-01-05 13:46:05 +01:00
Vladimír Čunát
29c0199d5c manual: document builtins.functionArgs
The text is just a conversion of comment from src/libexpr/primops.cc
2016-01-05 13:29:17 +01:00
davidak
5eb93556f1 doc: fixes #727 broken link 2016-01-05 13:28:34 +01:00
Eelco Dolstra
9be037448c Use sensible date format 2016-01-04 14:38:26 +01:00
Eelco Dolstra
f476535265 Update release notes 2016-01-04 14:29:23 +01:00
Eelco Dolstra
c0d4173263 Set default binary-caches-parallel-connections to 25
Some benchmarking suggested this as a good value. Running

  $ benchmark -f ... -t 25 -- sh -c 'rm -f /nix/var/nix/binary-cache*; nix-store -r /nix/store/x5z8a2yvz8h6ccmhwrwrp9igg03575jg-nixos-15.09.git.5fd87e1M.drv --dry-run --option binary-caches-parallel-connections <N>'

gave the following mean elapsed times for these values of N:

N=10:  3.3541
N=20:  2.9320
N=25:  2.6690
N=30:  2.9417
N=50:  3.2021
N=100: 3.5718
N=150: 4.2079

Memory usage is also reduced (N=150 used 186 MB, N=25 only 68 MB).

Closes #708.
2015-11-25 17:13:11 +01:00
Eelco Dolstra
0ab4d905e7 Merge branch 'p/sandbox-rename-minimal' of https://github.com/vcunat/nix 2015-11-25 14:53:42 +01:00
Rommel M. Martinez
cf141abfe9 Fixed typo. 2015-11-23 15:59:57 +08:00
Vladimír Čunát
b39622a487 rename chroot to sandbox (fixes #656, close #682)
- rename options but leav old names as lower-priority aliases,
  also "-dirs" -> "-paths" to get closer to the meaning
- update docs to reflect the new names (old aliases are not documented),
  including a new file with release notes
- tests need an update after corresponding changes to nixpkgs
- __noChroot is left as it is (after discussion on the PR)
2015-11-10 22:32:51 +01:00
Eelco Dolstra
8fdd156a65 Add option to verify build determinism
Passing "--option build-repeat <N>" will cause every build to be
repeated N times. If the build output differs between any round, the
build is rejected, and the output paths are not registered as
valid. This is primarily useful to verify build determinism. (We
already had a --check option to repeat a previously succeeded
build. However, with --check, non-deterministic builds are registered
in the DB. Preventing that is useful for Hydra to ensure that
non-deterministic builds don't end up getting published at all.)
2015-11-09 23:16:24 +01:00
Anders Claesson
055ab1fc8d Fix typo in doc for nix-copy-closure 2015-10-08 13:17:01 +02:00
Eelco Dolstra
f08449ccbd nix-prefetch-url: Add --name option
This allows overriding the name component of the resulting Nix store
path, which is necessary if the base name of the URI contains
"illegal" characters.
2015-10-07 14:55:33 +02:00
Eelco Dolstra
b54f447df9 nix-prefetch-url: Support unpacking tarballs
This allows nix-prefetch-url to prefetch the output of fetchzip and
its wrappers (like fetchFromGitHub). For example:

  $ nix-prefetch-url --unpack https://github.com/NixOS/patchelf/archive/0.8.tar.gz

or from a Nix expression:

  $ nix-prefetch-url -A nix-repl.src

In the latter case, --unpack can be omitted because nix-repl.src is a
fetchFromGitHub derivation and thus has "outputHashMode" set to
"recursive".
2015-10-07 14:40:10 +02:00
Eelco Dolstra
9ffc4f4363 Don't mention Fedora/Debian packages in the installation section
See d4a88df9d6
2015-10-05 18:46:25 +02:00
Eelco Dolstra
57db2aa220 Merge pull request #645 from acowley/patch-1
Update prerequisites-source.xml
2015-10-05 15:05:32 +02:00
Eelco Dolstra
06f29fafe8 nix-prefetch-url: Support prefetching from a Nix expression
For example,

  $ nix-prefetch-url -A hello.src

will prefetch the file specified by the fetchurl call in the attribute
‘hello.src’ from the Nix expression in the current directory. This
differs from ‘nix-build -A hello.src’ in that it doesn't verify the
hash.

You can also specify a path to the Nix expression:

  $ nix-prefetch-url ~/Dev/nixpkgs -A hello.src

List elements (typically used in ‘patches’ attributes) also work:

  $ nix-prefetch-url -A portmidi.patches.0
2015-10-01 18:07:56 +02:00
Eelco Dolstra
a3c4eb0964 nix-prefetch-url: $PRINT_PATH -> --print-path 2015-10-01 16:53:07 +02:00
Vladimír Čunát
12a4aea93d doc: fix the 'prebuild' typos 2015-09-17 12:08:05 +02:00
Anthony Cowley
e5c3e054ec Update prerequisites-source.xml
The Perl WWW::Curl bindings are required to build Nix.
2015-09-15 12:42:44 -04:00
Eelco Dolstra
6e06a18d1b Release notes 2015-09-03 11:57:47 +02:00
Eelco Dolstra
ce97523a7c Fix readDir example
Fixes https://github.com/NixOS/nixos-homepage/issues/46.
2015-09-01 16:53:51 +02:00
Eelco Dolstra
896428c818 Fix example 2015-08-05 17:36:33 +02:00
Eelco Dolstra
76cc8e97a2 Add sort primop 2015-07-28 18:39:39 +02:00
Eelco Dolstra
50807f3dd5 Add primop genList
This can be used to implement functions like ‘imap’ (or for that
matter, ‘map’) without the quadratic complexity incurred by calling
‘++’ repeatedly.
2015-07-28 17:28:35 +02:00
Eelco Dolstra
d6d5885c15 Add replaceStrings primop
This is a generalisation of replaceChars in Nixpkgs.
2015-07-24 15:32:24 +02:00
Eelco Dolstra
14be783676 Add primops all and any
These are used thousands of times during NixOS evaluation, so it's
useful to speed them up.
2015-07-23 19:23:11 +02:00
Eelco Dolstra
61af14a921 Add foldl' primop 2015-07-23 17:03:02 +02:00
Eelco Dolstra
ccf31dbc25 nix-copy-closure: Add -v flag
And make exportPath() less spammy by default.
2015-07-20 01:52:07 +02:00
Joachim Schiele
8ce96becf0 extended args@ explanation 2015-07-07 02:09:50 +02:00
Eelco Dolstra
39b3d9698e Typos 2015-06-12 11:02:40 +02:00
Eelco Dolstra
d1e4b76a3a Update release notes 2015-06-12 01:11:03 +02:00
Eelco Dolstra
7d148ad543 Fix manual 2015-06-08 11:25:04 +02:00
Eelco Dolstra
53dd97bb9d Document setting up signed binary caches 2015-06-01 17:14:16 +02:00
Eelco Dolstra
da196ec68f Document tarball downloading 2015-06-01 15:14:44 +02:00
Eelco Dolstra
feca5cb67f Document nix-shell #!-scripts 2015-06-01 13:49:11 +02:00
Eelco Dolstra
99c2c14f50 Typo 2015-06-01 13:04:10 +02:00
Eelco Dolstra
d68941d89d Nix 1.9 release notes 2015-06-01 12:57:43 +02:00
Charles Strahan
9c6328a7bf nix-env: document --set option 2015-05-19 11:00:15 +02:00
Shea Levy
4d652875bd Add the pre-build hook.
This hook can be used to set system-specific per-derivation build
settings that don't fit into the derivation model and are too complex or
volatile to be hard-coded into nix. Currently, the pre-build hook can
only add chroot dirs/files through the interface, but it also has full
access to the chroot root.

The specific use case for this is systems where the operating system ABI
is more complex than just the kernel-support system calls. For example,
on OS X there is a set of system-provided frameworks that can reliably
be accessed by any program linked to them, no matter the version the
program is running on. Unfortunately, those frameworks do not
necessarily live in the same locations on each version of OS X, nor do
their dependencies, and thus nix needs to know the specific version of
OS X currently running in order to make those frameworks available. The
pre-build hook is a perfect mechanism for doing just that.
2015-04-18 16:56:02 -04:00
Shea Levy
fd6774e285 Revert "Add the pre-build hook."
Going to reimplement differently.

This reverts commit 1e4a4a2e9f.
2015-04-18 14:59:58 -04:00
Shea Levy
1e4a4a2e9f Add the pre-build hook.
This hook can be used to set system specific per-derivation build
settings that don't fit into the derivation model and are too complex or
volatile to be hard-coded into nix. Currently, the pre-build hook can
only add chroot dirs/files.

The specific use case for this is systems where the operating system ABI
is more complex than just the kernel-supported system calls. For
example, on OS X there is a set of system-provided frameworks that can
reliably be accessed by any program linked to them, no matter the
version the program is running on. Unfortunately, those frameworks do
not necessarily live in the same locations on each version of OS X, nor
do their dependencies, and thus nix needs to know the specific version
of OS X currently running in order to make those frameworks available.
The pre-build hook is a perfect mechanism for doing just that.
2015-04-12 12:56:38 -04:00
Daniel Hahler
e659978ced Fix typos: s/the the/the/ 2015-03-06 16:43:22 +01:00
Eelco Dolstra
cffa7f80ab Typo 2015-02-23 16:02:50 +01:00
Eelco Dolstra
99897f6979 Use chroots for all derivations
If ‘build-use-chroot’ is set to ‘true’, fixed-output derivations are
now also chrooted. However, unlike normal derivations, they don't get
a private network namespace, so they can still access the
network. Also, the use of the ‘__noChroot’ derivation attribute is
no longer allowed.

Setting ‘build-use-chroot’ to ‘relaxed’ gives the old behaviour.
2015-02-23 15:54:31 +01:00
Eelco Dolstra
15d2d3c34e Add restricted evaluation mode
If ‘--option restrict-eval true’ is given, the evaluator will throw an
exception if an attempt is made to access any file outside of the Nix
search path. This is primarily intended for Hydra, where we don't want
people doing ‘builtins.readFile ~/.ssh/id_dsa’ or stuff like that.
2015-02-23 15:54:31 +01:00
Shea Levy
a8494de0be Merge branch 'docs/channels-path' of git://github.com/iElectric/nix 2015-02-22 11:59:38 -05:00
Domen Kožar
7bd8299c6c fixes https://github.com/NixOS/nixpkgs/issues/6485 2015-02-22 08:39:29 -08:00
Shea Levy
e0953d53de Allow the leading component of a path to be a ~ 2015-02-19 08:05:16 -05:00
Eelco Dolstra
bd91064150 Use $<attr>Path instead of $<attr> for passAsFile 2015-02-17 16:42:54 +01:00
Eelco Dolstra
a70d275f3d Allow passing attributes via files instead of environment variables
Closes #473.
2015-02-17 14:42:15 +01:00
Eelco Dolstra
29e1ff675b Keep sorted 2015-02-17 13:55:37 +01:00
Eelco Dolstra
de8ed5c1d3 Typo 2015-02-04 18:17:06 +01:00
Shea Levy
d66d9e8425 Require linux 3.13 or later for chroot
Fixes #453
2015-02-04 18:15:56 +01:00
Tobias Geerinckx-Rice
c23d67920e doc: nix-channel --remove takes a name, not a url 2015-01-12 10:56:58 +01:00
Данило Глинський (Danylo Hlynskyi)
ed56ea980b Fix typo (assuming this is a typo)
Fix typo (assuming this is a typo)
`allowedRequisites` mentions `allowedReferences` in code example
2015-01-08 16:43:56 +01:00
Eelco Dolstra
128538ef06 nix-shell: Add --run flag
‘--run’ is like ‘--command’, except that it runs the command in a
non-interactive shell. This is important if you do things like:

  $ nix-shell --command make

Hitting Ctrl-C while make is running drops you into the interactive
Nix shell, which is probably not what you want. So you can now do

  $ nix-shell --run make

instead.
2015-01-08 15:14:38 +01:00
Eelco Dolstra
4d5c9d85ea Document how to set up build users on Mac OS X 2015-01-06 11:17:11 +01:00
j-keck
14fb7378df doc: remove wrong phrase.
'... another level of indirection not shown in the figure above ...'
but in the 'user-environments.png' figure there is '~/.nix-profile'.
the figure was updated with the commit: f982df3 on Mar 16, 2005.
2015-01-05 15:08:53 +01:00
j-keck
2c052278d2 doc: remove double word
'... when when ...' -> '... when ...'
2015-01-05 13:40:19 +01:00
Eelco Dolstra
411b237ee5 edition -> subtitle
For some reason, docbook-xsl doesn't render edition.
2015-01-02 12:53:32 +01:00
Eelco Dolstra
f16b8786a2 Belatedly add contributors 2014-12-16 18:58:04 +01:00
Eelco Dolstra
c2384052e3 Grmbl 2014-12-14 03:38:54 +01:00
Eelco Dolstra
47ed06a290 Add a section on nix-serve 2014-12-14 03:37:41 +01:00
Eelco Dolstra
2142f47c06 Add section on SSH substituter 2014-12-14 03:19:15 +01:00
Eelco Dolstra
68b4717873 Delete the stdenv section
It's outdated and better covered in the Nixpkgs manual.
2014-12-14 01:39:32 +01:00
Eelco Dolstra
6466d56f42 Bla 2014-12-14 01:33:16 +01:00
Eelco Dolstra
e90e7b5e0a Fix build
http://hydra.nixos.org/build/17894500
2014-12-14 01:29:35 +01:00
Eelco Dolstra
eb53f592b8 Fix image in PDF
Closes #415.
2014-12-14 01:23:06 +01:00
Eelco Dolstra
9c830394ec Rename files 2014-12-14 01:07:23 +01:00
Eelco Dolstra
4c4e891652 Update .nixpkg description 2014-12-13 23:27:22 +01:00
Eelco Dolstra
be79773542 ReiserFS -> ext4 2014-12-13 23:23:19 +01:00
Eelco Dolstra
4eace5adda Style 2014-12-13 23:21:14 +01:00
Eelco Dolstra
751ae181a1 Undocument nix-generate-patches 2014-12-13 23:17:26 +01:00
Eelco Dolstra
3b88d03714 Document channel format and excise most mentions of manifests and nix-pull 2014-12-13 23:16:08 +01:00
Eelco Dolstra
e5a51fab24 Style 2014-12-13 21:50:01 +01:00
Eelco Dolstra
a144eb1415 Don't use ?= 2014-12-11 10:44:02 +01:00
darealshinji
40e1203abc allow custom docbook paths/URLs, use a working URL for docbook.rng 2014-12-11 10:43:46 +01:00
Eelco Dolstra
d44d923be9 Add option to disable binary cache certificate checking 2014-12-09 13:16:02 +01:00
Eelco Dolstra
e5891f2ea8 Use https://cache.nixos.org instead of http://cache.nixos.org 2014-12-09 13:16:02 +01:00
Eelco Dolstra
5f04da905f Intro: Mention binary caches 2014-11-25 15:55:28 +01:00
Eelco Dolstra
d4c8ee7059 Rely on XML catalogs to find the DocBook schemas and stylesheets 2014-11-25 15:54:26 +01:00
Eelco Dolstra
976b949e4d More build-cache-failures -> build-cache-failure 2014-11-24 16:52:13 +01:00
Eelco Dolstra
215745415e Update installation section 2014-11-24 16:50:46 +01:00
Eelco Dolstra
103e4e43cc Update quick start section 2014-11-24 16:50:46 +01:00
Eelco Dolstra
2b74354e52 Combine introduction / quick start parts 2014-11-24 16:50:45 +01:00
Eelco Dolstra
5e04992d1f Manual: Bump date 2014-11-24 16:50:45 +01:00
Eelco Dolstra
69f91e3645 Don't claim FreeBSD support 2014-11-24 16:50:45 +01:00
Rob Vermaas
328a80e60a 'build-cache-failures' -> 'build-cache-failure' in nix.conf documentation. 2014-11-24 13:16:45 +01:00
Shea Levy
3d604ac88c Document functors 2014-11-15 16:25:47 -05:00
Eelco Dolstra
6f6b75cd09 Typo 2014-11-04 10:15:55 +01:00
Eelco Dolstra
1683fffd09 Update release notes 2014-10-29 16:18:39 +01:00
Eelco Dolstra
722bd041ce Document some primops 2014-10-29 16:18:03 +01:00
bobvanderlinden
5f7ded7d22 doc: fixed nix-instantiate --find-file
The manual said --file-file, which should be --find-file.
2014-10-27 08:45:10 +01:00
Eelco Dolstra
2c1711ae33 nix-channel: Add --rollback flag
Fixes #368.
2014-10-14 12:08:04 +02:00
Eelco Dolstra
104e55bb7f nix-env: Add regular expression support in selectors
So you can now do things like:

  $ nix-env -qa '.*zip.*'
  $ nix-env -qa '.*(firefox|chromium).*'
2014-10-03 21:29:40 +02:00
wmertens
e83a027e00 Remove bash requirement
As per https://github.com/NixOS/nixos-homepage/pull/16
2014-09-24 11:42:41 +02:00
Shell Turner
147fcdd137 Updated documentation for nix-install-package to mention --set flag 2014-09-23 15:11:25 +02:00
darealshinji
a5b5ebc45f add manpage for nix-generate-patches 2014-09-23 15:10:18 +02:00
Vladimír Čunát
c313d86bb8 manual: add a note that lists are strict in length
Close #345.
2014-09-23 15:08:33 +02:00
Eelco Dolstra
a2fc9c6b57 Remove unhelpful suggestion 2014-09-16 15:42:20 +02:00
Eelco Dolstra
3a52104bee Delete bugs.xml 2014-09-16 15:40:03 +02:00
Eelco Dolstra
5a0181c7f2 Make troubleshooting an appendix 2014-09-16 15:39:08 +02:00
Eelco Dolstra
f77d83c26b Style tweak 2014-09-16 15:37:38 +02:00
Eelco Dolstra
3c8522cc22 Fix parallel make of manpages 2014-09-16 15:29:55 +02:00
Eelco Dolstra
54adf344a3 Fix references to version.txt 2014-09-16 14:57:45 +02:00
Eelco Dolstra
7a740c9288 Drop separate release notes 2014-09-16 14:52:44 +02:00
Eelco Dolstra
b1af336132 Undocument NIX_OTHER_STORES 2014-09-16 14:49:00 +02:00
Eelco Dolstra
57f6463ec0 Tweak some chapter titles 2014-09-16 14:38:37 +02:00
Eelco Dolstra
d0608da13f Drop "service deployment" bla bla 2014-09-16 14:36:32 +02:00
Eelco Dolstra
8b760182cd Drop reference to FreeBSD 2014-09-16 14:35:11 +02:00
Eelco Dolstra
f271b94652 Remove pointless "license" section 2014-09-16 14:33:39 +02:00
Eelco Dolstra
7a68b4e4d3 Release notes: Use a section per version 2014-09-16 14:29:00 +02:00
Eelco Dolstra
9ed49c1da0 Nicer file names for the release notes 2014-09-16 14:18:55 +02:00
Eelco Dolstra
8259a392da Manual build fixes 2014-09-16 14:14:09 +02:00
Eelco Dolstra
f0ef6b74b9 Merge branch 'master' of github.com:thatdocslady/nix
Conflicts:
	doc/manual/release-notes.xml
	doc/manual/writing-nix-expressions.xml
2014-09-16 14:13:36 +02:00
Eelco Dolstra
67e5dd3ce9 Add some hyperlinks between NIXPATH and -I 2014-09-16 11:20:09 +02:00
Eelco Dolstra
9eddf6f0b6 allowedRequisites: Drop stdenv mention
I don't think it's a good idea to use allowedRequisites for stdenv, so
don't mention it here.
2014-08-28 18:26:01 +02:00
Eelco Dolstra
b5da80e627 Fix manual build 2014-08-28 18:25:16 +02:00
Gergely Risko
fd61069a42 Introduce allowedRequisites feature 2014-08-28 18:23:55 +02:00
Mikey Ariel
8901acc976 Restructuring the Nix manual 2014-08-27 18:41:09 +02:00
Gergely Risko
4b0a720ddf Document the "out" usage in allowedReferences 2014-08-23 11:11:19 +02:00
Eelco Dolstra
401ab50566 Remove pointless NIX_LOG_TYPE environment variable 2014-08-13 01:19:02 +02:00
Eelco Dolstra
7018830509 Update manual 2014-08-04 18:00:33 +02:00
Eelco Dolstra
1a44f1cb65 nix-copy-closure: Drop --bzip2, --xz, --show-progress
These are too difficult to implement via nix-store --serve.

‘--show-progress’ could be re-implemented fairly easily via a
sink/source wrapper class.
2014-07-24 17:11:54 +02:00
Eelco Dolstra
f609eec71a Bump 2014-07-18 00:01:06 +02:00
Eelco Dolstra
049c0eb49c nix-daemon: Add trusted-users and allowed-users options
‘trusted-users’ is a list of users and groups that have elevated
rights, such as the ability to specify binary caches. It defaults to
‘root’. A typical value would be ‘@wheel’ to specify all users in the
wheel group.

‘allowed-users’ is a list of users and groups that are allowed to
connect to the daemon. It defaults to ‘*’. A typical value would be
‘@users’ to specify the ‘users’ group.
2014-07-17 16:57:07 +02:00
Eelco Dolstra
a2c85b2ef8 Manual: Typo 2014-07-16 11:21:44 +02:00