From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 0I/WHqzusWN5SAAAbAwnHQ (envelope-from ) for ; Sun, 01 Jan 2023 21:35:56 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id OAD5HqzusWNPdQAA9RJhRA (envelope-from ) for ; Sun, 01 Jan 2023 21:35:56 +0100 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 430772E3CD for ; Sun, 1 Jan 2023 21:35:56 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pC534-0004G2-9e; Sun, 01 Jan 2023 15:35:14 -0500 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 1pC533-0004Fk-2E for guix-devel@gnu.org; Sun, 01 Jan 2023 15:35:13 -0500 Received: from mx2.dismail.de ([159.69.191.136]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pC530-0005K7-LV for guix-devel@gnu.org; Sun, 01 Jan 2023 15:35:12 -0500 Received: from mx2.dismail.de (localhost [127.0.0.1]) by mx2.dismail.de (OpenSMTPD) with ESMTP id 46bc3ceb; Sun, 1 Jan 2023 21:35:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=dismail.de; h= mime-version:date:content-type:content-transfer-encoding:from :message-id:subject:to:cc:in-reply-to:references; s=20190914; bh=22sR9s64NUz0v+j6zxn1hWKtraYphbVkL3PfSq1psck=; b=HIidmY+i5dez l5KnhDk3dHnaxbYcHJfEAfoMH3gdJtQIw+IEC7k5gLrm2P7E6uOwp2OLqSRt0lCQ YeSidOlKh7EjXgmgQZuEVSrQ9HEKcObC8SDzBEXMYpyIUS9YXu+MoN7WDdjdsHNG FTqmGnfz3BYr2lWjFCt245nI48EieeFjXFD/x2QPbYLKckvebENhizLRYwCUiDrH vJa5SVl8pFFUto7trctTDR7Dy6+fav5nfPM5nSGRRFs18PvfK3RxVRhCjtMkOg3i odnCcr+x5fVA98aGUjj3RHZHxuiEd9hMYY9SX8byLBv4uGXwdCRTW4o1o63xvIqj NojxTfjT3A== Received: from smtp1.dismail.de ( [10.240.26.11]) by mx2.dismail.de (OpenSMTPD) with ESMTP id 71dc857c; Sun, 1 Jan 2023 21:35:07 +0100 (CET) Received: from smtp1.dismail.de (localhost [127.0.0.1]) by smtp1.dismail.de (OpenSMTPD) with ESMTP id cac176e2; Sun, 1 Jan 2023 21:35:07 +0100 (CET) Received: by dismail.de (OpenSMTPD) with ESMTPSA id c6e3fbd6 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 1 Jan 2023 21:35:06 +0100 (CET) MIME-Version: 1.0 Date: Sun, 01 Jan 2023 20:35:06 +0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: RainLoop/1.16.0a From: jbranso@dismail.de Message-ID: <91c00763e857201b1e080264a1b9e7cc@dismail.de> Subject: Re: Suggest improve emacs setting in 'The Perfect Setup' To: "Feng Shu" Cc: guix-devel@gnu.org In-Reply-To: <87tu1auj4e.fsf@163.com> References: <87tu1auj4e.fsf@163.com> <87k02990ee.fsf@163.com> <87mt73jh85.fsf@dismail.de> Received-SPF: pass client-ip=159.69.191.136; envelope-from=jbranso@dismail.de; helo=mx2.dismail.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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_MED=-2.3, 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-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1672605356; a=rsa-sha256; cv=none; b=FOYl7kOLU9q+oo77zmTCy5aska5t5hZSqvChk8LL6duV3Vyl4vziV9tasqovZaNIo8xPvz h4e0cFSrygH9uvrPj3qQQwYiBAezjkn68f1Tk81JkiV7h5hlxs8SZQFwL2RAs6GMwHRZsD 38RKwqZDP/u5fIG/+LWQcJG3tjCfT1hPzlDfrMDr/AvxumW1U8LwzKGYS04Tj4W8Jin3x2 RxXdUQoMe/yd8WTsrgqDT91diKp06M+2X2acKOnjjf0Xqhc4+/qXheaXZRXuKe6e0g6qjl Dhgnq6a873523SUtsUd2K4EModvBJcIlvB3vON2P4v2ZDnTLkU2TL64dc4ra+A== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=dismail.de header.s=20190914 header.b=HIidmY+i; 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=reject) header.from=dismail.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1672605356; 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=dXwIrcHWSKkhx5OloLrsPN6FwgggtILchZ54FDxjzCA=; b=TSBq/dzB+IIgOAZ4K1Rdim9i/xZbyodtqSqp5ZdKeQw+IvJeewoJiavTMdLd9CS8vI1dJj vvDfIK1Y0qUG/4cQidVc6J5+lLgBbnuQyavkDHn6H4WcD5zc/vOhAjFOwxNjjUWct7GwBT fxB5iDjMSw42m0GPM6tfz4wOIVO1U5v4hAVq9T3kkgcVQbDtxV0+EyJYYQTT7V0HeusS67 c65LvfhFAJ0Rhj5sZzqCecj3+nNwVPqG2tRo59eJSn8QHnwKnD22yNT26RBgET6aV3pw2n KpUF8Oo69V34x08nRrQGiTw/Dn1IfTPCXOv7p2qorM9PD2+zuYEd9dXA37FFvg== X-Spam-Score: -7.82 X-Migadu-Queue-Id: 430772E3CD Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=dismail.de header.s=20190914 header.b=HIidmY+i; 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=reject) header.from=dismail.de X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -7.82 X-TUID: Cqbb/R6MYg1r January 1, 2023 2:54 PM, "Feng Shu" wrote: > Joshua Branson writes: >=20 >>=20Feng Shu writes: >>=20 >>>=20Hello: >>>=20 >>>=20In 'The Perfect Setup', we suggest user to use the below emacs conf= ig: >>>=20 >>>=20``` >>> ;; Assuming the Guix checkout is in ~/src/guix. >>> (with-eval-after-load 'geiser-guile >>> (add-to-list 'geiser-guile-load-path "~/src/guix")) >>> ``` >>>=20 >>>=20This config need user to deal with %load-path of guix, which seem t= o be >>> a hard job for new guile user for many dirs of guix and other guix ch= annels, >>> why not suggest new user to use the below config: >>=20 >>=20How about you go ahead and make a patch on guix-patches@gnu.org, tha= t >> way this issue is not forgotten? >=20 >=20Maybe we can add an example emacs config for develop guix in etc dire= ctory. That's a good idea! I think there is/was a guix developer trying to writ= e an emacs configuration specifically to hack on guix... >=20 >>>=20``` >>> (setq geiser-guile-binary (list "guix" "repl")) >>> ``` >>>=20 >>>=20or: >>>=20 >>>=20``` >>> (setq geiser-guile-binary (list "guix" "repl" "-L" "/path/to/user-own= -config-dir")) >>> ``` >>>=20 >>>=20when user just want to develop his own guix config, just run: >>>=20 >>>=20``` >>> emacs >>> ``` >>>=20 >>>=20guix and other channels installed by 'guix pull' will be used prope= rly. >>>=20 >>>=20when user want to develop in guix.git, he just run emacs like the b= elow: >>>=20 >>>=20``` >>> ./pre-inst-env emacs >>> ``` >>>=20 >>>=20The below is my guix emacs config, seem to work: >>>=20 >>>=20-------------------------------------------------------------------= ------------- >>>=20 >>>=20(require 'geiser) >>> (require 'geiser-guile) >>> (require 'guix) >>> (require 'magit) >>>=20 >>>=20;; ** My own guix config. >>> (defvar eh-geeguix-dir (expand-file-name "~/geeguix")) >>>=20 >>>=20;; ** Let geiser-guile use 'guix repl' >>> (setq geiser-guile-binary (list "guix" "repl" "-L" eh-geeguix-dir)) >>>=20 >>>=20;; ** guix-devel-mode >>> (add-hook 'scheme-mode-hook #'guix-devel-mode) >>>=20 >>>=20;; ** Get guix dir installed by 'guix pull'. >>> (defun eh-guix-dir () >>> (file-name-as-directory >>> (cl-find-if >>> (lambda (dir) >>> (file-exists-p (expand-file-name "guix.scm" dir))) >>> (directory-files >>> (expand-file-name "~/.cache/guix/checkouts/") >>> t)))) >>>=20 >>>=20;; ** copyright-update >>> (when (eh-guix-dir) >>> (let* ((dir (eh-guix-dir)) >>> (file (expand-file-name "etc/copyright.el" dir))) >>> (when (file-exists-p file) >>> (load-file file) >>> ;; (add-hook 'after-save-hook 'copyright-update) >>> (setq copyright-names-regexp >>> (format "%s <%s>" user-full-name user-mail-address))))) >>>=20 >>>=20;; ** tempel >>> (when (eh-guix-dir) >>> (let* ((dir (eh-guix-dir)) >>> (path (expand-file-name "etc/snippets/tempel/*" dir))) >>> (add-to-list 'tempel-path path))) >>=20 >>=20I would also add: >>=20 >>=20(add-hook! 'scheme-mode-hook #'display-fill-column-indicator-mode) >>=20 >>=20This creates a vertical line that reminds you that your code should = fit >> inside 80 columns. >>=20 >>=20Possible also mention how to set up page break lines: >>=20 >>=20https://github.com/purcell/page-break-lines >=20 >=20--