aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-21Move profiles.{cc,hh} to libstoreEelco Dolstra
2015-05-21nix-collect-garbage: Call collectGarbage() internallyEelco Dolstra
2015-05-21nix-collect-garbage: Don't barf on unreadable directoriesEelco Dolstra
And don't try to delete generations from unwritable directories.
2015-05-21nix-collect-garbage: Remove redundant call to getFileTypeEelco Dolstra
2015-05-21Merge branch 'submit/sparse-generation-symlinks' of ↵Eelco Dolstra
https://github.com/ctheune/nix
2015-05-20Mis-read Eelko's request to not make this an option: now, let's not makeChristian Theune
it an option. :)
2015-05-19Implement alternative to lazy generations:Christian Theune
* only the last generation can be lazy * depend on the '--lazy-generation' flag to be set
2015-05-19Don't install nix-worker symlinkEelco Dolstra
It has been obsolete since Nix 1.2. Closes #417.
2015-05-19Also remove misc/vim/README.mdEelco Dolstra
2015-05-19point to https://nixos.org/wiki/Vim_configuration insteadHoang Xuan Phu
2015-05-19nix-env: document --set optionCharles Strahan
2015-05-18Enable lazy/sparse allocation of generation symlinks: avoid creatingChristian Theune
new generations if a generation already exists. Alternatively or additionally I propose a mode where only the *last* generation will be sparse.
2015-05-13Fix "error: deriver of path ‘’ is not known"Eelco Dolstra
2015-05-13Merge pull request #537 from garbas/masterEelco Dolstra
cygwin fixes
2015-05-13cygwin: looks like stdout/stdin are reserved wordsRok Garbas
2015-05-13cygwin: explicitly include required c headersRok Garbas
2015-05-12Don't try to map /bin/sh to a store path on non-LinuxShea Levy
2015-05-06nix-collect-garbage: Do not pass an empty argument. Closes #530Luca Bruno
2015-05-06nix-env/nix-instantiate/nix-build: Support URIsEelco Dolstra
For instance, you can install Firefox from a specific Nixpkgs revision like this: $ nix-env -f https://github.com/NixOS/nixpkgs/archive/63def04891a0abc328b1b0b3a78ec02c58f48583.tar.gz -iA firefox Or build a package from the latest nixpkgs-unstable channel: $ nix-build https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz -A hello
2015-05-06nix-collect-garbage: Fix deleting old generationsWilliam A. Kennington III
The call to nix-env expects a string which represents how old the derivations are or just "old" which means any generations other than the current one in use. Currently nix-collect-garbage passes an empty string to nix-env when using the -d option. This patch corrects the call to nix-env such that it follows the old behavior.
2015-05-05Allow URLs in the Nix search pathEelco Dolstra
E.g. to install "hello" from the latest Nixpkgs: $ nix-build '<nixpkgs>' -A hello -I nixpkgs=https://nixos.org/channels/nixpkgs-unstable/nixexprs.tar.xz Or to install a specific version of NixOS: $ nixos-rebuild switch -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/63def04891a0abc328b1b0b3a78ec02c58f48583.tar.gz
2015-05-05Make downloads interruptableEelco Dolstra
2015-05-05nix-shell: Fix uninitialized value warningEelco Dolstra
2015-04-29tests: Fix wrong channel name in nix-channel.sh.aszlig
The $channelName variable passed to the channel builder is the last portion of the URL and while that works in the previous test for channels prior to #519, it doesn't work if the last portion is nixexprs.tar.bz2. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-04-27Merge branch 'nix-channel-tarballs' of git://github.com/copumpkin/nixShea Levy
2015-04-22Merge pull request #522 from lethalman/nix-collect-garbageEelco Dolstra
nix-collect-garbage: translate to C++
2015-04-22nix-collect-garbage: translate to C++Luca Bruno
2015-04-20Support tarballs in nix channel URLsDan Peebles
2015-04-18Add the pre-build hook.Shea Levy
This hook can be used to set system-specific per-derivation build settings that don't fit into the derivation model and are too complex or volatile to be hard-coded into nix. Currently, the pre-build hook can only add chroot dirs/files through the interface, but it also has full access to the chroot root. The specific use case for this is systems where the operating system ABI is more complex than just the kernel-support system calls. For example, on OS X there is a set of system-provided frameworks that can reliably be accessed by any program linked to them, no matter the version the program is running on. Unfortunately, those frameworks do not necessarily live in the same locations on each version of OS X, nor do their dependencies, and thus nix needs to know the specific version of OS X currently running in order to make those frameworks available. The pre-build hook is a perfect mechanism for doing just that.
2015-04-18Revert "Add the pre-build hook."Shea Levy
Going to reimplement differently. This reverts commit 1e4a4a2e9fc382f47f58b448f3ee034cdd28218a.
2015-04-16Merge branch 'add-manpath' of git://github.com/mmerickel/nixShea Levy
2015-04-16Fix using restricted mode with chrootsEelco Dolstra
2015-04-12add the manpath to the installerMichael Merickel
2015-04-12Add the pre-build hook.Shea Levy
This hook can be used to set system specific per-derivation build settings that don't fit into the derivation model and are too complex or volatile to be hard-coded into nix. Currently, the pre-build hook can only add chroot dirs/files. The specific use case for this is systems where the operating system ABI is more complex than just the kernel-supported system calls. For example, on OS X there is a set of system-provided frameworks that can reliably be accessed by any program linked to them, no matter the version the program is running on. Unfortunately, those frameworks do not necessarily live in the same locations on each version of OS X, nor do their dependencies, and thus nix needs to know the specific version of OS X currently running in order to make those frameworks available. The pre-build hook is a perfect mechanism for doing just that.
2015-04-09Use cached result if there is a network errorEelco Dolstra
2015-04-09Move curl stuff into a separate fileEelco Dolstra
2015-04-09Implement a TTL on cached fetchurl/fetchTarball resultsEelco Dolstra
This is because we don't want to do HTTP requests on every evaluation, even though we can prevent a full redownload via the cached ETag. The default is one hour.
2015-04-09Implement caching of fetchurl/fetchTarball resultsEelco Dolstra
ETags are used to prevent redownloading unchanged files.
2015-04-07Revert /nix/store permission back to 01775Eelco Dolstra
This broke NixOS VM tests. Mostly reverts 27b7b94923d2f207781b438bb7a57669bddf7d2b, 5ce50cd99e740d0d0f18c30327ae687be9356553, afa433e58c3fe6029660a43fdc2073c9d15b4210.
2015-04-02Chroot builds: Provide world-readable /nix/storeEelco Dolstra
This was causing NixOS VM tests to fail mysteriously since 5ce50cd99e740d0d0f18c30327ae687be9356553. Nscd could (sometimes) no longer read /etc/hosts: open("/etc/hosts", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) Probably there was some wacky interaction between the guest kernel and the 9pfs implementation in QEMU.
2015-03-27Add dependency on libcurl-devEelco Dolstra
http://hydra.nixos.org/eval/1179370
2015-03-25Add fetchTarball builtinEelco Dolstra
This function downloads and unpacks the given URL at evaluation time. This is primarily intended to make it easier to deal with Nix expressions that have external dependencies. For instance, to fetch Nixpkgs 14.12: with import (fetchTarball https://github.com/NixOS/nixpkgs-channels/archive/nixos-14.12.tar.gz) {}; Or to fetch a specific revision: with import (fetchTarball https://github.com/NixOS/nixpkgs/archive/2766a4b44ee6eafae03a042801270c7f6b8ed32a.tar.gz) {}; This patch also adds a ‘fetchurl’ builtin that downloads but doesn't unpack its argument. Not sure if it's useful though.
2015-03-25addToStore(): Take explicit name argumentEelco Dolstra
2015-03-24Improve setting the default chroot dirsEelco Dolstra
2015-03-24Add the closure of store paths to the chrootEelco Dolstra
Thus, for example, to get /bin/sh in a chroot, you only need to specify /bin/sh=${pkgs.bash}/bin/sh in build-chroot-dirs. The dependencies of sh will be added automatically.
2015-03-24Tighten permissions on chroot directoriesEelco Dolstra
2015-03-24Don't rely on __noChroot for corepkgsEelco Dolstra
This doesn't work anymore if the "strict" chroot mode is enabled. Instead, add Nix's store path as a dependency. This ensures that its closure is present in the chroot.
2015-03-19Disable scanning for interior pointersEelco Dolstra
This may remove the "Repeated allocation of very large block" warnings.
2015-03-19Fix Boehm API violationEelco Dolstra
We were calling GC_INIT() after doing an allocation (in the baseEnv construction), which is not allowed.
2015-03-19Check return values from malloc/strdupEelco Dolstra