Hi,

On 10/30/2011 04:19 PM, Peter Simons wrote:

> Reverting revisions 30103-30106: "always set 
> nixpkgs.config.{state,store}Dir", etc.
> 
> After the change from revision 30103, nixos-rebuild suddenly consumed
> freaky amounts of memory. I had to abort the process after it had
> allocated well in excess of 30GB(!) of RAM. I'm not sure what is causing
> this behavior, but undoing that assignment fixes the problem. The other
> two commits needed to be revoked, too, because they depend on 30103.

I'm pretty sure that the cause of this is this line:

> -  config.nixpkgs.config.nix = { storeDir = /nix/store; stateDir = /nix/var; 
> };

This should be:

  config.nixpkgs.config.nix =
    { storeDir = "/nix/store"; stateDir = "/nix/var";};

Note the quotes.  Otherwise, the entire /nix/store and /nix/var will be read as
a dependency of the generated config files that refer to it.

On the other hand, is it really necessary to make this configurable?  Clearly
people may want to use Nix with non-standard prefixes, but in NixOS we should be
able to assume that we can use /nix/store and /nix/var.

Also, without automated tests, this feature will inevitably suffer from bitrot.
 (People will make future changes that assume /nix/store and /nix/var.)

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/
_______________________________________________
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to