From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.devel Subject: Re: [External] : Re: Propose to add setup-wizard.el to ELPA Date: Tue, 04 Jan 2022 16:04:23 +0100 Message-ID: <8735m34k5k.fsf@gnus.org> References: <8735m6o349.fsf@yahoo.com> <87pmpamlon.fsf@yahoo.com> <834k6mdu7q.fsf@gnu.org> <87v8z12ud8.fsf@athena.silentflame.com> <7BD42724-519F-406C-ABB2-CC50E70CD837@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21136"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Sean Whitton , Stefan Kangas , Stefan Monnier , Drew Adams , "emacs-devel@gnu.org" To: Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Jan 04 16:19:20 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n4lap-0005Eb-PZ for ged-emacs-devel@m.gmane-mx.org; Tue, 04 Jan 2022 16:19:19 +0100 Original-Received: from localhost ([::1]:53268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n4lao-0003tv-5N for ged-emacs-devel@m.gmane-mx.org; Tue, 04 Jan 2022 10:19:18 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:54256) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n4lMi-0007Cl-6V for emacs-devel@gnu.org; Tue, 04 Jan 2022 10:04:44 -0500 Original-Received: from [2a01:4f9:2b:f0f::2] (port=36220 helo=quimby.gnus.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n4lMg-0005gq-Cq for emacs-devel@gnu.org; Tue, 04 Jan 2022 10:04:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=PpJ69jsmXEiyH84F4642P9V/CqecPYCAk32SHr/AVKE=; b=lsky1bFGpVt7Gdv2Tw+61KIssW b+Ct5BLAMoRtfcVJehMIKffxLM/P4Y3luc0kL4r12wWpD3QjQz02E3TJosRLAgFuPJzdeML1tT2u3 ovlMM5QtINOItMJEUscGhu+8B4vt4vsZgS5MfYOOynBnYlFkfSsn9qSm85U63AW+l2/w=; Original-Received: from [84.212.220.105] (helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n4lMQ-0000Yh-2M; Tue, 04 Jan 2022 16:04:28 +0100 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAGFBMVEX9/Pjc1dCwp6GS hniOb2BVUUIjKB////9Z1785AAAAAWJLR0QHFmGI6wAAAAd0SU1FB+YBBA42MBuQYAsAAAGMSURB VDjLzZPdcaQwDIAxmdyz5UzueS1oIMgUkNhsAcFyBbH7LyEysCxkX3MzJ/Bg9OnHSKJp/gfRoJtG llJHbavNxdinBrV5giNQFVyMlgvsCQBYBVpbUPoUqoF6a1WXVuoWDSTCpTXWtCCuaPRu3kqCtmps g80FQd8zgAQHDapu1Q7+vSgwuEs3UEdEvoLXXB4kL4DPupIyL+Dv8poePRZQQrg+gCUHT1w2r3TL sZgwhVWfP/B6BHFw/v2F5qnvcNxAtYxTcAExFY5E7gCYYwijHDx/yaYcj8ucUk1bLa6H44oPr4/A Hq874KoSh09plGPf30NVUMpskSz0YajgeQcpk8HxHYH97iF5xeMTwRASpVjBn5pB4meu7UCHk+Mb 2CrnB+OmGeee+Qz4TZo5Dtj5HyASAvReOpxPQEovn9HT0HVlP+4aigeDHXaOcp3FZy7bOOQ000DW +FBWkLYWyefkGD5wdryC+5jEILWc4riBtE9WniqJHBZwGDjJz7Xwi0d7H1ALN/nVn+Ab0Z+3/cTJ 8a8AAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDEtMDRUMTQ6NTQ6NDgrMDA6MDCzsKToAAAAJXRF WHRkYXRlOm1vZGlmeQAyMDIyLTAxLTA0VDE0OjU0OjQ4KzAwOjAwwu0cVAAAAABJRU5ErkJggg== X-Now-Playing: Laura Jean's _Our Swan Song_: "The Hunter's Ode" In-Reply-To: <7BD42724-519F-406C-ABB2-CC50E70CD837@gmail.com> (Yuan Fu's message of "Mon, 3 Jan 2022 17:50:55 -0800") X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a01:4f9:2b:f0f::2 (failed) Received-SPF: pass client-ip=2a01:4f9:2b:f0f::2; envelope-from=larsi@gnus.org; helo=quimby.gnus.org X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:284157 Archived-At: Yuan Fu writes: > Custom cannot save some of the results produced by the wizard, for > example, key bindings and Unicode fonts. And I don=E2=80=99t know if > package-selected-packages is enough for packages. Here is an example > for the generated configuration: > > ;; Load modus-operandi theme > (load-theme 'modus-operandi) > > ;; Set bindings for copy/cut/paste. > (global-set-key > (kbd "s-c") > #'kill-ring-save) By the way, if you're targeting Emacs 29 for this, you can use `pp-emacs-lisp-code' to get more readable results, which would be a priority if we want to move to a more code-based format for wizards and customisations. (And you can use `keymap-global-set'.) > (require 'package) And that's not necessary, I think? Anyway, I'm in favour of setup wizards... but I don't think there should be only one. I think we should invite people to submit setup wizards (like we do face themes), and then Emacs should list these (with an explanation of what the use case for each wizard/configuration is). I also think it's high time that we default to not having the Customize stuff in the init file, but put it in a different file. And if we do that, I think we should discuss whether to change the format. I think it'd make sense to move to a more code-based format for the file. Instead of (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(foo-var 'bar) '(zot-thing '("/tmp"))) which is doesn't teach the user anything about anything, and is unnecessarily hard to edit by hand, we could have: ;; `foo-var' controls ow fooification happens. (setopt foo-var 'bar) ;; `zot-thing' is the directory where the Zot package stores stuff. (setopt zoo-thing '("/tmp/")) I.e., have the first line from the doc string in the file, and use setopt (an alias for `customize-set-variable'). Users would be able to read this file, and understand what it does, and edit it by hand if they want to. --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no