[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Setting up Guile for use with Guix

From: HiPhish
Subject: Setting up Guile for use with Guix
Date: Fri, 17 Aug 2018 14:34:03 +0200

Hello everyone,

I have Guix up and running on my Kubuntu 18.04 machine. I installed it 
from the binary: I first installed Guile 2.2.3 via apt, then I installed Guix.

I wanted to do some more serious Guile work involving libraries, and since
Guile does not have a package manager of its own, using Guix is the way to go.
Here is my question: how do I properly set up Guile on Guix? I already have
Guile set up system-wide (via apt), but packages like Haunt list Guile as 
own dependency. Will this install a second Guile for me (one system-wide from
apt and one for the Guix profile from Guix)? Should I uninstall the Guile from

How do I even set up Guile to work with Guix packages? I don't have any
installed yet, but when I open a regular Guile REPL and type

    (use-modules (guix gexp))

I get an error that the '(guix gexp)' module could not be found. So obviously 
need to set up Guile first before I can use it to script Guix. I assume the
same is true for other Guile libraries.

Speaking of which, if there are two libraries, and each one lists a different
version of Guile as its dependency, will it be possible to use both libraries
in the same project? I don't quite understand the concepts of functional
package management yet. How do I need to set up my environment for working 
libraries? Am I supposed to create a custom per-project profile, switch to 
profile while working, and then switch back to normal once done?

In my case I want to install Haunt. There are two packages: 'haunt' and
'guile2.0-haunt', the only difference seems to be which version of Guile they
require. Right? To make matters more complicated, Haunt is not just a library,
but also a stand-alone command-line program, which (I presume) includes its 
Guile implementation, and so I need to make my own libraries available to
Haunt's Guile, not the Guile I installed on my system.

I just need to wrap my head around the functional way of package management,
instead of the classical "lol, just throw everything into the global state"
system. Thank you in advance for your responses.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]