From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.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 APKmKiLOCWUxHgEAG6o9tA:P1 (envelope-from ) for ; Tue, 19 Sep 2023 18:36:50 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id APKmKiLOCWUxHgEAG6o9tA (envelope-from ) for ; Tue, 19 Sep 2023 18:36:50 +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 6097061C16 for ; Tue, 19 Sep 2023 18:36:50 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=none; 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=1695141410; 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:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=0DrMIzyPWV7hGONe3qHRKKv2/VMOKkvGu8hMWrIJ6EA=; b=K2ylpgBcFNJLKs4VR2w6iiG3CZCOFLszkSbuwfe7KsvrGmUleC7MPz7Zei834Lim8Iy5bu 3oyNHwF9O7Wq4BX9zyRKKhXZInSRSqI5Va1GW4cywpJUXiyn6IsqHQaKlOD++kQi4BjG+m L8dogTOdzZbSnFQz8txkyTACRCglyTF3hyowhyGVnDNzi7Xkz8nousgb1sH7S8CAVHM0wz x4zCWbktiHxXuXTl5vXDxer/T8tI1CZCCMsT8t0EthwrvFbR6aN4xOWM4zN30+VOV9D2za hPKve61t2s4fj1ctx9z+n68WgmkmbEF/tTZGxQP6yKH2toKJIrfs2gkgJp168Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; 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-Seal: i=1; s=key1; d=yhetil.org; t=1695141410; a=rsa-sha256; cv=none; b=SAnI7ARVCoCmyyG9jTFkVsGhoMQQgaKGQmMWu9ad0DE0Cj36S3YxAiwzfuD7nHR48uOHnA Ee4frG1Atd82A1/zeIEoPVa/ZDYvyAENfumVHvl7iiMqQz69uUSArUmOxdCnExY6OuzGNW tgPqsPtm7GMojfKzRXI8owtpVfKSnQMISl9Pb0psMpNrSg/JCFCFA+5NKj5FAzvxJKTasc 1SXnBZeHnSxlkNfQ18PbjoBhaHkWM0Hvr/5Kslks0EDmDWqz1hfqa7LX0ZxHUbHO2uvtEh hodsnogPXiQp5wmFLE4jNzSVG3YSugIALwJo32TftvLg70a3V5DeFRhJxf7Nbg== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qidht-0006Fk-KD; Tue, 19 Sep 2023 12:36:13 -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 1qidho-0006E6-Pf for guix-devel@gnu.org; Tue, 19 Sep 2023 12:36:09 -0400 Received: from ns13.heimat.it ([46.4.214.66]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qidhk-0004Ss-JR for guix-devel@gnu.org; Tue, 19 Sep 2023 12:36:08 -0400 Received: from localhost (ip6-localhost [127.0.0.1]) by ns13.heimat.it (Postfix) with ESMTP id AF3AB3007E0; Tue, 19 Sep 2023 16:35:58 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at ns13.heimat.it Received: from ns13.heimat.it ([127.0.0.1]) by localhost (ns13.heimat.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hjmQIR0_qah1; Tue, 19 Sep 2023 16:35:55 +0000 (UTC) Received: from bourrache.mug.xelera.it (unknown [93.56.171.217]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ns13.heimat.it (Postfix) with ESMTPSA id 9F94430022E; Tue, 19 Sep 2023 16:35:55 +0000 (UTC) Received: from roquette.mug.biscuolo.net (roquette [10.38.2.14]) by bourrache.mug.xelera.it (Postfix) with SMTP id 32E9A29EA299; Tue, 19 Sep 2023 18:35:55 +0200 (CEST) Received: (nullmailer pid 29484 invoked by uid 1000); Tue, 19 Sep 2023 16:35:53 -0000 From: Giovanni Biscuolo To: guix-devel@gnu.org Cc: Simon Tournier Subject: The elephant in the room and the Guix Bang. Organization: Xelera.eu 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> Date: Tue, 19 Sep 2023 18:35:53 +0200 Message-ID: <87msxi3yty.fsf@xelera.eu> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=46.4.214.66; envelope-from=g@xelera.eu; helo=ns13.heimat.it X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, 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: mx1.migadu.com X-Migadu-Spam-Score: -8.38 X-Spam-Score: -8.38 X-Migadu-Queue-Id: 6097061C16 X-TUID: HeK80C0y0iov --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: =2D-8<---------------cut here---------------start------------->8--- An extensible, customizable, free/libre text editor =E2=80=94 and more. =20 At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. =2D-8<---------------cut here---------------end--------------->8--- (https://www.gnu.org/software/emacs/) IMO to define Emacs as a sort of =C2=ABtext editor on steroids with batteri= es included (Emacs Lisp)=C2=BB does not represent the real nature of the program; an /effective/ definition would be: =2D-8<---------------cut here---------------start------------->8--- An extensible, customizable, free/libre user interface. =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... =2D-8<---------------cut here---------------end--------------->8--- 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: =2D-8<---------------cut here---------------start------------->8--- 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 =2D-8<---------------cut here---------------end--------------->8--- (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/ =2D-=20 Giovanni Biscuolo Xelera IT Infrastructures --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJABAEBCgAqFiEERcxjuFJYydVfNLI5030Op87MORIFAmUJzekMHGdAeGVsZXJh LmV1AAoJENN9DqfOzDkSy74P/2e3Gu9SrCNHbtaBM2RX1jNBgxBWXVCk9A/R9ZcL onONiS4HUMbPkJVdB68s1RpyDm8IMlU4A/7y5OCPwpSJzIe6Iy4vCihZ1sbuf/J2 HUqmqYP6Et0TUmSTnYCpc50YclaFAUXLvJBobBNi7ydEbFR8eZ+Pb1kK1A6VL1l6 qZhlcVzkZN5nk3BiA1Gnffto2qNnP0qc0Jl8PRKUvDXI70BfelhXOsBta70Ec0/l qdYP8rLQWqrsvNUWAxXCLVx1/M0xsc4UmUBeGGZ4JIeNfuivLpg7cMQY8UDgKeUw dd+f+tFqzPn0RcYGIXFsc9VuvjAhSEfYRmVXVCbFkv05Leo1pjb2vvTCl3Aknwxv MuzZOwe1TIy0bIfpGYClVRRzI7qoOivXjTyHs4CgTgEwbMS3QyqucdAaTthaZTGE 8E7pM06lEavOIZ9VNIw3lzPLeNAGtl1MeticOG5imtZGi5WMSUY17K32CMfnoIbF HXTF0mh1e+VAOBWFei8P9DwuCKOplWN0zHGLeaKI2Ivn92zc+Iojzs+lipl9dhth 8tSvs2WIbJW2cwwYmSk06FopksWAWySeuVHiten0i/0Wl4jslm4wXfJE8ueBXyTK dEA3HkEu6oHRB8soDUR1nVWFKMZpj/pgyKGrTYK2jyWXRHDH/py/00z+vi3pe87Q grM3 =PwCN -----END PGP SIGNATURE----- --=-=-=--