You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
Practical guide to running guile goblins
|
|
|
|
Tested on Ubuntu 22.04 LTS
|
|
|
|
install guix
|
|
|
|
sudo apt-get install guix
|
|
guix pull
|
|
|
|
set guix profile
|
|
|
|
GUIX_PROFILE="/home/elplatt/.config/guix/current"
|
|
. "$GUIX_PROFILE/etc/profile"
|
|
|
|
|
|
install geiser (https://www.nongnu.org/geiser/Installation.html)
|
|
|
|
enable emacs ELPA
|
|
|
|
append to ~/.emacs:
|
|
|
|
(require 'package)
|
|
(add-to-list 'package-archives
|
|
'("nongnu" . "https://elpa.nongnu.org/nongnu/"))
|
|
(package-initialize)
|
|
|
|
in emacs:
|
|
|
|
M-x eval-buffer
|
|
M-x package-refresh-contents
|
|
M-x package-install RET geiser-guile RET
|
|
|
|
install goblins
|
|
|
|
guix install guile-goblins
|
|
|
|
run guile in a guix shell with goblins
|
|
(see https://gitlab.com/spritely/guile-goblins/-/blob/main/live-guile.sh for reference)
|
|
|
|
guix shell guile guile-goblins -- guile --listen=~/goblins.sock
|
|
|
|
The above will start a guile REPL in the terminal and create a socket that
|
|
other processes can connect to. It may be convenient to run this in a tmux
|
|
session if you don't want to have to keep a dedicated terminal tab open.
|
|
|
|
in emacs
|
|
|
|
M-x geiser-connect-local
|
|
~/goblins.sock
|
|
|
|
This will start a REPL. Code can be entered into the REPL or evaluated in a
|
|
scheme buffer with `C-e`.
|
|
|
|
If geiser hangs, the REPL can be restarted with:
|
|
|
|
M-x geiser-reload
|
|
|
|
To clean up, close the original guile REPL with `C-d` and delete the socket file:
|
|
|
|
rm ~/goblins.sock
|