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
2 years ago
|
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
|