Quick update: I was able to get my mcron working in a way that seems to be the proper "guix home" way. It just took a lot of re-reading, trial & error. The downside to my solution is that I had to wrap my entire mailsync module in a #~(job #$(program-file)) gexp. Here's an example of my solution: https://pastebin.com/f12mvpUz I hate to admit that I struggled a lot with the documentation for what a gexp is, how they're meant to be implemented, and what a (job) procedure will allow given the context of a guix home service. For example, I couldn't figure out how to store my module & an image file in the guix store so that I could thereafter load and run the file with a command such as `guile -s` as the cron job. Or better yet, load the module with `use-modules` from the "program-file" and run the exported functions. Anyway, I am open to feedback/suggestions. Thanks for reading this :) Trev writes: > Hey guys, > > I am trying to appreciate how to set up a guix home mcron using a separate module that I wrote that exports the job. > > My config lives in ~/.config/guix/home/config.scm > > My cron module lives in ~/.config/guix/home/cron/mailsync.scm > > The mailsync module export this: > > (define-public %mailsync-job > #~(job '(next-minute-from > (next-minute) (range 0 60 15)) > (lambda () > (mailsync-update %mailsync-default-terms) > (mailsync-notify > (mailsync-count-new-messages))) > "mbsync-nm-job")) > > In my home config I am using it like this: > > (home-environment > (packages > (specifications->packages > (append %base-packages > %emacs > %multimedia > %browsers > %chat-clients > %devel))) > (services > (list (service home-mcron-service-type > (home-mcron-configuration > (jobs (list %mailsync-job))))))) > > The command guix home reconfigure ~/.config/guix/home/config.scm passes without errors but the resulting cron is unhappy when it runs > because it has lost scope of the module it came from and can't find mailsync-update (or any other definitions from within said module). > > I have attempted to implement with-imported-modules from within the module and from within my home configuration and am not having much > success. > > Can I get a push? > > Here's a link to the config and module in full: https://gist.github.com/trev-dev/3312444daa75758822c06db5922aac4f > -- > > Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206 -- Trev : 0FB7 D06B 4A2A F07E AD5B 1169 183B 6306 8AA1 D206