I'd like to add my $0.02 as well.

Seems like the issue is during the deployment, as Madhavan said. Specifically, the error message in that form only appears in gnu/home/services/symlink-manager.scm, in the function cleanup-symlinks.

It seems that, right now, the issue is that ENOTEMPTY and ENOTDIR are tested for and handled, but ENOENT is not. Ideally, this should be handled and tell the user which file or directory is missing, not halt the entire process. And, since we are testing for a missing file (and thus have no chance of overwriting a user's data), it would probably make the most sense to just create the file that is missing in the next step, without stopping at all.

I'll throw together a patch real quick to test with. I could be very off base, but I think this should fix this issue.