about summary refs log tree commit diff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2015-01-15 Set correct user agent for NAR downloads from binary cachesEelco Dolstra1-2/+4
2015-01-08 nix-shell: Add --run flagEelco Dolstra1-2/+7
‘--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 nix-shell: Interpret filenames relative to the #!-scriptEelco Dolstra1-0/+7
So you can have a script like: #! /usr/bin/env nix-shell #! nix-shell script.nix -i python import prettytable x = prettytable.PrettyTable(["Foo", "Bar"]) for i in range(1, 10): x.add_row([i, i**2]) print x with a ‘script.nix’ in the same directory: with import <nixpkgs> {}; runCommand "dummy" { buildInputs = [ python pythonPackages.prettytable ]; } "" (Of course, in this particular case, using the ‘-p’ flag is more convenient.)
2015-01-08 Allow nix-shell to be used as a #! interpreterEelco Dolstra1-0/+37
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-07 nix-shell --command: Remove bogus argument to "exit"Eelco Dolstra1-1/+1
Fixes "exit: Inappropriate: numeric argument required" errors.
2014-12-13 Install cacert before running nix-channelEelco Dolstra1-5/+6
Also, make it more robust against incorrent SSL_CERT_FILE values.
2014-12-10 Include cacert in the binary tarballEelco Dolstra1-2/+5
This prevents having to fetch Nixpkgs or cacert over http.
2014-12-10 Always use https to fetch the Nixpkgs channelEelco Dolstra2-6/+2
2014-12-10 Fix bad commentEelco Dolstra1-1/+1
2014-12-09 DohEelco Dolstra1-1/+1
2014-12-09 Add option to disable binary cache certificate checkingEelco Dolstra1-1/+7
2014-12-09 Provide some fallback defaults for the CA bundleEelco Dolstra1-0/+2
2014-12-09 Use https://cache.nixos.org instead of http://cache.nixos.orgEelco Dolstra1-1/+1
2014-12-05 Fix another operator precedence issue found by Perl 5.20Eelco Dolstra1-1/+1
2014-11-18 Add a test for the binary tarball installerEelco Dolstra1-2/+4
2014-11-12 build-remote.pl.in: Add some more trace messagesEelco Dolstra1-0/+2
This allows hydra-build to keep track of the actual build time (so excluding time required to copy closures around).
2014-11-04 download-from-binary-cache.pl: Fix flushing of stderrEelco Dolstra1-0/+1
2014-10-15 Fix nix-copy-closure --fromShea Levy1-1/+1
http://hydra.nixos.org/build/15885652
2014-10-15 Revert "binary download: Use $NIX_CURL_FLAGS"Eelco Dolstra1-1/+1
This reverts commit bc4795919afac59af8f27d3c1f26ab404330f718. It breaks the build: http://hydra.nixos.org/build/15860847
2014-10-14 binary download: Use $NIX_CURL_FLAGSwmertens1-1/+1
As in https://github.com/NixOS/nixpkgs/blob/5c0816567d6b99bd2ef7c8ae5744f80a6a0372c4/pkgs/build-support/fetchurl/builder.sh#L17
2014-10-14 nix-channel: Add --rollback flagEelco Dolstra1-0/+14
Fixes #368.
2014-10-14 nix-channel --add: Validate URL / channel IDEelco Dolstra1-0/+2
Fixes #369.
2014-10-14 Remove unused @sshOpts flagEelco Dolstra1-2/+2
Closes #300.
2014-10-14 nix-copy-closure: Use strictEelco Dolstra1-0/+1
2014-09-23 Pass through --set from nix-install-package command line to nix-envShell Turner1-1/+5
2014-09-05 build-remote.pl: UTF-8-decode errorsEelco Dolstra1-1/+2
2014-09-05 Fix build-remote.plEelco Dolstra1-1/+4
Apparently, turning on utf8 encoding on stderr changes its flushing behaviour, causing sendReply to not send anything. http://hydra.nixos.org/build/13944384
2014-08-29 Shut up "Wide character" warnings in Perl scriptsEelco Dolstra10-0/+25
2014-08-21 Set a curl timeout on binary cache lookupsEelco Dolstra1-0/+1
2014-08-20 Use proper quotes everywhereEelco Dolstra12-78/+80
2014-08-17 Propagate remote timeouts properlyEelco Dolstra1-6/+1
2014-08-17 nix-build: Propagate exit status from nix-store -rEelco Dolstra1-1/+1
2014-08-17 build-remote.pl: Provide defaults for $NIX_CURRENT_LOAD and $NIX_REMOTE_SYSTEMSEelco Dolstra1-2/+2
2014-08-13 nix-shell: Use $XDG_RUNTIME_DIREelco Dolstra1-1/+2
This prevents collisions with other users. Fixes #262.
2014-08-13 Use $XDG_RUNTIME_DIR for temporary filesEelco Dolstra7-22/+7
2014-08-07 Warn about untrusted binary caches in extra-binary-cachesEelco Dolstra1-2/+5
2014-08-07 nix-install-package: Use extra-binary-cachesEelco Dolstra1-1/+1
2014-08-07 download-from-binary-cache.pl: Respect $SSL_CERT_FILEEelco Dolstra1-1/+1
2014-08-07 install-nix-from-closure.sh: Use https channel if possibleEelco Dolstra1-1/+5
2014-07-29 install-nix-from-closure.sh: Install cacertEelco Dolstra1-0/+3
2014-07-29 nix-profile.sh: Set $SSL_CERT_FILEEelco Dolstra1-1/+10
2014-07-24 nix-copy-closure: Drop --bzip2, --xz, --show-progressEelco Dolstra2-16/+6
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 nix-copy-closure: Implement --gzip via ssh's -C flagEelco Dolstra1-2/+1
2014-07-24 Remove obsolete SSH master connection codeEelco Dolstra1-1/+1
2014-07-24 Implement nix-copy-closure --from via nix-store --serveEelco Dolstra2-29/+10
2014-07-24 build-remote.pl: Be less verbose on failing buildsEelco Dolstra1-1/+2
2014-07-14 Remove cruftEelco Dolstra2-127/+0
2014-07-12 build-remote.pl: Fix build logEelco Dolstra1-1/+1
2014-07-11 build-remote.pl: Use ‘nix-store --serve’ on the remote sideEelco Dolstra1-46/+22
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-10 nix-copy-closure -s: Do substitutions via ‘nix-store --serve’Eelco Dolstra1-3/+2
This means we no longer need an SSH master connection, since we only execute a single command on the remote host.