This looks fantastic! I can see quite some overlap with Shepherd User Services: https://lists.gnu.org/archive/html/guix-devel/2019-02/msg00128.html What do you think? If we implement shepherd user services, we would essentially be able to declare most (all?) of a user home folder. The main difference I can see with Julien's approach is that the declarativeness is not enforced since home would not be read-only. Home would be initialized declaratively, but then the user or any program is able to overwrite files in home. Which may or may not be the desired behaviour. Cheers! -- Pierre Neidhardt https://ambrevar.xyz/