Cc'ing Tomas and Ludo, as they actually diagnosed the issue [0].
The user shepherd, as configured using guix home, runs under the same process group as the shell that initially triggered guix home's "$HOME/.guix-home/on-first-login" script. This leads to the user shepherd receiving signals that are sent to the shell, such as a SIGINT/^C, and subsequently stopping entirely. If I understand the fine folks on IRC correctly, the daemonize action of the root-service in shepherd is missing a call to (setsid). I am uncertain whether this setsid call should be made conditional or not. Kind regards, Jelle Licht [0]: https://logs.guix.gnu.org/guix/2024-11-25.log#172506