Thanks for the quick response!Well, the environment variable JULIA_LOAD_PATH (that inside julia is just LOAD_PATH) works exactly like that (is a column-concatenated path list). It just needs the special ":@stdlib" path to let julia find its standard libraries.Example:> JULIA_LOAD_PATH=/my/new/path/:/profile/path/:@stdlib julia --startup=no -E 'LOAD_PATH'
["/my/new/path/", "/profile/path/", "@stdlib"]Is setting this variable from guix fine, or we need a special GUIX_SOMETHING variable?Where exactly should I set this?ThanksIl giorno mar 30 lug 2019 alle ore 14:33 Ricardo Wurmus <rekado@elephly.net> ha scritto:
Julien Lepiller <julien@lepiller.eu> writes:
> Le 30 juillet 2019 16:11:19 GMT+02:00, Ricardo Wurmus <rekado@elephly.net> a écrit :
>>
>>Nicolò Balzarotti <anothersms@gmail.com> writes:
>>
>>> 3. By adding a simple startup.jl script, inspired by what emacs does.
>>This
>>> is simplified so I'm not sure it works for every corner case.
>>> #+begin_src julia
>>> let paths = [expanduser("~/.guix-profile"),
>>"/run/current-system/profile"]
>>> ("GUIX_ENVIRONMENT" in keys(ENV)) && push!(paths,
>>> ENV["GUIX_ENVIRONMENT"])
>>> empty!(LOAD_PATH)
>>> push!.(Ref(LOAD_PATH), joinpath.(paths, "share/julia/packages/"))
>>> push!(LOAD_PATH, "@stdlib")
>>> push!.(Ref(DEPOT_PATH), joinpath.(paths, "share/julia/"))
>>> nothing
>>> end
>>> #+end_src
>>
>>Could this perhaps be handled by a profile hook that is included only
>>when the profile manifest contains a julia package?
>
> Or simply with an environment variable? GUIX_JULIA_PATH or something?
If this is the route you go down, please ensure that it can be used as a
search path with more than one directory. This would make it possible
to extend a Julia environment with the contents of more than one
profile.
--
Ricardo