Subject: Garbage collector ('gc') deletes valid user roots when $HOME is inaccessible

From: Felix Lechner <[email-masked]>
Date: Wed, 19 Oct 2022 10:14:05 -0700

Hi,

The Guix garbage collector ('gc') deletes valid user roots when those
links are not resolvable via the user's home folder in places such as

    ~/.cache/guix/profiles/

which potentially leaves the user without a working profile.

Home folders are not always accessible to the root user, and may
therefore also not be accessible to the Guix daemon.  In some
networked setups, for example, home folders can be automounted.

In my particular case, the home folder was inaccessible due to my
encrypted filesystem's security policies, which are enforced by FUSE
when using gocryptfs. [1]

The FUSE feature can be turned off [2] and Gocryptfs can 'allow_other'
[3] but that is a large concession and may not solve the daemon's
alleged (mis-)behavior in the general case.

Thank you for reading!

Kind regards
Felix Lechner

[1] https://nuetzlich.net/gocryptfs/
[2] https://unix.stackexchange.com/a/17423
[3] https://manpages.debian.org/bullseye/gocryptfs/gocryptfs.1.en.html