Hi Roel,
Maybe I'm making things needlessly complex, but I would really
like a
solution that can be applied to an existing cluster setup. :)
Oh, I’d also like something automated that works for an existing
cluster setup (like mine that prompted this conversation), but in
my imagination this does not involve users running commands that
would become part of the permanent Guix command line footprint.
Instead I imagine a sysadmin would have enough privileges to
impersonate the users and rewrite the links for them.
Full automation is not possible in my case anyway, because I can’t
necessarily tell who owns the target file (it’s not just user home
directories but also some other obscurely named shared
directories), nor can I figure out automatically on which server
the link was created (when I see a link like “/local/foo/bar”,
which is a server-local directory that is not exported on any
other system).
Even though the two of us seem to agree that this change is
necessary, it does result in a regression: for systems where none
of this is a problem (e.g. single-user laptops) it’s rather
inconvenient to have all these temporary gcroots accumulate.
Prior to my proposed change they would be freed up for garbage
collection as soon as the link was removed.
(I also wonder if the implementation of “guix gc
--delete-generations” would need adjusting; I haven’t looked yet.)
Is there something we can do to have our cake and eat it too?
--
Ricardo