1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

doc: Move “Guile Studio” and “Vim and NeoVim” under “The Perfect Setup”.

* doc/contributing.texi (The Perfect Setup): Add introduction.  Move former
body to …
(Emacs): … this.
(Alternative Setups): Remove.
(Guile Studio, Vim and NeoVim): Move under “The Perfect Setup”.  Change
judgmental sentence.

Change-Id: I149d418ac17a2283ad3452213b7425be4a8893f4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Ludovic Courtès
2026-02-21 22:06:46 +01:00
parent 5b6b54c95c
commit 4e78643fa7

View File

@@ -25,7 +25,6 @@ choice.
* Running the Test Suite:: Testing Guix. * Running the Test Suite:: Testing Guix.
* Running Guix Before It Is Installed:: Hacker tricks. * Running Guix Before It Is Installed:: Hacker tricks.
* The Perfect Setup:: The right tools. * The Perfect Setup:: The right tools.
* Alternative Setups:: Other possible tools that do the job.
* Source Tree Structure:: Source code guided tour. * Source Tree Structure:: Source code guided tour.
* Packaging Guidelines:: Growing the distribution. * Packaging Guidelines:: Growing the distribution.
* Coding Style:: Hygiene of the contributor. * Coding Style:: Hygiene of the contributor.
@@ -536,11 +535,61 @@ to build again each time you update a package file, run
@node The Perfect Setup @node The Perfect Setup
@section The Perfect Setup @section The Perfect Setup
The Perfect Setup to hack on Guix is basically the perfect setup used @cindex editor setup, for Scheme
for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference @cindex Scheme code editing
Manual}). First, you need more than an editor, you need All configuration and development in Guix is done in the Scheme
@url{https://www.gnu.org/software/emacs, Emacs}, empowered by the language. Like all languages of the Lisp family, Scheme has a simple
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run: syntax. The perfect setup is one where the editor you choose makes
working with that syntax seamless and pleasant; for that it must
absolutely support a few things for Scheme:
@itemize
@item
automatic indentation, such that hitting the ``Enter'' key (or
@kbd{RET}) places cursor ``at the right place'' on the next line;
@item
``parentheses matching'', allowing you to jump from a closing
parenthesis to the corresponding opening parenthesis and vice-versa;
@item
syntax highlighting, so that keywords are visually distinguishable.
@end itemize
The following optional features can make your life easier:
@itemize
@item
structural editing of Scheme syntax;
@item
Guile integration so you can easily evaluate code, jump to procedure
definitions, view documentation, and so on.
@end itemize
The following sections look at editor setups that are known to work
well. Do share your setup for these and other editors for inclusion in
this manual! @xref{Submitting Patches}.
@menu
* Emacs:: Best-of-breed editor for Scheme code.
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: Classical Unix editors.
@end menu
@node Emacs
@subsection Emacs
@url{https://www.gnu.org/software/emacs, Emacs} is probably the most
widely used editor in the community; it is also the one that,
historically, has always had excellent support for Lisp languages, being
itself a Lisp implementation!
@quotation Note
If you are just getting started with Emacs, @pxref{Guile Studio} for a
smooth way to start your transition.
@end quotation
Just like for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile
Reference Manual}), Emacs works best when empowered by the wonderful
@url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@example @example
guix install emacs guile emacs-geiser emacs-geiser-guile guix install emacs guile emacs-geiser emacs-geiser-guile
@@ -629,24 +678,6 @@ copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs. Emacs.
@node Alternative Setups
@section Alternative Setups
Alternative setups than Emacs may let you work on Guix with a
similar development experience and they might work better with the
tools you currently use or help you make the transition to Emacs.
The options listed below only provide the alternatives to the Emacs
based setup, which is the most widely used in the Guix community. If
you want to really understand how the perfect setup for Guix development
is supposed to work, we encourage you to read the section before this
regardless of the editor you choose to use.
@menu
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: When you are evil to the root.
@end menu
@node Guile Studio @node Guile Studio
@subsection Guile Studio @subsection Guile Studio
@@ -663,9 +694,9 @@ Guile Studio comes with Geiser preinstalled and prepared for action.
@node Vim and NeoVim @node Vim and NeoVim
@subsection Vim and NeoVim @subsection Vim and NeoVim
@cindex Vim, for Scheme code editing
Vim (and NeoVim) are also packaged in Guix, just in case you decided Vim (and NeoVim) are also packaged in Guix, in case these popular modal
to go for the evil path. editors are more to your taste.
@example @example
guix install vim guix install vim