Eelco Dolstra
4868721506
Filter ANSI colors when not writing to a terminal
...
Fixes https://github.com/NixOS/nixpkgs/issues/37114 .
2018-03-15 16:08:07 +01:00
Shea Levy
56f2ed0081
Merge pull request #1906 from dtzWill/fix/nix-search
...
nix search: tests and fix #1893 and part of #1892
2018-03-13 18:43:47 -06:00
Shea Levy
3748a0ca1e
Merge branch 'improve-search-algorithm' of git://github.com/Ma27/nix
2018-03-02 11:41:08 -05:00
Shea Levy
aa8bbbf69d
Merge branch 'write-failure-fixes' of git://github.com/lheckemann/nix
2018-03-02 10:59:59 -05:00
Eelco Dolstra
24ec750003
nix run: Fix segfault on macOS
...
Note that clearenv() is not available on macOS.
Fixes #1907 .
2018-02-26 18:29:40 +01:00
Will Dietz
009cf9cd23
nix search: explicitly handle empty search string, fixes #1893
...
This is important since this is given as an example.
Other patterns containing "empty search string" will still
be handled differently on different platforms ("asdf|")
but that's less of an issue.
2018-02-25 16:40:56 -06:00
Will Dietz
3cac8734ac
nix search: fix bug where we wrote to cache when shouldn't, breaking
...
This is exposed by the tests added previously,
and resolves the error reported in #1892 :
"expected JSON value".
2018-02-25 16:40:05 -06:00
Eelco Dolstra
de4c03d201
Merge branch 'fix/dry-run-partially' of https://github.com/dtzWill/nix
2018-02-22 12:18:20 +01:00
Eelco Dolstra
0d54671b7b
Manual: Update chapter on remote builds
...
Alos add a command "nix ping-store" to make it easier to see if Nix
can connect to a remote builder (e.g. 'nix ping-store --store
ssh://mac').
2018-02-21 16:24:26 +01:00
Jörg Thalheim
fa7fd76c5e
nix-copy: fix examples
...
maybe a left-over from nix-store -r ?
2018-02-21 01:13:46 +00:00
Eelco Dolstra
70eb64147e
Update release notes
...
Also add some examples to nix --help.
2018-02-19 20:38:53 +01:00
Linus Heckemann
78ac3eb4eb
Fix #1762
...
nix-store --export, nix-store --dump, and nix dump-path would previously
fail silently if writing the data out failed, because
a) FdSink::write ignored exceptions, and
b) the commands relied on FdSink's destructor, which ignores
exceptions, to flush the data out.
This could cause rather opaque issues with installing nixos, because
nix-store --export would happily proceed even if it couldn't write its
data out (e.g. if nix-store --import on the other side of the pipe
failed).
This commit adds tests that expose these issues in the nix-store
commands, and fixes them for all three.
2018-02-13 14:26:19 +00:00
Eelco Dolstra
1c10a74c73
Merge branch 'plugins' of https://github.com/shlevy/nix
2018-02-13 12:15:27 +01:00
Eelco Dolstra
35fd31770c
toBuildables -> build
2018-02-12 17:06:06 +01: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
Will Dietz
98031b6050
nix build: Don't create output links with --dry-run.
...
Fixes #1849 .
2018-02-07 15:20:54 -06:00
Eelco Dolstra
84989d3af2
Improve filtering of ANSI escape sequences in build logs
...
All ANSI sequences except color setting are now filtered out. In
particular, terminal resets (such as from NixOS VM tests) are filtered
out.
Also, fix the completely broken tab character handling.
2018-02-07 15:23:57 +01:00
Eelco Dolstra
6f6bfc8205
Update the progress bar at most 20 times per second
...
Fixes #1834 .
2018-02-06 20:51:37 +01:00
Eelco Dolstra
55012ec0b9
Tweak progress bar message
...
Say "copying" instead of "fetching" when copying from another local
store. Nice for nixos-install.
2018-02-05 18:32:23 +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
27b510af5c
nix eval: Stop progress bar before printing the result
2018-01-17 12:04:44 +01:00
Eelco Dolstra
16e0287556
nix eval: Take only one argument
...
Thus --json no longer produces a list.
2018-01-17 12:03:06 +01:00
Eelco Dolstra
23fa7e3606
parseExprFromFile -> evalFile
...
parseExprFromFile() should be avoided since it doesn't cache anything.
2018-01-16 17:11:58 +01:00
Will Dietz
6454ca393a
nix log: use pager
2018-01-12 15:05:26 -06:00
Will Dietz
bd17ccf1d8
nix repl: use linenoiseKeyType to differentiate ^C and ^D
...
Fixes #1757 .
2017-12-26 19:25:50 -06:00
Ben Gamari
626a94d70e
edit: Catch stoi exceptions from line number parsing
2017-12-14 19:11:56 -05:00
Maximilian Bosch
0413aeb35d
search.cc: sort attribute names with std::map
2017-12-12 15:13:36 +01:00
Will Dietz
c800f47395
Fix forward-decl of Bindings as "class", match definition.
...
(appease clang -Wmismatched-tags warning)
2017-12-11 11:51:55 -06:00
Shea Levy
5ba5ca7888
Merge branch 'feature/linenoise-ng' of git://github.com/dtzWill/nix
2017-12-11 07:52:20 -05:00
Eelco Dolstra
f1efb97075
Fix #1635 .
2017-12-04 13:19:16 +01:00
Will Dietz
964349e44d
no "linenoiseFree" in linenoise-ng
2017-11-27 18:30:05 -06:00
Will Dietz
21f515724c
replace vendored linenoise with linenoise-ng
2017-11-27 18:27:28 -06:00
Eelco Dolstra
f5f29dc2b7
nix eval --raw: Use coerceToString()
...
Thus,
$ nix eval --raw '("foo")'
foo
$ nix eval --raw nixpkgs.hello
/nix/store/1y6ckg6khrdsvll54s5spcmf3w6ka9k4-hello-2.10
$ nix eval --raw '(/etc/resolv.conf)'
/nix/store/vml92ama92i8mz013nny461mlvg8mvap-resolv.conf
2017-11-20 18:27:29 +01:00
Eelco Dolstra
1ff01187e2
nix run: Fix "flag '--command' requires 2 argument(s)"
2017-11-20 18:07:58 +01:00
Eelco Dolstra
4eb9e20028
nix run: Fix accidental removal of /nix/store existence check
...
Parenthetical to #1686 , we don't need to create a new root if we can
just bind-mount on top of the existing /nix/store.
2017-11-20 17:59:32 +01:00
Eelco Dolstra
a3aa850f0f
nix run: Ignore non-directories while setting up the chroot
...
Fixes #1686 .
2017-11-20 17:58:47 +01:00
Eelco Dolstra
4db0a9555e
nix ls-{nar,store} --json: Respect -R
2017-11-14 14:31:38 +01:00
Eelco Dolstra
c8155e9f5f
Don't indent JSON output
2017-11-14 14:28:03 +01:00
Eelco Dolstra
bac8055652
nix ls-{store,nar}: Add --json flag
2017-11-14 14:23:53 +01:00
Eelco Dolstra
5ef5d70b5e
Make config options available to legacy commands
2017-11-14 14:04:09 +01:00
Eelco Dolstra
3460e4cf00
More progress indicator improvements
...
In particular, don't show superfluous "fetching path" and "building
path(s)" messages, and show the current round (with --repeat).
2017-10-24 15:32:38 +02:00
Eelco Dolstra
be220702a7
Progress indicator: Show on what machine we're building
...
E.g.
$ nix build nixpkgs.hello --builders 'root@wendy'
[1/0/1 built] building hello-2.10 on ssh://root@wendy: checking for minix/config.h... no
2017-10-24 14:24:57 +02:00
Eelco Dolstra
0d59f1ca49
nix: Respect -I, --arg, --argstr
...
Also, random cleanup to argument handling.
2017-10-24 12:58:34 +02:00
Eelco Dolstra
f32cdc4fab
Turn $NIX_REMOTE into a configuration option
2017-10-23 20:50:28 +02:00
Eelco Dolstra
f3e0d46821
nix run: Restore signals
...
Otherwise Ctrl-C doesn't work.
2017-09-28 17:58:59 +02:00
Eelco Dolstra
5421ad243e
nix copy: make recursive by default
2017-09-27 18:28:54 +02:00
Eelco Dolstra
b8875213dc
Tweak message
2017-09-27 13:21:25 +02:00
Eelco Dolstra
bfef3ec855
nix build: Fix realising a store path
2017-09-27 13:14:45 +02:00
Eelco Dolstra
d1c6e0fe8c
nix why-depends: Write to stdout
2017-09-25 16:59:16 +02:00
Eelco Dolstra
e8d6ee7c1b
Add "nix show-derivation"
...
This debug command prints a store derivation in JSON format. For
example:
$ nix show-derivation nixpkgs.hello
{
"/nix/store/ayjwpwwiyy04nh9z71rsdgd3q7bra7ch-hello-2.10.drv": {
"outputs": {
"out": {
"path": "/nix/store/w5w4v29ql0qwqhczkdxs94ix2lh7ibgs-hello-2.10"
}
},
"inputSrcs": [
"/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh"
],
"inputDrvs": {
"/nix/store/13839aqdf6x4k3b785rw5f2l7857l6y3-bash-4.4-p12.drv": [
"out"
],
"/nix/store/vgdx7fdc7d4iirmnwj2py1nrvr5qwzj7-hello-2.10.tar.gz.drv": [
"out"
],
"/nix/store/x3kkd0vsqfflbvwf1055l9mr39bg0ms0-stdenv.drv": [
"out"
]
},
"platform": "x86_64-linux",
"builder": "/nix/store/qp5fw57d38bd1n07ss4zxh88zg67c3vg-bash-4.4-p12/bin/bash",
"args": [
"-e",
"/nix/store/9krlzvny65gdc8s7kpb6lkx8cd02c25b-default-builder.sh"
],
"env": {
"buildInputs": "",
"builder": "/nix/store/qp5fw57d38bd1n07ss4zxh88zg67c3vg-bash-4.4-p12/bin/bash",
"configureFlags": "",
"doCheck": "1",
"name": "hello-2.10",
"nativeBuildInputs": "",
"out": "/nix/store/w5w4v29ql0qwqhczkdxs94ix2lh7ibgs-hello-2.10",
"propagatedBuildInputs": "",
"propagatedNativeBuildInputs": "",
"src": "/nix/store/3x7dwzq014bblazs7kq20p9hyzz0qh8g-hello-2.10.tar.gz",
"stdenv": "/nix/store/6zngq1rdh0ans9qyckqimqibgnlvlfrm-stdenv",
"system": "x86_64-linux"
}
}
}
This removes the need for pp-aterm.
2017-09-25 13:43:35 +02:00