Hi, Apologies for the delay.
nils@landt.email skribis: > when using the home-mcron-service, PATH is set to > /run/current-system/profile/bin . This directory is empty when using guix > home on a foreign distro, meaning all executable paths would need to be > absolute. This includes stuff like /usr/bin/ssh, /usr/bin/nice etc.. > > My guess for the culprit was 1c30d5a6bfc5d48137f4bdcc271189a06fdc6ed3 , which > replaced the custom home-mcron-service-type with mapping it to > mcron-service-type. > The mcron shepherd service in old service type did not mess with the > environment variables, the inherited one does: > #:environment-variables > (cons* "GUILE_AUTO_COMPILE=0" > "PATH=/run/current-system/profile/bin" > (remove (cut string-prefix? "PATH=" <>) > (environ))) As a rule of thumb, I personally always provide absolute file names, as in #~(job … #$(file-append coreutils "/bin/ls") …). I wonder what the preferred behavior would be. Restore PATH to whatever value it had when the user ‘shepherd’ process was started, at the expense of making things harder to track/less reproducible? Should we leave it unset, possibly breaking programs that expect it to be set? Should we set it to “/run/current-system/profile/bin:/usr/bin” or similar? Thanks, Ludo’.