From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.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 qMFJBhvlsWNEyAAAbAwnHQ (envelope-from ) for ; Sun, 01 Jan 2023 20:55:07 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id EKKJBRvlsWMkRwEAG6o9tA (envelope-from ) for ; Sun, 01 Jan 2023 20:55:07 +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 B73E52D72B for ; Sun, 1 Jan 2023 20:55:06 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pC4Ph-0005NH-Lz; Sun, 01 Jan 2023 14:54:33 -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 1pC4Pd-0005Mp-C0 for guix-devel@gnu.org; Sun, 01 Jan 2023 14:54:30 -0500 Received: from m12.mail.163.com ([220.181.12.214]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pC4PZ-0002oY-UF for guix-devel@gnu.org; Sun, 01 Jan 2023 14:54:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-ID:MIME-Version: Content-Type; bh=/Hqbe01plYGKInvPko/c8M5frriTdFyLsSKPS6NTaP0=; b=KH8qyb+0MaJqPNnQQEXJdzO5oxdT8O2IRmUeNCWxbVZHX4clrkiuDTZMuhxfAs 3kZCqE7p/GWXXbSfCDih9aYn/l3qeIcjprlJmII1o5tafW7GuZ19YHXzMWSLUWXK urUfQ14paDbvtMgMOpiu8RXQmtRZv/C2xxGNb+3t5guH0= Received: from Guix (unknown [49.88.145.87]) by zwqz-smtp-mta-g4-0 (Coremail) with SMTP id _____wCnlEmx5LFjWUyOAA--.1999S2; Mon, 02 Jan 2023 03:53:22 +0800 (CST) From: Feng Shu To: Joshua Branson Cc: guix-devel@gnu.org Subject: Re: Suggest improve emacs setting in 'The Perfect Setup' In-Reply-To: <87mt73jh85.fsf@dismail.de> (Joshua Branson's message of "Sat, 31 Dec 2022 18:17:30 -0500") References: <87k02990ee.fsf@163.com> <87mt73jh85.fsf@dismail.de> Date: Mon, 02 Jan 2023 03:53:21 +0800 Message-ID: <87tu1auj4e.fsf@163.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-CM-TRANSID: _____wCnlEmx5LFjWUyOAA--.1999S2 X-Coremail-Antispam: 1Uf129KBjvJXoWxWF17Xr4DJw1DuF1DArW3Awb_yoW5WFyxpa yagF13Kr1DtryFywsYy34UWryFq34a93Wakr1rWw4xWF4DCr1jvryqkr93CFZ0yryUKr17 Xr4rJ3s8Cr4UZFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x0zR573PUUUUU= X-Originating-IP: [49.88.145.87] X-CM-SenderInfo: 5wxpt2lkx6il2tof0z/xtbB3wfp1GBHNicEwgAAsV Received-SPF: pass client-ip=220.181.12.214; envelope-from=tumashu@163.com; helo=m12.mail.163.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, 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=1672602906; a=rsa-sha256; cv=none; b=HM8smhDdE3BALU4bHN7MkvLvojyyeCf21CPZz8udTOA1CmXoOZ/XtOknEDSQZp0+6+Oww1 Z7Jn8axqs56e0Xc6CEwchA6m3O/CO3jhWIjTghLlmJ/cx2F7x73rYjyA4hfz9FJlOEKmKL 8VmZfsevxxg9P4ZbFb77oYoA11ZBz3d8X3oh6fpNYYfrxxjjrZ7gPLsz6xhOtiWSbU0BUE QekcF9E47ujxMlN1AW+T4IF5LOqR64Yg7CKOQW5MY4q4Hwie2s2QmbHACe9Zn5wZbkZnke N1ize4A9l3t4BybWJUBJK6sWHmGi1BCZicAn3k3tdtl6wkOw8c64bl8NFo2SSw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=163.com header.s=s110527 header.b=KH8qyb+0; 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=163.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1672602906; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=/Hqbe01plYGKInvPko/c8M5frriTdFyLsSKPS6NTaP0=; b=EgLZ2ne81JM9TtV75CkZrgGYu7FaBauLXccPtSkIoqU7VabaSFyzp92vZnXvZSq4/hYpbw dxFEG6d1MFEwltn6AbnzqvL9xYHagK2kqJO8XZxt25sdqYVrgH1p8njxLGNZAumfjWOLG9 3EzvP4wxXGnyJsJGzYPqUwv2LnGOdnxYIKf5nq79jWREqcS6Rj/7Jib37dO8M5YKAbEY7W NhZFDrBgvFPoY2L0ZwBWGb5hmtUxQgTlcQowaBcmtFxXg0k+vPRAga5/PDkdDSO/X0mNG6 AVrfjDB1A18l2fO+s3CPHBW/r/y6aG16YS6wkVk4JlhZIBZLAXfJvjVrcFpLeA== X-Spam-Score: -5.92 X-Migadu-Queue-Id: B73E52D72B Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=163.com header.s=s110527 header.b=KH8qyb+0; 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=163.com X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: -5.92 X-TUID: aqaFcK36x8b3 Joshua Branson writes: > Feng Shu writes: > >> Hello: >> >> In 'The Perfect Setup', we suggest user to use the below emacs config: >> >> ``` >> ;; Assuming the Guix checkout is in ~/src/guix. >> (with-eval-after-load 'geiser-guile >> (add-to-list 'geiser-guile-load-path "~/src/guix")) >> ``` >> >> This config need user to deal with %load-path of guix, which seem to be >> a hard job for new guile user for many dirs of guix and other guix channels, >> why not suggest new user to use the below config: >> > > How about you go ahead and make a patch on guix-patches@gnu.org, that > way this issue is not forgotten? Maybe we can add an example emacs config for develop guix in etc directory. > >> >> ``` >> (setq geiser-guile-binary (list "guix" "repl")) >> ``` >> >> >> or: >> >> ``` >> (setq geiser-guile-binary (list "guix" "repl" "-L" "/path/to/user-own-config-dir")) >> ``` >> >> when user just want to develop his own guix config, just run: >> >> ``` >> emacs >> ``` >> >> guix and other channels installed by 'guix pull' will be used properly. >> >> when user want to develop in guix.git, he just run emacs like the below: >> >> ``` >> ./pre-inst-env emacs >> ``` >> >> The below is my guix emacs config, seem to work: >> >> -------------------------------------------------------------------------------- >> >> (require 'geiser) >> (require 'geiser-guile) >> (require 'guix) >> (require 'magit) >> >> ;; ** My own guix config. >> (defvar eh-geeguix-dir (expand-file-name "~/geeguix")) >> >> ;; ** Let geiser-guile use 'guix repl' >> (setq geiser-guile-binary (list "guix" "repl" "-L" eh-geeguix-dir)) >> >> ;; ** guix-devel-mode >> (add-hook 'scheme-mode-hook #'guix-devel-mode) >> >> ;; ** 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)))) >> >> ;; ** 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))))) >> >> ;; ** tempel >> (when (eh-guix-dir) >> (let* ((dir (eh-guix-dir)) >> (path (expand-file-name "etc/snippets/tempel/*" dir))) >> (add-to-list 'tempel-path path))) > > I would also add: > > (add-hook! 'scheme-mode-hook #'display-fill-column-indicator-mode) > > This creates a vertical line that reminds you that your code should fit > inside 80 columns. > > Possible also mention how to set up page break lines: > > https://github.com/purcell/page-break-lines --