I think we can mention guix.vim also On Wed, Oct 04, 2023 at 03:36:18PM +0000, Ekaitz Zarraga wrote: > > ------- Original Message ------- > On Wednesday, October 4th, 2023 at 15:27, Ludovic Courtès wrote: > > > > Hi, > > > > Ekaitz Zarraga ekaitz@elenq.tech skribis: > > > > > From 0c2be98f05bb288699a8e39dcef6428eb5a9dc3f Mon Sep 17 00:00:00 2001 > > > Message-ID: 0c2be98f05bb288699a8e39dcef6428eb5a9dc3f.1695679042.git.ekaitz@elenq.tech > > > From: Ekaitz Zarraga ekaitz@elenq.tech > > > Date: Mon, 25 Sep 2023 16:16:28 +0200 > > > Subject: [PATCH] WIP: doc: contributing: Add alternative setups section > > > > > > Start with Guile Studio and Vim/NeoVim. > > > > > > * doc/contributing.texi (Alternative Setups): Add section explaining > > > other setups that are similar to the one in The Perfect Setup > > > > > > Not a maintainer either but I like it! > > > > > +@node Alternative Setups > > > + > > > > > > I think you’re missing an @section here. > > > > > +@node Vim and NeoVim > > > +@subsection Vim and Neovim > > > > > > Which spelling is the right one? :-) > > > > Maybe send it to guix-patches@gnu.org so it passes on everyone’s radar, > > but otherwise LGTM! > > > > Ludo’. > > Great! > Thanks Ludo. > > Fixed! > > I add guix-patches in the loop. > > Thanks all, > Ekaitz > From 8ea037b7d8f3472323682594266f5810fd87f291 Mon Sep 17 00:00:00 2001 > Message-ID: <8ea037b7d8f3472323682594266f5810fd87f291.1696433643.git.ekaitz@elenq.tech> > From: Ekaitz Zarraga > Date: Mon, 25 Sep 2023 16:16:28 +0200 > Subject: [PATCH] doc: contributing: Add alternative setups section > > Start with Guile Studio and Vim/NeoVim. > > * doc/contributing.texi (Alternative Setups): Add section explaining > other setups that are similar to the one in The Perfect Setup > --- > doc/contributing.texi | 77 +++++++++++++++++++++++++++++++++++++++---- > 1 file changed, 70 insertions(+), 7 deletions(-) > > diff --git a/doc/contributing.texi b/doc/contributing.texi > index 0de47a403b..c476097bf5 100644 > --- a/doc/contributing.texi > +++ b/doc/contributing.texi > @@ -23,6 +23,7 @@ Contributing > * Building from Git:: The latest and greatest. > * Running Guix Before It Is Installed:: Hacker tricks. > * The Perfect Setup:: The right tools. > +* Alternative Setups:: Other posible tools that do the job. > * Packaging Guidelines:: Growing the distribution. > * Coding Style:: Hygiene of the contributor. > * Submitting Patches:: Share your work. > @@ -453,6 +454,75 @@ The Perfect Setup > Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User > Guide}. > > +@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 is the perfect setup for Guix > +development supposed to work, we encourage you to read the section > +before this regardless 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 > +@subsection Guile Studio > + > +Guile Studio is a pre-configured Emacs with mostly everything you need > +to start hacking in Guile. If you are not familiar with Emacs it makes > +the transition easier for you. > + > +@example > +guix install guile-studio > +@end example > + > +Guile Studio comes with Geiser preinstalled and prepared for action. > + > +@node Vim and NeoVim > +@subsection Vim and NeoVim > + > + > +Vim (and NeoVim) are also packaged in Guix, just in case you decided > +to go for the evil path. > + > +@example > +guix install vim > +@end example > + > +If you want to enjoy a similar development experience to that in the perfect > +setup, you should install several plugins to configure the editor. Vim (and > +NeoVim) have the equivalent to Paredit, > +@uref{https://www.vim.org/scripts/script.php?script_id=3998, > +@code{paredit.vim}}, that will help you with the structural editing of Scheme > +files (the support for very large files is not great, though). > + > +@example > +guix install vim-paredit > +@end example > + > +We also recommend that you run @code{:set autoindent} so that your code is > +automatically indented as you type. > + > +For the interaction with Git, > +@uref{https://www.vim.org/scripts/script.php?script_id=2975 > +@code{fugitive.vim}} is the most commonly used plugin: > + > +@example > +guix install vim-fugitive > +@end example > + And of course if you want to interact with Guix directly from inside of vim, using the built-in terminal emulator, we have our very own @code{guix.vim} package! @example guix install vim-guix-vim @end example > +In NeoVim you can even make a similar setup to Geiser using > +@url{https://conjure.fun/, Conjure} that lets you connect to a running Guile > +process and inject your code there live (sadly it's not packaged in Guix yet). > + > + > @node Packaging Guidelines > @section Packaging Guidelines > > @@ -1257,13 +1327,6 @@ Formatting Code > @noindent > @xref{Invoking guix style}, for more information. > > -@cindex Vim, Scheme code editing > -If you are editing code with Vim, we recommend that you run @code{:set > -autoindent} so that your code is automatically indented as you type. > -Additionally, > -@uref{https://www.vim.org/scripts/script.php?script_id=3998, > -@code{paredit.vim}} may help you deal with all these parentheses. > - > We require all top-level procedures to carry a docstring. This > requirement can be relaxed for simple private procedures in the > @code{(guix build @dots{})} name space, though. > > base-commit: 284f8508bebcae510261c7c223dc28f9badf87ce > -- > 2.41.0 > -- Efraim Flashner רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted