all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* RFC: add more setups to Guix docs (was: The e(macs)lephant in the room and the Guix Bang)
@ 2023-09-25 14:25 Ekaitz Zarraga
  2023-09-25 20:58 ` Simon Tournier
  0 siblings, 1 reply; 4+ messages in thread
From: Ekaitz Zarraga @ 2023-09-25 14:25 UTC (permalink / raw)
  To: guix-devel\@gnu.org

[-- Attachment #1: Type: text/plain, Size: 527 bytes --]

Hi,

I decided to go for the action instead of discussion.

I attach an early WIP patch where I add a small section about
other setups for Guix development. I moved the Vim section from the
bottom because it felt alone and dangling.

I'd also like to add something about commit style, and that kind
of things, but I'll leave it for later.

Are maintainers open to add some section like this to the manual?

Please, comments and ideas are welcome.

If anyone wants to add other setups, please do.

Best,
Ekaitz

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-WIP-doc-contributing-Add-alternative-setups-section.patch --]
[-- Type: text/x-patch; name=0001-WIP-doc-contributing-Add-alternative-setups-section.patch, Size: 4350 bytes --]

From 40e5d840cf497a4313f33ce5fad7ecbea081f6ba Mon Sep 17 00:00:00 2001
Message-ID: <40e5d840cf497a4313f33ce5fad7ecbea081f6ba.1695651517.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
---
 doc/contributing.texi | 78 +++++++++++++++++++++++++++++++++++++++----
 1 file changed, 71 insertions(+), 7 deletions(-)

diff --git a/doc/contributing.texi b/doc/contributing.texi
index ce4b9db366..0c98a81787 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.
@@ -448,6 +449,76 @@ The Perfect Setup
 Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
 Guide}.
 
+@node Alternative Setups
+
+Other setups may let you work on Guix with a similar development
+experience, but using an editor that is not as powerful as Emacs, but
+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 greath, 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
+
+In NeoVim you can even 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
 
@@ -1196,13 +1267,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: a965ff448dc9d92d18a51068388faf21e394d483
-- 
2.41.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-04 15:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-25 14:25 RFC: add more setups to Guix docs (was: The e(macs)lephant in the room and the Guix Bang) Ekaitz Zarraga
2023-09-25 20:58 ` Simon Tournier
2023-09-25 22:03   ` Ekaitz Zarraga
2023-10-04 15:27     ` RFC: add more setups to Guix docs Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.