about summary refs log tree commit diff
path: root/src/nix-env
AgeCommit message (Collapse)AuthorFilesLines
2015-07-23 Optimize small listsEelco Dolstra2-6/+6
The value pointers of lists with 1 or 2 elements are now stored in the list value itself. In particular, this makes the "concatMap (x: if cond then [(f x)] else [])" idiom cheaper.
2015-07-23 --version: Print some config infoEelco Dolstra1-1/+7
Such as whether Nix is built with signed binary cache support, and the location of the configuration file.
2015-07-17 OCD: foreach -> C++11 ranged forEelco Dolstra2-153/+151
2015-05-21 nix-collect-garbage: Don't call nix-envEelco Dolstra1-61/+12
Also, make sure --delete-older-than doesn't delete the current generation.
2015-05-21 Move profiles.{cc,hh} to libstoreEelco Dolstra2-210/+0
2015-05-21 Merge branch 'submit/sparse-generation-symlinks' of ↵Eelco Dolstra1-1/+19
https://github.com/ctheune/nix
2015-05-20 Mis-read Eelko's request to not make this an option: now, let's not makeChristian Theune5-18/+13
it an option. :)
2015-05-19 Implement alternative to lazy generations:Christian Theune5-17/+25
* only the last generation can be lazy * depend on the '--lazy-generation' flag to be set
2015-05-18 Enable lazy/sparse allocation of generation symlinks: avoid creatingChristian Theune1-1/+16
new generations if a generation already exists. Alternatively or additionally I propose a mode where only the *last* generation will be sparse.
2015-05-05 Allow URLs in the Nix search pathEelco Dolstra1-2/+2
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-04-09 Implement caching of fetchurl/fetchTarball resultsEelco Dolstra1-10/+1
ETags are used to prevent redownloading unchanged files.
2015-03-19 Fix Boehm API violationEelco Dolstra1-0/+1
We were calling GC_INIT() after doing an allocation (in the baseEnv construction), which is not allowed.
2015-01-15 Fix assertion failure in nix-envEelco Dolstra1-1/+3
$ nix-env -f ~/Dev/nixops/ -iA foo nix-env: src/libexpr/eval.hh:57: void nix::Bindings::push_back(const nix::Attr&): Assertion `size_ < capacity' failed. Aborted
2014-09-23 Add --force-name support for --set in nix-env, to support ↵Shell Turner1-0/+3
nix-install-package --set
2014-09-19 Store Attrs inside BindingsEelco Dolstra2-8/+8
This prevents a double allocation per attribute set.
2014-08-20 Use pager for more commandsEelco Dolstra1-1/+6
2014-08-20 Use proper quotes everywhereEelco Dolstra3-36/+36
2014-08-20 Add some colorEelco Dolstra1-8/+2
2014-08-18 Fix --attr parsingEelco Dolstra1-1/+3
2014-08-13 Refactor option handlingEelco Dolstra1-153/+139
2014-08-01 Make readDirectory() return inode / file typeEelco Dolstra2-10/+9
2014-06-02 nix-env -qa --json: Generate valid JSON even if there are invalid meta attrsEelco Dolstra1-2/+3
2014-05-26 Ensure that -I flags get included in nixPathEelco Dolstra1-3/+12
Also fixes #261.
2014-04-15 nix-env: Minor change to '--delete-generations Nd' semanticsRicardo M. Correia1-4/+10
The option '--delete-generations Nd' deletes all generations older than N days. However, most likely the user does not want to delete the generation that was active N days ago. For example, say that you have these 3 generations: 1: <30 days ago> 2: <15 days ago> 3: <1 hour ago> If you do --delete-generations 7d (say, as part of a cron job), most likely you still want to keep generation 2, i.e. the generation that was active 7 days ago (and for most of the past 7 days, in fact). This patch fixes this issue. Note that this also affects 'nix-collect-garbage --delete-older-than Nd'. Thanks to @roconnor for noticing the issue!
2014-04-04 Show position info in string concatenation / addition errorsEelco Dolstra1-2/+4
2014-03-30 nix-env: Add support for --delete-generations 15dRicardo M. Correia1-2/+17
It will delete all generations older than the specified number of days.
2014-03-11 Fix passing meta attribute to buildenv.nixEelco Dolstra1-0/+1
Since the meta attributes were not sorted, attribute lookup could fail, leading to package priorities and active flags not working correctly. Broken since 0f24400d90daf65cf20142a662f8245008437e2c.
2014-02-27 Set up a minimal /dev in chrootsEelco Dolstra1-2/+1
Not bind-mounting the /dev from the host also solves the problem with /dev/shm being a symlink to something not in the chroot.
2014-02-18 Add a flag ‘--check’ to verify build determinismEelco Dolstra2-3/+3
The flag ‘--check’ to ‘nix-store -r’ or ‘nix-build’ will cause Nix to redo the build of a derivation whose output paths are already valid. If the new output differs from the original output, an error is printed. This makes it easier to test if a build is deterministic. (Obviously this cannot catch all sources of non-determinism, but it catches the most common one, namely the current time.) For example: $ nix-build '<nixpkgs>' -A patchelf ... $ nix-build '<nixpkgs>' -A patchelf --check error: derivation `/nix/store/1ipvxsdnbhl1rw6siz6x92s7sc8nwkkb-patchelf-0.6' may not be deterministic: hash mismatch in output `/nix/store/4pc1dmw5xkwmc6q3gdc9i5nbjl4dkjpp-patchelf-0.6.drv' The --check build fails if not all outputs are valid. Thus the first call to nix-build is necessary to ensure that all outputs are valid. The current outputs are left untouched: the new outputs are either put in a chroot or diverted to a different location in the store using hash rewriting.
2014-02-01 Remove AutomakefilesEelco Dolstra1-12/+0
2014-02-01 Update Makefile variable namesEelco Dolstra1-1/+1
2014-01-30 Rename Makefile -> local.mkEelco Dolstra1-0/+0
2014-01-21 Merge branch 'master' into makeEelco Dolstra1-6/+13
Conflicts: src/libexpr/eval.cc
2014-01-21 Remove unused typeEelco Dolstra1-1/+0
2014-01-09 Update MakefilesEelco Dolstra1-1/+1
2013-12-20 nix-env --set-flag: Barf if a selector doesn't match any installed packageEelco Dolstra1-5/+13
Fixes #184.
2013-11-25 Rename Makefile.new -> MakefileEelco Dolstra1-0/+0
2013-11-23 Improve building dynamic librariesEelco Dolstra1-1/+1
They now get a correct RPATH.
2013-11-22 Rename $(here) to $(d) for brevity, and remove trailing slashEelco Dolstra1-1/+1
2013-11-22 Add missing #includeEelco Dolstra1-1/+1
2013-11-22 New non-recursive, plain Make-based build systemEelco Dolstra1-0/+7
2013-11-19 Check meta values and warn about bad onesEelco Dolstra2-24/+32
2013-11-19 Generalise meta attributesEelco Dolstra2-115/+84
2013-11-19 Drop support for user environment manifests in ATerm formatEelco Dolstra1-112/+1
2013-11-19 nix-env -q: Add a --json flagEelco Dolstra1-8/+45
2013-10-24 Rename "attribute sets" to "sets"Eelco Dolstra1-5/+5
We don't have any other kind of sets so calling them attribute sets is unnecessarily verbose.
2013-09-06 Remove stray debug lineEelco Dolstra1-2/+0
2013-09-03 nix-env -i: Add a flag ‘--remove-all’ / ‘-r’Eelco Dolstra1-17/+25
This is equivalent to running ‘nix-env -e '*'’ first, except that it happens in a single transaction. Thus, ‘nix-env -i pkgs...’ replaces the profile with the specified set of packages. The main motivation is to support declarative package management (similar to environment.systemPackages in NixOS). That is, if you have a specification ‘profile.nix’ like this: with import <nixpkgs> {}; [ thunderbird geeqie ... ] then after any change to ‘profile.nix’, you can run: $ nix-env -f profile.nix -ir to update the profile to match the specification. (Without the ‘-r’ flag, if you remove a package from ‘profile.nix’, it won't be removed from the actual profile.) Suggested by @zefhemel.
2013-09-03 nix-env: Use wildcard match by defaultEelco Dolstra1-8/+4
That is, you don't need to pass '*' anymore, so nix-env -qa is equivalent to nix-env -qa '*'
2013-09-03 nix-env: Load files in ~/.nix-defexpr on demandEelco Dolstra1-3/+6
So if you do "nix-env -qa -A nixos", then other channels won't be parsed/evaluated at all.