Eelco Dolstra
a957893b26
Allow nix-shell to be used as a #! interpreter
...
This allows scripts to fetch their own dependencies via nix-shell. For
instance, here is a Haskell script that, when executed, pulls in GHC
and the HTTP package:
#! /usr/bin/env nix-shell
#! nix-shell -i runghc -p haskellPackages.ghc haskellPackages.HTTP
import Network.HTTP
main = do
resp <- Network.HTTP.simpleHTTP (getRequest "http://nixos.org/ ")
body <- getResponseBody resp
print (take 100 body)
Or a Perl script that pulls in Perl and some CPAN packages:
#! /usr/bin/env nix-shell
#! nix-shell -i perl -p perl perlPackages.HTMLTokeParserSimple perlPackages.LWP
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new(url => 'http://nixos.org/ ');
while (my $token = $p->get_tag("a")) {
my $href = $token->get_attr("href");
print "$href\n" if $href;
}
Note that the options to nix-shell must be given on a separate line
that starts with the magic string ‘#! nix-shell’. This is because
‘env’ does not allow passing arguments to an interpreter directly.
2015-01-08 14:32:45 +01:00
Eelco Dolstra
7ba0e9cb48
nix-shell --command: Remove bogus argument to "exit"
...
Fixes "exit: Inappropriate: numeric argument required" errors.
2015-01-07 16:10:20 +01:00
Eelco Dolstra
c2a552b075
Install cacert before running nix-channel
...
Also, make it more robust against incorrent SSL_CERT_FILE values.
2014-12-13 16:53:21 +01:00
Eelco Dolstra
20cf0127f5
Include cacert in the binary tarball
...
This prevents having to fetch Nixpkgs or cacert over http.
2014-12-10 16:05:08 +01:00
Eelco Dolstra
2f16946064
Always use https to fetch the Nixpkgs channel
2014-12-10 11:35:56 +01:00
Eelco Dolstra
39fe52f7ac
Fix bad comment
2014-12-10 11:35:05 +01:00
Eelco Dolstra
af555d7694
Doh
2014-12-09 20:43:12 +01:00
Eelco Dolstra
d44d923be9
Add option to disable binary cache certificate checking
2014-12-09 13:16:02 +01:00
Eelco Dolstra
5510d21193
Provide some fallback defaults for the CA bundle
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
bf78a27ac9
Fix another operator precedence issue found by Perl 5.20
2014-12-05 19:25:13 +01:00
Eelco Dolstra
5d064e2698
Add a test for the binary tarball installer
2014-11-18 14:50:05 +01:00
Eelco Dolstra
5ef2453139
build-remote.pl.in: Add some more trace messages
...
This allows hydra-build to keep track of the actual build time (so
excluding time required to copy closures around).
2014-11-12 13:56:01 +01:00
Eelco Dolstra
8979562ed7
download-from-binary-cache.pl: Fix flushing of stderr
2014-11-04 14:37:58 +01:00
Shea Levy
bca6d35636
Fix nix-copy-closure --from
...
http://hydra.nixos.org/build/15885652
2014-10-15 15:05:13 -04:00
Eelco Dolstra
138c257dcd
Revert "binary download: Use $NIX_CURL_FLAGS"
...
This reverts commit bc4795919a
. It
breaks the build:
http://hydra.nixos.org/build/15860847
2014-10-15 10:22:17 +02:00
wmertens
bc4795919a
binary download: Use $NIX_CURL_FLAGS
...
As in 5c0816567d/pkgs/build-support/fetchurl/builder.sh (L17)
2014-10-14 15:36:14 +02:00
Eelco Dolstra
2c1711ae33
nix-channel: Add --rollback flag
...
Fixes #368 .
2014-10-14 12:08:04 +02:00
Eelco Dolstra
a8925a510c
nix-channel --add: Validate URL / channel ID
...
Fixes #369 .
2014-10-14 11:28:13 +02:00
Eelco Dolstra
f1adf4c998
Remove unused @sshOpts flag
...
Closes #300 .
2014-10-14 11:01:18 +02:00
Eelco Dolstra
a79e56de68
nix-copy-closure: Use strict
2014-10-14 10:56:33 +02:00
Shell Turner
9dd54bc7bb
Pass through --set from nix-install-package command line to nix-env
2014-09-23 15:11:24 +02:00
Eelco Dolstra
d2d5543625
build-remote.pl: UTF-8-decode errors
2014-09-05 11:53:11 +02:00
Eelco Dolstra
e74113a305
Fix build-remote.pl
...
Apparently, turning on utf8 encoding on stderr changes its flushing
behaviour, causing sendReply to not send anything.
http://hydra.nixos.org/build/13944384
2014-09-05 11:43:14 +02:00
Eelco Dolstra
27a01d92c2
Shut up "Wide character" warnings in Perl scripts
2014-08-29 17:48:25 +02:00
Eelco Dolstra
163fdf292e
Set a curl timeout on binary cache lookups
2014-08-21 15:15:50 +02:00
Eelco Dolstra
11849a320e
Use proper quotes everywhere
2014-08-20 18:03:48 +02:00
Eelco Dolstra
42e9ad8fd1
Propagate remote timeouts properly
2014-08-17 19:09:03 +02:00
Eelco Dolstra
c6e85ee474
nix-build: Propagate exit status from nix-store -r
2014-08-17 18:37:09 +02:00
Eelco Dolstra
ccd4fe5c49
build-remote.pl: Provide defaults for $NIX_CURRENT_LOAD and $NIX_REMOTE_SYSTEMS
2014-08-17 18:05:24 +02:00
Eelco Dolstra
3e5dbb2433
nix-shell: Use $XDG_RUNTIME_DIR
...
This prevents collisions with other users.
Fixes #262 .
2014-08-13 23:16:08 +02:00
Eelco Dolstra
3bea429ae8
Use $XDG_RUNTIME_DIR for temporary files
2014-08-13 23:12:57 +02:00
Eelco Dolstra
57695d8f76
Warn about untrusted binary caches in extra-binary-caches
2014-08-07 22:46:35 +02:00
Eelco Dolstra
6e1f4c1488
nix-install-package: Use extra-binary-caches
2014-08-07 22:41:44 +02:00
Eelco Dolstra
393a9b92b1
download-from-binary-cache.pl: Respect $SSL_CERT_FILE
2014-08-07 22:41:15 +02:00
Eelco Dolstra
4a198dae74
install-nix-from-closure.sh: Use https channel if possible
2014-08-07 15:37:21 +02:00
Eelco Dolstra
2ea2703fe9
install-nix-from-closure.sh: Install cacert
2014-07-29 17:12:15 +02:00
Eelco Dolstra
50ed345fad
nix-profile.sh: Set $SSL_CERT_FILE
2014-07-29 17:11:54 +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
7f7d4ab686
nix-copy-closure: Implement --gzip via ssh's -C flag
2014-07-24 16:32:55 +02:00
Eelco Dolstra
7b351da680
Remove obsolete SSH master connection code
2014-07-24 16:19:42 +02:00
Eelco Dolstra
03103c0a36
Implement nix-copy-closure --from via nix-store --serve
2014-07-24 16:19:41 +02:00
Eelco Dolstra
62309a2c56
build-remote.pl: Be less verbose on failing builds
2014-07-24 12:43:59 +02:00
Eelco Dolstra
5bcb982711
Remove cruft
2014-07-14 12:39:53 +02:00
Eelco Dolstra
a00a98548e
build-remote.pl: Fix build log
2014-07-12 00:09:43 +02:00
Eelco Dolstra
a5c6347ff0
build-remote.pl: Use ‘nix-store --serve’ on the remote side
...
This makes things more efficient (we don't need to use an SSH master
connection, and we only start a single remote process) and gets rid of
locking issues (the remote nix-store process will keep inputs and
outputs locked as long as they're needed).
It also makes it more or less secure to connect directly to the root
account on the build machine, using a forced command
(e.g. ‘command="nix-store --serve --write"’). This bypasses the Nix
daemon and is therefore more efficient.
Also, don't call nix-store to import the output paths.
2014-07-11 16:22:24 +02:00
Eelco Dolstra
7bb632b024
nix-copy-closure -s: Do substitutions via ‘nix-store --serve’
...
This means we no longer need an SSH master connection, since we only
execute a single command on the remote host.
2014-07-10 20:43:04 +02:00
Eelco Dolstra
1114c7bd57
nix-copy-closure: Restore compression and the progress viewer
2014-07-10 14:15:12 +02:00
Aristid Breitkreuz
a457d5ad4d
nix-build: --add-root also takes 1 parameter
2014-05-26 17:24:43 +02:00
Eelco Dolstra
924e19341a
Don't barf when installing as root
2014-04-10 23:42:48 +02:00