[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nix-dev
Subject:    Re: [nix-devel] Intelligent garbage collection
From:       Matthew Bauer <mjbauer95 () gmail ! com>
Date:       2018-03-31 19:50:04
Message-ID: m2605cja8j.fsf () gmail ! com
[Download RAW message or body]

Eelco Dolstra <eelco.dolstra@logicblox.com> writes:

> Another approach is to make /nix/store a FUSE filesystem that fetches store
> paths on demand. This has the advantage that it doesn't require wrapper scripts:
> the FUSE filesystem will fetch the binary's store paths if they are not already
> present. Also, paths that are in the closure but that are not actually accessed
> at runtime would not be downloaded at all.
> 
> I implemented a prototype of this a while ago:
> 
> https://github.com/edolstra/nix/commit/a9cbd67f90d15751108c4da128bc542ce9daf25e

Very cool! I did not know that existed. One thing that would be
difficult is dealing with large closures commonly found in apps like
Firefox. I would want to just download the "/share/applications" and
"/share/mime" data first, then it's binary on the first run. I believe
this could be solved with an "xdg" output including those two and maybe
some others like "/share/icons".

FUSE would be a more elegant solution to this. I am not sure how
reliable this is as a Nix store though? Especially when you have huge
trees. I'm definitely not very familiar with how FUSE works though so
maybe it is not an issue.

-- 
You received this message because you are subscribed to the Google Groups "nix-devel" \
group. To unsubscribe from this group and stop receiving emails from it, send an \
email to nix-devel+unsubscribe@googlegroups.com. To post to this group, send email to \
nix-devel@googlegroups.com. To view this discussion on the web visit \
https://groups.google.com/d/msgid/nix-devel/m2605cja8j.fsf%40gmail.com. For more \
options, visit https://groups.google.com/d/optout.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic