Skip to content

Instantly share code, notes, and snippets.

@dcunited001
Last active May 14, 2022 05:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dcunited001/33bd38bce120c04f152479f654eeae9b to your computer and use it in GitHub Desktop.
Save dcunited001/33bd38bce120c04f152479f654eeae9b to your computer and use it in GitHub Desktop.
invoking a julia guix service with pluto

this is what i have so far:

(use-modules (shepherd support)
             (gnu services)
             (gn services pluto))

(register-services
 (service pluto-service-type
          (pluto-configuration
           (port 9876))))

(action 'shepherd 'daemonize)
(for-each start '(pluto-service))

with this profile:

(specifications->manifest
 '(
   "julia"
   "julia-pluto"
   "julia-plutoui"
   "julia-visuals"
   ))

to be invoked with:

guix shell -m ~/.config/guix/manifests/julia-pluto.scm shepherd -c ~/.config/shepherd/julia-pluto.scm

There are a few problems:

  • the service expects a user/group named julia, which i may end up creating (esp. since it looks hard coded)
  • i’m not sure that the shepherd script will have everything it needs with the profile.

has anyone done anything like this before? i’m looking at the RDE repo to find out how it instantiates home-generic-services`, but so far no dice.

what i would like to move to is a directory with a julia project that has an `.envrc` set up, then invoke shepherd there in the foreground.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment