From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id WDWaMuX0EWVZUQAAG6o9tA:P1 (envelope-from ) for ; Mon, 25 Sep 2023 23:00:22 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id WDWaMuX0EWVZUQAAG6o9tA (envelope-from ) for ; Mon, 25 Sep 2023 23:00:21 +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 64427A4FF for ; Mon, 25 Sep 2023 23:00:21 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Yfr55OcB; 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=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695675621; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=LMJDJC6zB70pbdCh1rXkvkyebKxOKE/78rGdbHWd+8g=; b=keV3+6UE9AE0OfN70zISJmeYttSrrD7xuGgjqnQybDIA72GTutK6/tSNmjcXavfUV0BX+e knse9ZnRG4CoOEBHaxOLEcc26Va2UhYrar+bcm1vKwPxIRWwl73+2/4I8BQXqx/FTXXzDt DzULGAQNAXPfWiwAwoinwpjpSJbb7EIttVPDjrGF1WRQGUrDJ8+GaEZ+v5/Cbut+ngJi0V qJ+kCyVraV5xd/ZqqS2iDXiTz0xBjXob7O6y23spiUOLXylDVFwDj8xvx7nBl+NYHNp2c3 Ye4VD8VAi4qZZ1rlkAFAjx+2ndLLGocPhBKNEldj6DAVL3rqAPxU7vCbYZyTqA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695675621; a=rsa-sha256; cv=none; b=Gw+cR2iuWs0RE0i3UPYITAIh+Q0HDirIqOE9BhzScL6GGsMdV2fQE3Q7fvTAhRJzMCs0Nd Yt7DJK2BMaa3v8NozF9dNRJ9sAhAC+s3svtp17fsLugB708L7987fjW6lGQdNiXC0XHylZ zp/POnuqR+9PZIHws9FDPLogVf97/kw3nChXkR53nlvzTrMLXAX96IXfSfXv4eePXMRKd4 lSDAh8SBahDruWYrga5geOwO1XBFoqNcqO+JFjyq5mAFkwcldISx7go4eEUMv/C2nyf8cl 71gZm6CzDN+l6pF5t23i4KG64gnvgMW94+1K1QmCKH+ZXgTc0n5OqJ/3eWJKmg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Yfr55OcB; 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=pass (policy=none) header.from=gmail.com Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qksfz-0002ut-3v; Mon, 25 Sep 2023 16:59:31 -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 1qksfx-0002tw-4W for guix-devel@gnu.org; Mon, 25 Sep 2023 16:59:29 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qksfv-0001c0-7A for guix-devel@gnu.org; Mon, 25 Sep 2023 16:59:28 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-40594a6d1ecso5149025e9.1 for ; Mon, 25 Sep 2023 13:59:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695675566; x=1696280366; darn=gnu.org; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :from:to:cc:subject:date:message-id:reply-to; bh=LMJDJC6zB70pbdCh1rXkvkyebKxOKE/78rGdbHWd+8g=; b=Yfr55OcBX2PwWw16kAb9qEa/AQwWrMgauXLZd5OKWJt9mG2RH6hj+9l3Y+W+G2SITf LehBOpt+3/1oNOq2jL3dqJaTFQ4C/Kv+/ko1AyZS3U/fNgNcsW9WH7fN9mkVbqo73nO0 GstHWk+Na/x71elJWxgtp7zcH60Z+xGPQcWmg9HeO3DjJYjuubPJ0N3V/pvq0dlgoN6M /ylk8EadrM294owZNyGsWsuqBzAG6OgEMd52GCJtt2SnfNsOzREe89q5m0sYJwyUC81J I6tDmS0hD7/xJf3WX2tRSgmkcfdjf6rpYVle78ZjRosq+Ov2N1Xbkw/FFyutUUk4EGZ6 CRog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695675566; x=1696280366; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LMJDJC6zB70pbdCh1rXkvkyebKxOKE/78rGdbHWd+8g=; b=PaMpqMaYVn9lGMqoJxrfPeHYqfQdaT1/D1rrA7lBZ8Tc5Pb9H4qL3MPqVKKdRnyHja qRRGrf7Jf59V3vFMdSWzEFZ4g3NPiQe7nOwIz77KSOf37llhwmWBRLewLVOA/uu8tNDC niE7lfb7ttEbgYeNOSql23Y+W1CHi9KEdl7V2mx1fpU8LJEarkYH9VV8bBloTLDi4+x2 KWrANnAagAD7FRSxb2pNnPbzkl+vtP92Oja9YO+g6IdD+XpCuY/sUWGRwo8A1ESCGSN4 p63I/vfcnDTW3dpHI8316CwtbMeyiT1Oy+aAiVnpp4PoU8OnL1sua60KvGrII012iia+ WiNg== X-Gm-Message-State: AOJu0YyYlj2L/OSLWuLZKMJ5R+GklveVtvVXnYaYW8m2EIqmD93sY5mt xGDfZAFJWpoUu0xuLGMti+TXUOZdTWA= X-Google-Smtp-Source: AGHT+IF7v1p9l3nlHf/ZYXUk/CCEjFq2h+k2B/ZpNBNM+df47FB8mi44B9NGy5AAkfZPTz579fL2pw== X-Received: by 2002:a05:600c:1c2a:b0:404:7606:a871 with SMTP id j42-20020a05600c1c2a00b004047606a871mr7392375wms.2.1695675565577; Mon, 25 Sep 2023 13:59:25 -0700 (PDT) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id x26-20020a1c7c1a000000b003fe29f6b61bsm13210026wmc.46.2023.09.25.13.59.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 13:59:25 -0700 (PDT) From: Simon Tournier To: Ekaitz Zarraga , "guix-devel\\@gnu.org" Subject: Re: RFC: add more setups to Guix docs (was: The e(macs)lephant in the room and the Guix Bang) In-Reply-To: References: Date: Mon, 25 Sep 2023 22:58:46 +0200 Message-ID: <86r0mmj7g9.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=zimon.toutoune@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_OTHER_BAD_TLD=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx0.migadu.com X-Migadu-Spam-Score: -9.57 X-Spam-Score: -9.57 X-Migadu-Queue-Id: 64427A4FF X-TUID: Y2xR3YPJupyw Hi Ekaitz, On Mon, 25 Sep 2023 at 14:25, Ekaitz Zarraga wrote: > I decided to go for the action instead of discussion. Nice initiative! > Are maintainers open to add some section like this to the manual? I am not maintainer and I have nothing against. :-) Well, I do not know if you plan to iterate. Here minor comments while reading it, in case. > --- 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. Alternative wording: 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 -^ Guile typo: s/guile/Guile > +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 -^ Scheme typo: s/scheme/Scheme > +files (the support for very large files is not greath, though). -^ typo typo: s/greath/great > + > +@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 -^ -^ double typo: double even > +@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). NeoVim packager, is it complicated to have in Guix? If yes, is it easy to install without Guix? Cheers, simon