Shea Levy
b8739f2fb3
Enable specifying directories in plugin-files.
2018-02-13 11:25:01 -05:00
Shea Levy
6eb1040e90
Allow includes from nix.conf
2018-02-13 08:16:32 -05:00
Shea Levy
081f14a169
Allow using RegisterPrimop to define constants.
...
This enables plugins to add new constants, as well as new primops.
2018-02-08 14:35:50 -05:00
Shea Levy
88cd2d41ac
Add plugins to make Nix more extensible.
...
All plugins in plugin-files will be dlopened, allowing them to
statically construct instances of the various Register* types Nix
supports.
2018-02-08 12:44:37 -05:00
Eelco Dolstra
abe6be578b
Merge pull request #1816 from shlevy/add-path
...
Add path primop.
2018-02-07 13:32:35 +01:00
Shea Levy
69d82e5c58
Add path primop.
...
builtins.path allows specifying the name of a path (which makes paths
with store-illegal names now addable), allows adding paths with flat
instead of recursive hashes, allows specifying a filter (so is a
generalization of filterSource), and allows specifying an expected
hash (enabling safe path adding in pure mode).
2018-02-06 16:48:08 -05:00
Eelco Dolstra
84722d67d2
Remove nix-build --hash
...
Instead, if a fixed-output derivation produces has an incorrect output
hash, we now unconditionally move the outputs to the path
corresponding with the actual hash and register it as valid. Thus,
after correcting the hash in the Nix expression (e.g. in a fetchurl
call), the fixed-output derivation doesn't have to be built again.
It would still be good to have a command for reporting the actual hash
of a fixed-output derivation (instead of throwing an error), but
"nix-build --hash" didn't do that.
2018-02-03 10:08:05 +01:00
Shea Levy
de96daf54f
Merge branch 'master' of git://github.com/catern/nix
2018-02-01 13:21:45 -05:00
Eelco Dolstra
e7b23eb5ab
Remove docs on removed --drv-link and --add-drv-link options
2018-02-01 16:40:58 +01:00
Spencer Baugh
e5432574e2
document ability to set NIX_REMOTE=unix://path/to/socket
2018-01-31 22:47:16 +00:00
Eelco Dolstra
c287d73121
Rename 1.12 -> 2.0
...
Following discussion with Shea and Graham. It's a big enough change
from the last release. Also, from a semver perspective, 2.0 makes more
sense because we did remove some interfaces (like nix-pull/nix-push).
2018-01-31 18:58:45 +01:00
Eelco Dolstra
6fa690291a
Add 'nix upgrade-nix' command
...
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-31 16:24:43 +01:00
Eelco Dolstra
f8e8dd827e
Manual: Remove old cruft
2018-01-31 15:08:46 +01:00
Eric Wolf
0167eac571
Improve manual on inheriting attributes
...
Expands first paragraph a bit
Adds a more comprehensive example
2018-01-27 16:18:31 +01:00
Eelco Dolstra
cfeff3b273
Move show-trace docs
2018-01-17 11:53:16 +01:00
Renzo Carbonara
b0328c244d
nix.conf: builders-use-substitutes
...
Fixes #937
2018-01-09 22:40:07 +01:00
Eelco Dolstra
44272d8719
Rename "use-substitutes" to "substitute"
...
Commit c2154d4c84
renamed
"build-use-substitutes" to "use-substitutes", but that broke
"nix-copy-closure --use-substitutes".
2018-01-04 16:58:39 +01:00
Eelco Dolstra
e3c19ff9bc
Merge pull request #1725 from chris-martin/pr/concatStringsSep
...
Add builtins.concatStringSep to the manual
2017-12-12 11:46:10 +01:00
Chris Martin
2a8f09a8c1
Add builtins.concatStringSep to the manual
2017-12-11 14:28:03 -05:00
Eelco Dolstra
06d4566c2d
Merge pull request #1721 from expipiplus1/patch-2
...
Escape left angle brackets in XML documentation
2017-12-11 17:29:36 +01:00
Shea Levy
5ba5ca7888
Merge branch 'feature/linenoise-ng' of git://github.com/dtzWill/nix
2017-12-11 07:52:20 -05:00
Joe Hermaszewski
35a49f1d7f
Escape left angle brackets in XML documentation
2017-12-09 15:31:03 +00:00
Markus Hauck
0af668426d
nix-hash: Add sentence and example for nix-prefetch-url hash
2017-12-08 10:27:34 +01:00
Will Dietz
e50d7335bf
doc: linenoise -> linenoise-ng
2017-11-27 18:36:20 -06:00
Eelco Dolstra
7536fe31dd
Add a warning about the 'trusted-users' option
2017-11-21 18:49:52 +01:00
Eelco Dolstra
8df60b4ea8
Document secret-key-files
2017-11-20 18:51:04 +01:00
Eelco Dolstra
91a1987607
signed-binary-caches -> require-sigs
...
Unlike signed-binary-caches (which could only be '*' or ''),
require-sigs is a proper Boolean option. The default is true.
2017-11-20 17:44:07 +01:00
Eelco Dolstra
7a2b64e55c
binary-cache-public-keys -> trusted-public-keys
...
The name had become a misnomer since it's not only for substitution
from binary caches, but when adding/copying any
(non-content-addressed) path to a store.
2017-11-20 17:32:34 +01:00
Eelco Dolstra
6cf7c6a6b0
Remove git:// support in NIX_PATH
...
This didn't support specifying a revision/branch, and was restricted
to git:// URIs (since https:// or ssh:// would be ambiguous).
2017-11-03 13:55:31 +01:00
Zoran Plesivčak
ae506c1ea4
Mention isFloat function in "Built-in Functions" section
2017-11-01 23:00:08 +00:00
Zoran Plesivčak
3050395810
Mention "float" type in builtins.typeOf section of the docs
...
+ remove trailing whitespace from the file
2017-11-01 21:36:25 +00:00
Eelco Dolstra
812e027e1d
Add option allowed-uris
...
This allows network access in restricted eval mode.
2017-10-30 12:41:49 +01:00
Eelco Dolstra
f1c555cef8
fetchurl/fetchTarball are *not* allowed in restricted mode
...
Accidentally committed this change as part of
f9686885be
.
Restricted mode != pure mode.
2017-10-30 12:41:48 +01:00
Domen Kožar
5cb78053f0
Merge pull request #1633 from orivej/doc
...
Update the language documentation
2017-10-30 12:21:54 +01:00
Eelco Dolstra
049322702b
fetchgit -> fetchGit
...
Almost all other primops are camelCase so no reason not to use that
here.
2017-10-30 10:25:08 +01:00
Orivej Desh
842ce8bafd
Clarify indented string escaping rules
2017-10-26 18:53:36 +00:00
Orivej Desh
15457c5673
Describe "with" scoping precedence
2017-10-26 18:53:36 +00:00
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