From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id iATnDm7QHWXYwgAAauVa8A:P1 (envelope-from ) for ; Wed, 04 Oct 2023 22:51:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id iATnDm7QHWXYwgAAauVa8A (envelope-from ) for ; Wed, 04 Oct 2023 22:51:58 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A420A496F7 for ; Wed, 4 Oct 2023 22:51:57 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b="Qnu4/l8c"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1696452718; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=LCMnY4GkrAvdHsIHTVeUgZdqT0OYelksRK1XszvJlVM=; b=jF32BI32SFWR6EelivAIzkuCuI217mPqeVcoBN1oyPmE3rPtWcUkSezlAL714R8MPSrF+R yg+PepH5zGwD5a7mS46t8k6gGAbUPnoCHGcD9LkWXjU8llcr8PZGmEyCKl6uDE/filPTvt KyOfM71Lrn1Ng8hasRHRhh3AluVWPYFFJmnGbSf9WKErHpmLtwJwuCZ8Mn4VtHRA6QdfPl LBcydPfgBGSJIXsd/ITePU7FvGKYuxi4w/3iSVXtIplAic2C+dddSNkXIsUDN2o15Zul6h gsmFwieaaB5keJeLIBBZJrMF55HXnU6Mbysg3nfVHn+xYzdLJZ4B4qTKY0MkMg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1696452718; a=rsa-sha256; cv=none; b=ptPbr7zJSqINTHg2/wns0u0XKqTdYP/P5YaR3jVBPBadG+KOkGgtONOwwLQx/blFuP7j6j GdXF1cAtFkaXHFa9UFwmqFWUN9QQi/kexGbNZdD87HqwmM9srEh12a1yq89ymG2bmgNRx7 4tgO5ns6x2QeCMSfRbg4iOUOAqLbqwBnKcGNi8M++BV5opeKZUsDfW0uCmUMtyYujav/7l lA8DgHYBd06GTZxIRcXlmmyj8Xb8GE+Qz40XPoHfqy+9hxK8wzcy2qwbBdyCKtQtaObUoT K0GFgUJLbT2colw30SqRXHhbrmly/orTen0U0ZLFiA3J4638MPJjq+oBHuDoKw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b="Qnu4/l8c"; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qo8qO-0004v2-Ie; Wed, 04 Oct 2023 16:51:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qo8qM-0004uD-3D for guix-devel@gnu.org; Wed, 04 Oct 2023 16:51:42 -0400 Received: from mail-ej1-x632.google.com ([2a00:1450:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qo8qI-0000WG-PN; Wed, 04 Oct 2023 16:51:41 -0400 Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-991c786369cso43176266b.1; Wed, 04 Oct 2023 13:51:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696452696; x=1697057496; darn=gnu.org; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender:from:to :cc:subject:date:message-id:reply-to; bh=LCMnY4GkrAvdHsIHTVeUgZdqT0OYelksRK1XszvJlVM=; b=Qnu4/l8ckgf70TIrKzYzksDbRyka2vraXtj/9P/mtIiRFIL9Fs+pSqUSa9KZxdF0vM JuScWptkOgO3vdLbQIOqo30o2JggO5+tChsSqYgl5dekoB678Ay8RfVU4fWyb+2EPYa3 vjIhvYIOafRxoWIJkwcHhZaWD/UqAbbsYXYwRMX4lOd47v30mdMJH8whoYO5agYYmnJi 6zrReetfr88voskehKHHGST63nd102FV8/OaCqQmpfDbgQtFU9ddBxXNjFruTvYqpmB3 JyvtKm/fd1hjeIkhy3ruyfdxlw3uzZJzCfH8frhn5mCyRXUs/5yr4PHgiAUqJjf0UDJG VXKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696452696; x=1697057496; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LCMnY4GkrAvdHsIHTVeUgZdqT0OYelksRK1XszvJlVM=; b=mIB+r9M2eZe82JPYQSmlys5ffwqZY4CI/dGK6MD4k0jq72EZrRHDOqJl6VPBaVOr3X pn0/orJHS+f8WV2OdcQDwgoBjJjst0tPcJ6/HAgHGJDA133WbTZg0H+25B95y7HdLdEY VqRgPngHxuTCwaaRYmPuO6OVndg+R+gKrF4XoKRLJgv8SLcLPsRdcSftv1Vo8o4eEoDP WZz4FXm/cXWzbD+EL3Pog0habh/lM5cYXRXtAyuM9KeIyN03b8ldYd2J7lb77zp86/BR OFbe6Zl3zBd7cMlbGaaAnoOqbcdWBLAOyHfpGGXWyZCdFy4OGmwgXPLPovPLJxutWTQx wFMA== X-Gm-Message-State: AOJu0YxY0vseKXuy2Qq8cyuMpPEVaVuTcd0BZA2YCY6ytQU70qdsnF+W Slnc3C2uIDfj2m9yF8fEhrhie5QNnlH5ag== X-Google-Smtp-Source: AGHT+IH+M+HEbTocnPkSsz1LUFhPYZzrXpZq/Nn/g5XT8hmnU3fClqOvbZJC+NhoaoTzgyWkmTQ53A== X-Received: by 2002:a17:906:3ca1:b0:9b6:5b56:bbe3 with SMTP id b1-20020a1709063ca100b009b65b56bbe3mr2621857ejh.72.1696452695483; Wed, 04 Oct 2023 13:51:35 -0700 (PDT) Received: from localhost ([2a02:ed3:916:6300:c3db:b80e:a694:a54f]) by smtp.gmail.com with ESMTPSA id l11-20020a170906a40b00b009b64987e1absm3365610ejz.139.2023.10.04.13.51.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Oct 2023 13:51:34 -0700 (PDT) Date: Wed, 4 Oct 2023 23:51:33 +0300 From: Efraim Flashner To: Ekaitz Zarraga Cc: 66343@debbugs.gnu.org, guix-devel@gnu.org, Ludovic =?utf-8?Q?Court=C3=A8s?= , Simon Tournier Subject: Re: [bug#66343] Add more setups to Guix docs Message-ID: Mail-Followup-To: Ekaitz Zarraga , 66343@debbugs.gnu.org, guix-devel@gnu.org, Ludovic =?utf-8?Q?Court=C3=A8s?= , Simon Tournier References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="xvj0lRb94QVQzVAk" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Received-SPF: pass client-ip=2a00:1450:4864:20::632; envelope-from=efraim.flashner@gmail.com; helo=mail-ej1-x632.google.com X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_OTHER_BAD_TLD=1.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Spam-Score: -2.35 X-Migadu-Spam-Score: -2.35 X-Migadu-Scanner: mx1.migadu.com X-Migadu-Queue-Id: A420A496F7 X-TUID: P5Q4QSqJ8aUs --xvj0lRb94QVQzVAk Content-Type: multipart/mixed; boundary="8fE8NYAMN0qibL6p" Content-Disposition: inline --8fE8NYAMN0qibL6p Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Oct 04, 2023 at 06:47:51PM +0000, Ekaitz Zarraga wrote: >=20 > ------- Original Message ------- > On Wednesday, October 4th, 2023 at 18:35, Efraim Flashner wrote: >=20 >=20 > > On Wed, Oct 04, 2023 at 06:15:53PM +0000, Ekaitz Zarraga wrote: > >=20 > > > ------- Original Message ------- > > > On Wednesday, October 4th, 2023 at 16:18, Efraim Flashner efraim@flas= hner.co.il wrote: > > >=20 > > > > I think we can mention guix.vim also > > >=20 > > > Certainly, do you want to add it yourself? > > >=20 > > > Nobody is going to explain it better than you. > >=20 > >=20 > > I tossed in a line or two in the middle of the patch >=20 > But you didn't attach, did you? >=20 > Or you directly commited? I commented directly in the middle of the patch. > +@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 G= uile --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --8fE8NYAMN0qibL6p Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="v2-0001-doc-contributing-Add-alternative-setups-section.patch" Content-Transfer-Encoding: quoted-printable =46rom 410eff90c552977a209db2c56538166ec5455be1 Mon Sep 17 00:00:00 2001 Message-ID: <410eff90c552977a209db2c56538166ec5455be1.1696452671.git.efraim= @flashner.co.il> =46rom: Ekaitz Zarraga Date: Mon, 25 Sep 2023 16:16:28 +0200 Subject: [PATCH v2] 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 | 85 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 78 insertions(+), 7 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index 0de47a403b..f7c72634e7 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,83 @@ The Perfect Setup Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}. =20 +@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 perfe= ct +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=3D3998, +@code{paredit.vim}}, that will help you with the structural editing of Sch= eme +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=3D2975 +@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 Gui= le +process and inject your code there live (sadly it's not packaged in Guix y= et). + + @node Packaging Guidelines @section Packaging Guidelines =20 @@ -1257,13 +1335,6 @@ Formatting Code @noindent @xref{Invoking guix style}, for more information. =20 -@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=3D3998, -@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: e71864793021051cff35597abd59bb2d5649977d prerequisite-patch-id: f3ace8d09a8dea9552cefac6971f2dc48480e326 --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --8fE8NYAMN0qibL6p-- --xvj0lRb94QVQzVAk Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmUd0FUACgkQQarn3Mo9 g1G7sA/+Ne+/WJIILs8Kq750JZivrM52dgW9BDm2NVnIFSxA4o5X4J0gYuWwtiLy vlZxa5E6JSSWz1/cSIz5wxG6U2JDLDyEQ2P+OcOVdj9o12S0RBVAyvD6peooST6k vCix+oaWt4Eq5J3Din7bccQfo9SH02b7xuae8huTSaBbSuNkzfNXnOMnmwzoPgpk MSyu0tJPh6rtICMvfNGG7l4gh806RaWa5MYhTABw5Ix3aaoKAwbP9mwSwfr84T4k IJwv2gxsTzfjcodrEldpgG18vUnZjZdZJWQAYtAoFu67FzntGE6ad/jvoOR17AFT tnX7q3vruohxT75xtyWzL4nxvYGYjBp91CkI1zl09aHq70g8Jj8FsEJbEo1ENdDL BHV8ADlE0DpCIiPDRQqvsFUZxfv2LlejiVqKoVtwNJp6Z8CKoXIo+ahUDjXKjnvq QCgqIE/VX/AKktPMxe+8/7WOlBWraVBBSXUiQ3qOuR2a4WfZZp7djz1eZYIsF+GM qrA7Ry5zshB/oq6hf8828lVDCOiZcmNQW06vsRjRZIgCLP+xEL7SiuSukEc/Bm46 HqILRFMSrqVK0IWeLsFljLVp5ppOknQDzbAdC82ccx9661uskc53U0HxRq4fDuwZ LpVtRkinBMGRvJuC2TDi4ZWziwY6fbkq2qvqLs258hx94tLfPq4= =nxen -----END PGP SIGNATURE----- --xvj0lRb94QVQzVAk--