unofficial mirror of 
 help / color / Atom feed
From: zimoun <>
To: Zelphir Kaltstahl <>,
	Maxim Cournoyer <>
Subject: Re: Erlang + Emacs profile
Date: Mon, 29 Jun 2020 22:49:45 +0200
Message-ID: <> (raw)
In-Reply-To: <>


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 <path>` 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?

> OK nice! I'll try it for a package! I noticed, that there are only 3
> Emacs Org-Babel packages available (or visible)
> at: I'l try with some of
> those

First, in case you do not know this web interface for searching

Second, I am not following closely Org Babel extensions but what
languages appear to you 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

> 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

For channels examples, you can give a look at:

> 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

> 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.

> 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 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---
  (name 'my-stuff)
  (url "file:////path/to/my/stuff.git")
  (branch "master"))
--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,

  parent reply index

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23 22:49 Zelphir Kaltstahl
2020-06-24 20:29 ` Maxim Cournoyer
2020-06-25 19:25   ` Zelphir Kaltstahl
2020-06-28  4:41     ` Maxim Cournoyer
2020-06-29  8:50     ` zimoun
2020-06-29 19:37       ` Zelphir Kaltstahl
2020-06-29 20:24         ` Ricardo Wurmus
2020-06-29 20:37           ` Zelphir Kaltstahl
2020-06-29 20:49         ` zimoun [this message]
2020-06-29 21:12           ` Zelphir Kaltstahl
2020-06-29 22:08             ` zimoun
2020-06-29 20:26   ` Zelphir Kaltstahl
2020-06-30 18:34   ` Zelphir Kaltstahl
2020-06-30 18:41   ` Zelphir Kaltstahl
2020-07-06  3:50     ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

  List information:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

unofficial mirror of 

Archives are clonable:
	git clone --mirror guix-user/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-user guix-user/ \
	public-inbox-index guix-user

Example config snippet for mirrors

Newsgroups are available over NNTP:

AGPL code for this site: git clone