Skip to content
Snippets Groups Projects
  1. Oct 17, 2012
  2. Oct 12, 2012
  3. Oct 11, 2012
  4. Oct 10, 2012
  5. Oct 04, 2012
  6. Oct 03, 2012
  7. Oct 02, 2012
  8. Sep 29, 2012
  9. Sep 27, 2012
    • Eelco Dolstra's avatar
      Allow dashes in identifiers · 95c74eae
      Eelco Dolstra authored
      In Nixpkgs, the attribute in all-packages.nix corresponding to a
      package is usually equal to the package name.  However, this doesn't
      work if the package contains a dash, which is fairly common.  The
      convention is to replace the dash with an underscore (e.g. "dbus-lib"
      becomes "dbus_glib"), but that's annoying.  So now dashes are valid in
      variable / attribute names, allowing you to write:
      
        dbus-glib = callPackage ../development/libraries/dbus-glib { };
      
      and
      
        buildInputs = [ dbus-glib ];
      
      Since we don't have a negation or subtraction operation in Nix, this
      is unambiguous.
      95c74eae
  10. Sep 25, 2012
  11. Sep 21, 2012
  12. Sep 19, 2012
    • Eelco Dolstra's avatar
    • Eelco Dolstra's avatar
      Remove setting of the immutable bit · b9c2b4d5
      Eelco Dolstra authored
      Using the immutable bit is problematic, especially in conjunction with
      store optimisation.  For instance, if the garbage collector deletes a
      file, it has to clear its immutable bit, but if the file has
      additional hard links, we can't set the bit afterwards because we
      don't know the remaining paths.
      
      So now that we support having the entire Nix store as a read-only
      mount, we may as well drop the immutable bit.  Unfortunately, we have
      to keep the code to clear the immutable bit for backwards
      compatibility.
      b9c2b4d5
    • Eelco Dolstra's avatar
      Support having /nix/store as a read-only bind mount · b9124a5c
      Eelco Dolstra authored
      It turns out that the immutable bit doesn't work all that well.  A
      better way is to make the entire Nix store a read-only bind mount,
      i.e. by doing
      
        $ mount --bind /nix/store /nix/store
        $ mount -o remount,ro,bind /nix/store
      
      (This would typically done in an early boot script, before anything
      from /nix/store is used.)
      
      Since Nix needs to be able to write to the Nix store, it now detects
      if /nix/store is a read-only bind mount and then makes it writable in
      a private mount namespace.
      b9124a5c
    • Eelco Dolstra's avatar
      Templatise tokenizeString() · 76e88871
      Eelco Dolstra authored
      76e88871
Loading