From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id wMowMAOuCmVUbQEA9RJhRA:P1 (envelope-from ) for ; Wed, 20 Sep 2023 10:32:03 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id wMowMAOuCmVUbQEA9RJhRA (envelope-from ) for ; Wed, 20 Sep 2023 10:32:03 +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 303F64114D for ; Wed, 20 Sep 2023 10:32:02 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=hKNB0NYh; 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=riseup.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695198723; a=rsa-sha256; cv=none; b=Zy8SHYiyJRT9q9gKgoK0VUXMlH1XSIaA7Y0OH7zLqh9sT0/GJIz525RCYPtIRwAGoftE5V MM7ENoC6stndzr7C9rgxsl8FafGHiO+KAlYNDz3HFo0P0rsI7vB5CBX9LaHqbcPVM6wSMG QZr3cNPMoezfHAvbDArXrNxREtD0LGtmWLP1Kv/4Vdu0LdV8cm5Yyfjxx7VpxuhfTqZoYd o0G9QosMxOXRb6KLZpusCnWDdlj8rlvgHX3a2i2JWzvncX4eNSi09Re/xdi9Bjsa7aW7I1 hks2mLAwug/sXMitPKjuEuvH5b/a3v/fJuMRfKqzATzHPdxrJ4QUiK0rMmL+Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695198723; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=kYcNi4NCq5itOesuXVmNQwDAIlZMnMSU5fcCXRFI/b8=; b=AQygiEdVJauNzBNyeQK4Y44TjhJauh4U9yZkOlHt9tA9kiYw9mS4MbIrCOrKyFyBq9ztpW Y8TanyYfFsKDLShVeFaECiNc95djMTB4wIBHRqnHynyhOfTLEQGklhaCLECMA7Tz0s+IDI ha5jf+/N1HqKthUtRb/1GUzt2wjsbyfPe/hL9BB2dKTkio2ZOvI9GBrtHPHtFm6yPBgkhU 9IZvKOxDQbkkUItbBb/QtAOQxzGnD7roep7VHg/OkdYPZgHxqYXDIJgpP3r9ypCO50aEnr srVGeAab4iDRzM2QZjqtAlxuz3y06YaN6OqB97Y4yDOIRsWT798/hei4KleU4g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=riseup.net header.s=squak header.b=hKNB0NYh; 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=riseup.net Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qiscI-0001EL-JS; Wed, 20 Sep 2023 04:31:26 -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 1qiscH-0001Dz-7w for guix-devel@gnu.org; Wed, 20 Sep 2023 04:31:25 -0400 Received: from mx1.riseup.net ([198.252.153.129]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qiscE-0007vd-I0 for guix-devel@gnu.org; Wed, 20 Sep 2023 04:31:24 -0400 Received: from fews01-sea.riseup.net (fews01-sea-pn.riseup.net [10.0.1.109]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx1.riseup.net (Postfix) with ESMTPS id 4RrBZc3Q8rzDqgm; Wed, 20 Sep 2023 08:31:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1695198680; bh=NKYmgWZ7hVDXcWLny6XvuYdaA+SC4kL08RL6B0qmwp8=; h=References:From:To:Cc:Subject:Date:In-reply-to:From; b=hKNB0NYh5UEyFhSAP4l9Td4kXu/TFWWRfqHJ1jCTL71FTe4RIo3zElxstGFpgyMR1 kzYVrRQIK3UK/fVrTQbsGIriJ4mzN54Rhd5DdNx/KqaLhZYoscMN78lgtfCaV7NxyC W9/946t2KzgS8Gkt5Vw+lw/zkeVos1mqrhN9V9w8= X-Riseup-User-ID: 33A0CBF26BC5CBF3A6A29835F9E89D4FA09ED6793A2E4B330F487C6EC5D8FCEA Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews01-sea.riseup.net (Postfix) with ESMTPSA id 4RrBZb5ntQzJntD; Wed, 20 Sep 2023 08:31:19 +0000 (UTC) References: <87msyhgccg.fsf@disroot.org> <547c097a-d805-9a55-11d9-b0434327f89d@gmail.com> <871qfpjhiz.fsf@gmail.com> <87a5udaq7q.fsf@envs.net> <87il8z9yw8.fsf@xelera.eu> <8c30655ca9905946fc718940700f2475@libre.brussels> <871qf2tg6u.fsf@fannys.me> <87cyymw046.fsf@gmail.com> <3ca200ef-98bc-4545-bc27-c1fb92dac04e@fannys.me> <87bkdzssgm.fsf@gmail.com> <87msxi3yty.fsf@xelera.eu> From: Csepp To: Giovanni Biscuolo Cc: Simon Tournier , guix-devel@gnu.org Subject: Re: The elephant in the room and the Guix Bang. Date: Wed, 20 Sep 2023 10:21:46 +0200 In-reply-to: <87msxi3yty.fsf@xelera.eu> Message-ID: <87bkdxb60i.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=198.252.153.129; envelope-from=raingloom@riseup.net; helo=mx1.riseup.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-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-Spam-Score: -9.74 X-Spam-Score: -9.74 X-Migadu-Queue-Id: 303F64114D X-Migadu-Scanner: mx2.migadu.com X-TUID: Uf4d5xghdde3 Giovanni Biscuolo writes: > [[PGP Signed Part:Undecided]] > Hello, > > ...I'm talking about Emacs. > > In <87bkdzssgm.fsf@gmail.com> [1] Simon Tournier writes: > > [1] https://yhetil.org/guix/87bkdzssgm.fsf@gmail.com/ > > [...] > >> people are already engaging for improving the accessibility of editors >> other than Emacs > > Simon gave me the opportunity to realize (once again) that IMO there is > a foundamental misconception regarding Emacs. > > What is Emacs, exacly: is it an editor? > > I feel that a great deal of friction on the matter is due to the fact > that Emacs is usually defined as an /editor/ (OK text editor, but it > makes no difference)... **also** in its official page: > > > An extensible, customizable, free/libre text editor =E2=80=94 and more. >=20=20 > At its core is an interpreter for Emacs Lisp, a dialect of the Lisp > programming language with extensions to support text editing. > > (https://www.gnu.org/software/emacs/) > > IMO to define Emacs as a sort of =C2=ABtext editor on steroids with batte= ries > included (Emacs Lisp)=C2=BB does not represent the real nature of the > program; an /effective/ definition would be: > > > An extensible, customizable, free/libre user interface. >=20=20 > At its core is an interpreter for Emacs Lisp, a dialect of the Lisp > programming language, with extensions to use it as an interface to text > editing functions and many, many more: MUA, web browser, task > organizer... > > > To define Emacs as a /user interface/ it's not just a cool way to > "market it", it means to classify its /unique/ (?) user interface design > as one among all the historical instances of user interfaces: > > > 1. batch interface > 2. command line interface > 3. SAA User Interface or Text-Based User Interface > 4. graphical user interface > 5. (editor note) web user interface > > (https://en.wikipedia.org/wiki/User_interface#History) > > Someone may consider Emacs "just" a "text-based user interface (UI)" > (point 3. of the above mentioned list) like the ones using curses and > alike (e.g. vim, mutt, ranger, Norton Commander and so on) but IMO Emacs > implements a very different design, centered around a specific UI > element called "emacs buffer". > > I consider Emacs as a 6th class of user interface :-D > > Just to bring my limited personal experience: I was a mutt+vim user for > email management, ranger for file management... and so on, and since I > was was **very** happy with my vim user experience when editing text, > for a very long time I looked at Emacs as "just" another text editor I > didn't need, because **as text editors** both vim, Emacs and alike are > /very/ powerful and I was never ever interested for just a sec to the > funny "editor war" (and similar "wars"). > > Then, one day, moved by curiosity and the fact that the Emacs interface > is /integrated/ in the notmuch mail indexer I was already using, I > started using Emacs as my preferred /user interface/ for notmuch... and > some year later here I am, trying to use the Emacs interface for as much > computing activities I can. > > Now I see Emacs in a very different way. > > Incidentally (?), AFAIU Emacs was the Guile IDE (integrated development > environment, not text editor) used by Ludovic when he started > programming Guix; he and probably some (many?) of the contributors was > so happy with their tool that they started sharing their configuration > snippets, as usual amoung a community of enthusiastic users... after > many refinements and maybe some Emacs extentions progamming, they was so > proud that they decided to recommend the same (set of) tool /and/ > configuration to other _collegues_, the famous "perfect setup" described > in the Guix manual. > > I'm also suspecting that the spark that started the "Guix Bang" in > Ludovic's mind, the very moment he realized nix could be better > _extended_ using Guile in place of it's DSL, was /caused/ by the fact he > was a Lisp programmer, the specific /dialect/ probably did not matter. > But I'm just guessing. > > Now I see Guix in a different way. :-) > > In this context: is the Guix project biased in recommending using Emacs > (a Lisp interpreter and compiler for Emacs Lisp) to contributors? I > don't think so. > > I'd rather say that - as in many other organizations and all similar > projects - Guix adopts a "BYOT" (bring your own tool) organizational > policy... and the first contributors brought theirs. :-D > > For sure vim/neovim - and other tools - can also be extended and *used* > to provide /user interface/s for various external tools (e.g. see > fugitive.vim/nvim-fugitive) that are useful when using and/or developing > Guix, everyone is free to use and extend them, and also to share with > the whole Guix community how their beloved BYOT are working well. > > Please see a recent message of mine (id:87pm2e4flj.fsf@xelera.eu [2]) > for some of my comments (nothing really new, I just reused concept > already expressed by others) about the process needed to integrate > useful informations (configuration _is_ information) in Guix > official _recommandations_. > > Happy hacking! Gio' > > [2] https://yhetil.org/guix/87pm2e4flj.fsf@xelera.eu/ Recommending Emacs would IMHO be fine, iff the UX wasn't so bad. It's better if we have at least one *well documented* developer setup, than if we have a bunch of (sometimes conflicting) partial docs for setting up certain subsystems. Emacs can be pretty good, once you do (setq make-defaults-not-suck 1) a bunch of times.