From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id SCaWMmhZ+l7wOwAA0tVLHw (envelope-from ) for ; Mon, 29 Jun 2020 21:13:12 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id iPp7LmhZ+l4wPgAAB5/wlQ (envelope-from ) for ; Mon, 29 Jun 2020 21:13:12 +0000 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 DBB3E940222 for ; Mon, 29 Jun 2020 21:13:11 +0000 (UTC) Received: from localhost ([::1]:39418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jq15R-0005vt-Ji for larch@yhetil.org; Mon, 29 Jun 2020 17:13:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51108) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jq15A-0005uK-Ua for help-guix@gnu.org; Mon, 29 Jun 2020 17:12:54 -0400 Received: from mout01.posteo.de ([185.67.36.65]:56852) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jq155-0002Oz-8Y for help-guix@gnu.org; Mon, 29 Jun 2020 17:12:52 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id E428816005C for ; Mon, 29 Jun 2020 23:12:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1593465164; bh=kndp/GlctfgJ60NZghGMHgsz/FaQseiiOwGm8wIwN60=; h=Subject:To:Cc:From:Date:From; b=PzRMn/i7oTsyNV3axT2T+n+KRCjOCdrsL6hjYR3Yr6SyCh0uJyz/kD6EQyRb+30ye 1TwEaCDwnalQm0J2sBudGIRJVAgyj70FzFbbRaeTBPR49s+tUZsNTCSzsnlqcUcuhq hSmEP9YWtNtTWBndwfvyVx6NCShr2KDDGbmAjiYTGHVBkmJC2qbMK4bcoSMHdW6gPd 9mLhgQtUMJHUGZ2ouGY8DMnPxNEDMLyVaCdSXpMoqr418nZDxgiPvNpSGY3z2ynOYh Bae8I9TdbvKvTdwHMw5HpHB8msT7ztqAQIGZaJsDUAaItF6a7x7I08BkvbIZL0fnm3 xKgTr5CS1nfLQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 49wgDr1yJBz9rxR; Mon, 29 Jun 2020 23:12:44 +0200 (CEST) Subject: Re: Erlang + Emacs profile To: zimoun References: <3801410f-667e-9cac-74f3-d56a519adcc2@posteo.de> <871rm4mcm1.fsf@gmail.com> <8211be1b-21d0-36bb-c89d-a92581af594a@posteo.de> <86sgeeb6is.fsf@gmail.com> <86h7utbnrq.fsf@gmail.com> From: Zelphir Kaltstahl Message-ID: Date: Mon, 29 Jun 2020 23:12:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Icedove/68.8.0 MIME-Version: 1.0 In-Reply-To: <86h7utbnrq.fsf@gmail.com> Content-Language: en-US Received-SPF: pass client-ip=185.67.36.65; envelope-from=zelphirkaltstahl@posteo.de; helo=mout01.posteo.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/29 16:37:54 X-ACL-Warn: Detected OS = Linux 3.11 and newer 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (body hash did not verify) header.d=posteo.de header.s=2017 header.b=PzRMn/i7; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.de (policy=none); spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: 0.09 X-TUID: NsGzyJ6L++g2 Hi Simon! On 29.06.20 22:49, zimoun wrote: > Dear, > > On Mon, 29 Jun 2020 at 21:37, Zelphir Kaltstahl wrote: >>> On Thu, 25 Jun 2020 at 21:25, Zelphir Kaltstahl wrote: >>> >>>> * It requires keeping multiple Emacs on my system. How will they >>>> interact with the same ~/.emacs.d/.init.el? >>> Emacs reads init.el when it starts so yes all Emacs will interact with >>> this file if you do not specify explicitly to not do it. Well, if you >>> use 'with-eval-after-load' in your Emacs configuration files, it should >>> not be a problem. Otherwise give a look at "emacs-guix" or try "emacs -q >>> -l /path/to/your/specific/config.el", as Maxim pointed. >> OK, so basically the way would then be to have 2 Emacs, but always start >> one of them with with the `-l ` argument, so that it makes use of >> another config file. > I am not sure to understand what you want. Could you describe what is > your desired workflow to hack Erlang? I'm only trying to understand how it would work with 2 Emacs, one in the main profile and one in another profile, which can be created from manifest. What I would like to achieve is, that I can do some literate programming in org-mode, while following along an online course about Erlang. In the past I had some pretty good experience with that approach to understanding some code and making sure I also write down what I understand, so that later on, I can go back and read again. I am not asking, whether this is a good or typical approach to any Erlang development. >> OK nice! I'll try it for a package! I noticed, that there are only 3 >> Emacs Org-Babel packages available (or visible) >> at: https://guix.gnu.org/packages/E/page/9/. I'l try with some of >> those > First, in case you do not know this web interface for searching > packages: > > https://hpc.guix.info/browse Indeed I did not know that one yet and always clicked through the pages, estimating, how many pages ahead I would need to go, to approximately find a package. :D > Second, I am not following closely Org Babel extensions but what > languages appear to you missing? I was thinking, that `ob-python` was missing, because I only found `emacs-ob-ipython`, but apparently `ob-python` does not exist and is instead built in? Because it works without me installing any `ob-python` Emacs package. Same seems to be true for `ob-scheme`. Only needed to install `geiser` I think. For now it seems nothing is missing. >> Also the edit thing `guix edit emacs-ob-erlang` sounds interesting. > It depends if you use Guix System or Guix as package manager solely. > For the latter, the 'edit' is read-only. > >> I just did the edit thing and I am not sure how to then "upload" a >> package. But I will read the docs a little and will probably all clear >> up. > What do you mean by "upload"? > If you mean contribute, you might be interested by this section of the > manual: > > https://guix.gnu.org/manual/devel/en/guix.html#Contributing > > > >> So if I understand this correctly, there are different channels for >> different types of packages, for example for Rust packages we have >> `gnu/packages/crates-io.scm` and for Emacs packages we have >> `gnu/packages/emacs-xyz.scm`. > Channel is not the right term, in Guix parlance. To be clear, channel > means a collection of packages living in files. The previous different > types of packages are all in the same channel, i.e., the default > channel. > > https://guix.gnu.org/manual/devel/en/guix.html#Channels > > For channels examples, you can give a look at: > > https://gitlab.inria.fr/guix-hpc/guix-hpc > ahttps://gitlab.inria.fr/guix-hpc/guix-past > > >> The command `guix describe -f channels` does not work for me: >> >> ~~~~ >> xiaolong@xlx200:~$ guix describe -f channels >> guix describe: error: failed to determine origin >> hint: Perhaps this `guix' command was not obtained with `guix pull'? Its version string is >> 36da62f1b9c78a2729658143a7df1845cd532afa. >> ~~~~ > How did you install Guix? Have you run "guix pull" before trying "guix > describe"? I installed it on Trisquel 8 using the recommended install script. I did `guix pull` just like the error hinted, but still got the error. Now, a few terminals closed and opened later, it seems to work and give some output. ~~~~ (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "6ebf300959a58fd1eda875205c75d21137862285"))) ~~~~ I think that is the normal intended output. >> I did another `guix pull` and `guix package -u` and this is after a >> fresh Guix package manager install and and installing the following >> packages: >> >> ~~~~ >> xiaolong@xlx200:~$ sudo -i guix package -I > Note that once you have configured your system (if you use Guix System), > you can run "guix pull" as a regular user and install package as regular > user, independently of what your system-wide is. Yep, sorry for that copy&paste error in my e-mail! The longer output was actually the output of the non-root profile already. >> The other command to show the count of packages also does not work for me: >> >> ~~~~ >> xiaolong@xlx200:/$ sudo du -sh gnu/packages/*.scm | sort -nr | head -n5 >> du: cannot access 'gnu/packages/*.scm': No such file or directory >> ~~~~ > You need to be in the Guix repo, i.e., you need to git clone > https://git.savannah.gnu.org/git/guix.git and the subfolder > gnu/packages/ contains all the packages stored by thematic. > > >> Do I need to create channels, like a custom way of structuring packages >> for myself, before running these commands? > To test and install your own packages, you have 3 choices: > > 1. ./pre-inst-env > 2. local channel > 3. --load-path > > The point #1 means you use the Contribution section, build Guix from > source, then add your package to the file gnu/packages/emacs-xyz.scm (of > the Git clone) and then run (from the Git cloned repo): > > ./pre-inst-env guix install emacs-foo > > The point #2 means you use a local Git repo containing your definitions > of packages. You have the channels.scm file: > > --8<---------------cut here---------------start------------->8--- > (cons* > (channel > (name 'my-stuff) > (url "file:////path/to/my/stuff.git") > (branch "master")) > %default-channels) > --8<---------------cut here---------------end--------------->8--- > > then "guix pull -C path/to/channels.scm" and you should be able to > install your package emacs-foo with "guix install emacs-foo". Note that > the Git repo can be also https:// or other protocols. > > The point #3 mean you use a local folder containing your definitions as > for point #2. Then you simply run: > > guix install -L path/to/your/folder/containing/stuff emacs-foo > > > Hope that helps, > simon Thanks Simon, it helps! I will need to read more about various terms in the Guix universe in its docs. I've not read that much yet and that is, why some terms and concepts are unclear to me. Regards, Zelphir -- repositories: https://notabug.org/ZelphirKaltstahl