I asked around on the IRC channel a while ago about the status of ZFS support on Guix, and it was suggested that I ask here. I am aware of efforts made in the past to bring some rudimentary ZFS support to Guix (namely, https://issues.guix.gnu.org/45692, which appears to be quite dead), but was wondering if any new efforts have been considered. This is something which I would be very open to contributing to, as the lack of ZFS support is currently the only thing preventing me from using Guix as my main distro. It looks like there has is some general interest for better ZFS support on Guix, as evidenced by, say, https://issues.guix.gnu.org/73035.
Based on the response to 45692, I would also like to know if there is opposition to adding support for Guix, be it for philosophical or legal reasons. Assuming that no such opposition exists, 45692 seems to provide a very substantial chunk of the work which needs to be done for supporting ZFS on Guix, in particular automatic loading of the ZFS kernel module and automatic mounting of datasets. Ultimately, I would love to see support for `/' on ZFS, but based on discussions around 45692, it seems like this would be quite a bit more effort, although I must admit that I don't really understand why, other than that it involves modifying the behaviour of Shepherd earlier in the boot process. Other than examining the patches which were submitted for 45692, I assume that it would be worth looking more closely at how other filesystems are managed on Guix, although the treatment of ZFS probably necessarily differs, if just for the loading of the kernel module. As for `/' on ZFS, would a deep dive into the documentation for Shepherd be valuable in terms of understanding how to load the ZFS kernel module as early as possible? Alternatively, are there other modules in Guix that are sometimes loaded early (maybe GPU drivers? I know that they are loaded early sometimes) which might be worth examining to understand how to go about it? Thanks, Morgan