aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2012-07-25nix-profile.sh: Don't set NIX_REMOTE on single user installationsEelco Dolstra
Commit 6a214f3e06fa1c5f0a4d40e555f14d87691af297 reused the NixOS environment initialisation for nix-profile.sh, but this is inappropriate on systems that don't have multi-user support enabled.
2012-07-25Subscribe to the Nixpkgs rather than NixOS channelEelco Dolstra
2012-07-23nix-build: Support the ‘-’ argument to build an expression from stdinEelco Dolstra
2012-05-31Update nix profile: - incorporate NixOS's configuration so that nix is ↵Michel Alexandre Salim
usable by normal users - install as a data file, not a program file
2012-05-22Generate binary tarballs for installing NixEelco Dolstra
For several platforms we don't currently have "native" Nix packages (e.g. Mac OS X and FreeBSD). This provides the next best thing: a tarball containing the closure of Nix, plus a simple script "nix-finish-install" that initialises the Nix database, registers the paths in the closure as valid, and runs "nix-env -i /path/to/nix" to initialise the user profile. The tarball must be unpacked in the root directory. It creates /nix/store/... and /usr/bin/nix-finish-install. Typical installation is as follows: $ cd / $ tar xvf /path/to/nix-1.1pre1234_abcdef-x86_64-linux.tar.bz2 $ nix-finish-install (if necessary add ~/.nix-profile/etc/profile.d/nix.sh to the shell login scripts) After this, /usr/bin/nix-finish-install can be deleted, if desired. The downside to the binary tarball is that it's pretty big (~55 MiB for x86_64-linux).
2012-05-22Remove $FONTCONFIG_FILE hack from nix-profile.shEelco Dolstra
It's no longer needed because Nixpkgs' fontconfig uses /etc/fonts/fonts.conf as a default, just like other distributions.
2012-05-08Remove obsolete files (moved to release tree)Eelco Dolstra
2012-05-07nix-channel --update: allow updating only the specified channelsEelco Dolstra
2012-05-07Now *really* prevent accumulation of old manifestsEelco Dolstra
2012-05-01Use mkpath instead of make_pathEelco Dolstra
Perl <= 5.10 doesn't have make_path. See e.g. http://hydra.nixos.org/build/2493981.
2012-04-30Support mandatory system features in the build hookEelco Dolstra
Mandatory features are features that MUST be present in a derivation's requiredSystemFeatures attribute. One application is performance testing, where we have a dedicated machine to run performance tests (and nothing else). Then we would add the label "perf" to the machine's mandatory features and to the performance testing derivations.
2012-04-24Fix a warning in the build hook about $progressViewerEelco Dolstra
2012-04-18Fix URL set by nix-channelEelco Dolstra
2012-04-16Hack to prevent accumulation of old manifestsEelco Dolstra
2012-04-14If the (redirected) channel URL contains a version number, use itEelco Dolstra
2012-04-14Follow redirects early to ensure consistency between the manifest and the ↵Eelco Dolstra
tarball Without this change, if the URL is a redirect that changes in between, we can get a manifest that doesn't match the tarball.
2012-04-14Remove unnecessary "system" argumentEelco Dolstra
2012-04-14nix-channel improvementsEelco Dolstra
"nix-channel --add" now accepts a second argument: the channel name. This allows channels to have a nicer name than (say) nixpkgs_unstable. If no name is given, it defaults to the last component of the URL (with "-unstable" or "-stable" removed). Also, channels are now stored in a profile (/nix/var/nix/profiles/per-user/$USER/channels). One advantage of this is that it allows rollbacks (e.g. if "nix-channel --update" gives an undesirable update).
2012-04-13If "pv" is available at compile time, hard-code its pathEelco Dolstra
2012-04-13nix-copy-closure: Move the progressViewer directly adjacent to the ssh call ↵Shea Levy
so that network progress is what's measured
2012-04-13Add the '--show-progress' flag to nix-copy-closureShea Levy
2012-04-10Handle the case where $SHELL is not setEelco Dolstra
2012-04-04nix-generate-patches: Optionally write new patches to $NIX_ALL_PATCHESHydra mirror
2012-04-04Follow redirects when checking for the existence of MANIFEST.bz2Eelco Dolstra
If we don't follow redirects, we might think that MANIFEST.bz2 exists just because the HEAD request succeeds on the redirector URI.
2012-03-27Update "nix-build --help"Eelco Dolstra
2012-03-27Add an option "--exclude" to filter dependencies in "nix-build --run-env"Eelco Dolstra
Sometimes when doing "nix-build --run-env" you don't want all dependencies to be built. For instance, if we want to do "--run-env" on the "build" attribute in Hydra's release.nix (to get Hydra's build environment), we don't want its "tarball" dependency to be built. So we can do: $ nix-build --run-env release.nix -A build --exclude 'hydra-tarball' This will skip the dependency whose name matches the "hydra-tarball" regular expression. The "--exclude" option can be repeated any number of times.
2012-03-27Allow the command executed by "nix-build --run-env" to be overriden with ↵Eelco Dolstra
--command
2012-03-19Add a command "nix-build --run-env" to reproduce the environment of a derivationEelco Dolstra
This command builds or fetches all dependencies of the given derivation, then starts a shell with the environment variables from the derivation. This shell also sources $stdenv/setup to initialise the environment further. The current directory is not changed. Thus this is a convenient way to reproduce a build environment in an existing working tree. Existing environment variables are left untouched (unless the derivation overrides them). As a special hack, the original value of $PATH is appended to the $PATH produced by $stdenv/setup. Example session: $ nix-build --run-env '<nixpkgs>' -A xterm (the dependencies of xterm are built/fetched...) $ tar xf $src $ ./configure $ make $ emacs (... hack source ...) $ make $ ./xterm
2012-03-05nix-copy-closure: don't print copied path on stdoutEelco Dolstra
We're already printing progress on stderr, so printing them on stdout afterwards is kind of useless.
2012-03-05Restore progress indication during nix-copy-closureEelco Dolstra
2012-03-05build-remote.pl: don't wait forever for the upload lockEelco Dolstra
In the build hook, don't wait forever to get the upload lock. This ensures progress if another process gets stuck while holding the upload lock.
2012-02-02* nix-channel: fail if we don't have write permission to the manifestsEelco Dolstra
directory. Previously in this situation we did add the Nix expressions from the channel to allow installation from source, but this doesn't work for binary-only channels and leads to confusing error messages.
2012-01-13* nix-build: put the temporary derivation symlink in a temporaryEelco Dolstra
directory rather than the current directory. * nix-build: --drv-link now implies --add-drv-link.
2012-01-05* Doh!Eelco Dolstra
2012-01-05* Add a -I flag to the Perl bindings to nix-build and some otherEelco Dolstra
scripts. * Include the version and architecture in the -I flag so that there is at least a chance that a Nix binary built for one Perl version will run on another version.
2012-01-03* Add a test for nix-channel.Eelco Dolstra
* Refactor the nix-channel unpacker a bit.
2012-01-03* Use Nix::Config.Eelco Dolstra
2012-01-03* Refactoring: Get rid of a few subdirectories in corepkgs/, and someEelco Dolstra
other simplifications. * Use <nix/...> to locate the corepkgs. This allows them to be overriden through $NIX_PATH. * Use bash's pipefail option in the NAR builder so that we don't need to create a temporary file.
2011-12-21* Security: make sure the lock files used by build-remote.pl are notEelco Dolstra
readable to other users. Otherwise, any user can open the lock file for reading and lock it, thus DoSing the remote build mechanism.
2011-12-21* Use a lock to ensure that only one build-remote instance can copy aEelco Dolstra
closure to a given machine at the same time. This prevents the case where multiple instances try to copy the same missing store path to the target machine, which is very wasteful.
2011-12-15* Typo.Eelco Dolstra
2011-12-02* nix-prefetch-url: rewritten in Perl.Eelco Dolstra
2011-11-29* download-using-manifests: use the Perl bindings.Eelco Dolstra
2011-11-29* For consistency with "nix-store -q --hash", produce hashes inEelco Dolstra
base-32. (This affects Hydra manifests.)
2011-11-29* Get rid of the shell in ssh calls.Eelco Dolstra
2011-11-23* Add bzip2 and xz support to nix-copy-closure.Eelco Dolstra
2011-11-23* Add an API function exportPaths() that provides the functionality ofEelco Dolstra
‘nix-store --export’. * Add a Perl module that provides the functionality of ‘nix-copy-closure --to’. This is used by build-remote.pl so it no longer needs to start a separate nix-copy-closure process. Also, it uses the Perl API to do the export, so it doesn't need to start a separate nix-store process either. As a result, nix-copy-closure and build-remote.pl should no longer fail on very large closures due to an "Argument list too long" error. (Note that having very many dependencies in a single derivation can still fail because the environment can become too large. Can't be helped though.)
2011-11-23* build-remote.pl: drop a hard-coded reference to /nix/etc/nix.Eelco Dolstra
2011-11-16* nix-pull: update the Nix manifest cache if necessary. Also, don'tEelco Dolstra
read the manifest just to check the version and print the number of paths. This makes nix-pull very fast for the cached cache (speeding up nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).
2011-11-16* Don't decompress the manifests in /nix/var/nix/manifest. This savesEelco Dolstra
disk space, and, since they're typically only decompressed once (to fill the manifest cache), doesn't make things slower.