Re: Getting started with Guile-Studio
MSavoritias <[email protected]> Thu, 9 Apr 2026 16:51:27 +0300
| Newsgroups | gmane.lisp.guile.user |
|---|---|
| Message-ID | <[email protected]> |
fyi Doom Emacs also has a scheme/guile mode and quite a few things to
help with indentation. Its what I am using. It also has autocomplete and
a bunch of other nice defaults to make Emacs usable.
You just uncomment them to enable them and run doom upgrade && doom sync
MSavoritias
On 4/9/26 15:43, Olivier Dion wrote:
> Hi Spencer!
>
> As far as I know, guile-studio is essentially a pre-default emacs and it
> should have Geiser available already.
>
> But I seem to be getting the same error as you:
>
> $ guix shell --pure guile-studio
> $ guile-studio
> M-x geiser [No match]
>
> Maybe the guile-studio package needs a litle care on the Guix side?
>
> In any case, I think what you could do is to install emacs directly
> instead. So start by uninstalling guile-studio and installing emacs:
>
> $ guix remove guile-studio
> $ guix install emacs
>
> Then, you can install packages inside emacs directly.
>
> I am really not a good emacs lisper, but here is my config that could
> work for you. You just have to copy this into a emacs buffer and
> evaluate the buffer with "M-x eval-buffer":
>
> --8<---------------cut here---------------start------------->8---
> (require 'package)
>
> (setq package-archives
> '(("melpa" . "https://melpa.org/packages/")
> ("elpa" . "https://elpa.gnu.org/packages/")))
>
> (require 'use-package)
>
> (setq use-package-always-ensure t)
>
> (use-package geiser)
> (setq geiser-smart-tab-mode 1)
> (setq geiser-mode-smart-tab-p t)
> (setq geiser-mode-start-repl-p t)
> (setq geiser-repl-per-project-p t)
> (setq geiser-repl-send-on-return-p nil)
> (setq geiser-repl-history-filename "~/.emacs.d/geiser-history")
>
> (use-package geiser-guile
> :requires geiser
> :custom (geiser-guile-load-init-file t))
>
> (use-package paredit
> :bind
> (:map paredit-mode-map
> ("M-s" . nil)))
>
> (use-package paren-face
> :custom (paren-face-regexp "#?[](){}[]")
> :config (global-paren-face-mode 1))
>
> (use-package pretty-symbols)
>
> (add-to-list 'auto-mode-alist '("\\.guile\\'" . scheme-mode))
> (add-to-list 'auto-mode-alist '("\\.scm\\'" . scheme-mode))
>
> (defun setup-lisp-family ()
> (paredit-mode 1)
> (pretty-symbols-mode t)
> (turn-on-eldoc-mode)
> (eldoc-add-command
> 'paredit-backward-delete
> 'paredit-close-round)
> (eldoc-add-command 'electrify-return-if-match)
> (show-paren-mode t))
>
> (defun setup-geiser-repl ()
> (pretty-symbols-mode t)
> (turn-on-eldoc-mode)
> (eldoc-add-command
> 'paredit-backward-delete
> 'paredit-close-round)
> (eldoc-add-command 'electrify-return-if-match)
> (show-paren-mode t))
>
> (add-hook 'scheme-mode-hook #'setup-lisp-family)
> (add-hook 'emacs-lisp-mode-hook #'setup-lisp-family)
> (add-hook 'geiser-repl-mode-hook #'setup-geiser-repl)
>
> (use-package ac-geiser)
> (add-hook 'geiser-mode-hook 'ac-geiser-setup)
> (add-hook 'geiser-repl-mode-hook 'ac-geiser-setup)
> (eval-after-load "auto-complete"
> '(add-to-list 'ac-modes 'geiser-repl-mode))
> --8<---------------cut here---------------end--------------->8---
>
> Hopefuly this will help you getting started.
>
> Cheers,
> Olivier
>
> On Thu, 09 Apr 2026, Spencer via General Guile related discussions <[email protected]> wrote:
>> Is there a guide anywhere, or otherwise documentation on how to get started with Guile?
>> I'm hoping to use https://elephly.net/guile-picture-language/manual.html#A-Picture-Vocabulary the Guile Picture Language as an excuse to try out hoot as recommended on this forum https://community.spritely.institute/t/vector-drawing-library-for-hoot/809.
>>
>> I now have Guile-Studio installed via guix, as recommended by the library but I'm completely stuck on how to run a program after it's been typed in.
>>
>> "M-x geiser" as suggested by the geiser docs does not seem to be found as a command, and none of the menu items seem to run the entire buffer to the terminal.
>>
>> Sorry if this is a super basic question, or if I'm totally off base here. I'm much more used to DrRacket.
>>
>> Thanks,
>> - Spencer