Skip to content
Snippets Groups Projects
  1. Sep 10, 2013
  2. Sep 06, 2013
  3. Sep 03, 2013
    • Eelco Dolstra's avatar
      nix-env -i: Add a flag ‘--remove-all’ / ‘-r’ · 2c1ecf8e
      Eelco Dolstra authored
      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.
      2c1ecf8e
    • Eelco Dolstra's avatar
      nix-env: Use wildcard match by default · 88c07341
      Eelco Dolstra authored
      That is, you don't need to pass '*' anymore, so
      
        nix-env -qa
      
      is equivalent to
      
        nix-env -qa '*'
      88c07341
    • Eelco Dolstra's avatar
      nix-env: Load files in ~/.nix-defexpr on demand · 07a08bdd
      Eelco Dolstra authored
      So if you do "nix-env -qa -A nixos", then other channels won't be
      parsed/evaluated at all.
      07a08bdd
    • Eelco Dolstra's avatar
    • Eelco Dolstra's avatar
      Work on Values instead of Exprs · ef4f5ba8
      Eelco Dolstra authored
      This prevents some duplicate evaluation in nix-env and
      nix-instantiate.
      
      Also, when traversing ~/.nix-defexpr, only read regular files with the
      extension .nix.  Previously it was reading files like
      .../channels/binary-caches/<name>.  The only reason this didn't cause
      problems is pure luck (namely, <name> shadows an actual Nix
      expression, the binary-caches files happen to be syntactically valid
      Nix expressions, and we iterate over the directory contents in just
      the right order).
      ef4f5ba8
    • Eelco Dolstra's avatar
      Reformat · 06bb2d95
      Eelco Dolstra authored
      06bb2d95
    • Eelco Dolstra's avatar
      Get rid of the parse tree cache · 6f809194
      Eelco Dolstra authored
      Since we already cache files in normal form (fileEvalCache), caching
      parse trees is redundant.
      
      Note that getting rid of this cache doesn't actually save much memory
      at the moment, because parse trees are currently not freed / GC'ed.
      6f809194
  4. Sep 02, 2013
  5. Aug 26, 2013
    • Shea Levy's avatar
      Simplify inherited attribute handling · afc6c1ba
      Shea Levy authored
      
      This reduces the difference between inherited and non-inherited
      attribute handling to the choice of which env to use (in recs and lets)
      by setting the AttrDef::e to a new ExprVar in the parser rather than
      carrying a separate AttrDef::v VarRef member.
      
      As an added bonus, this allows inherited attributes that inherit from a
      with to delay forcing evaluation of the with's attributes.
      
      Signed-off-by: default avatarShea Levy <shea@shealevy.com>
      afc6c1ba
    • Ivan Kozik's avatar
      Fix nix-shell command · 6cd6ce56
      Ivan Kozik authored
      6cd6ce56
    • Ivan Kozik's avatar
    • Gergely Risko's avatar
      Fix personality switching from x86_64 to i686 · c6c024ca
      Gergely Risko authored
      On Linux, Nix can build i686 packages even on x86_64 systems.  It's not
      enough to recognize this situation by settings.thisSystem, we also have
      to consult uname().  E.g. we can be running on a i686 Debian with an
      amd64 kernel.  In that situation settings.thisSystem is i686-linux, but
      we still need to change personality to i686 to make builds consistent.
      c6c024ca
  6. Aug 23, 2013
  7. Aug 21, 2013
  8. Aug 19, 2013
  9. Aug 14, 2013
    • Eelco Dolstra's avatar
      Typo · 46222bbc
      Eelco Dolstra authored
      46222bbc
    • Shea Levy's avatar
      corepkgs/nar.nix: Prefer local builds · 58204a3c
      Shea Levy authored
      
      nar.nix's builder depends on coreutils and nix itself being in $PATH.
      Unfortunately, there's no good way to ensure that these packages exist
      in the same place on the remote machine: The local machine may have nix
      installed in /usr, and the remote machine in /usr/local, but the
      generated nar.sh builder will refer to /usr and thus fail on the remote
      machine. This ensures that nar.sh is run on the same machine that
      instantiates it.
      
      Signed-off-by: default avatarShea Levy <shea@shealevy.com>
      58204a3c
  10. Aug 07, 2013
  11. Aug 06, 2013
  12. Aug 02, 2013
Loading