[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Erlang + Emacs profile
From: |
zimoun |
Subject: |
Re: Erlang + Emacs profile |
Date: |
Mon, 29 Jun 2020 22:49:45 +0200 |
Dear,
On Mon, 29 Jun 2020 at 21:37, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
wrote:
>> On Thu, 25 Jun 2020 at 21:25, Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
>> 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: 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
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
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 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
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
- Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/23
- Re: Erlang + Emacs profile, Maxim Cournoyer, 2020/06/24
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/25
- Re: Erlang + Emacs profile, Maxim Cournoyer, 2020/06/28
- Re: Erlang + Emacs profile, zimoun, 2020/06/29
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
- Re: Erlang + Emacs profile, Ricardo Wurmus, 2020/06/29
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
- Re: Erlang + Emacs profile,
zimoun <=
- Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
- Re: Erlang + Emacs profile, zimoun, 2020/06/29
Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/29
Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/30
Re: Erlang + Emacs profile, Zelphir Kaltstahl, 2020/06/30