unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs load path (was: Re: Multiple versions)
@ 2015-12-27 22:16 Federico Beffa
  2015-12-28 22:15 ` Emacs load path Alex Kost
  2015-12-30 16:29 ` Ludovic Courtès
  0 siblings, 2 replies; 24+ messages in thread
From: Federico Beffa @ 2015-12-27 22:16 UTC (permalink / raw)
  To: KAction; +Cc: Guix-devel, Alex Kost

Alex Kost <alezost@gmail.com> writes:

> Dmitry Bogatov (2015-12-27 19:47 +0300) wrote:
>
>> * Alex Kost <alezost@gmail.com> [2015-12-27 17:11:20+0300]
>>> Dmitry Bogatov (2015-12-27 02:02 +0300) wrote:
>>>
>>> >   * By default, ~/.guix-profile/share/emacs/site-lisp/guix.d is not in
>>> >     load-path. `emacs-no-x` exports no variables. So, if I install
>>> >     some emacs library, like `emacs-f`, evaluating (require 'f) in emacs
>>> >     fails. It is... unexpected. Is it intended behaviour?
>>>
>>> Yes, Federico Beffa (the author of emacs-build-system) explained it here:
>>> <http://lists.gnu.org/archive/html/guix-devel/2015-06/msg00398.html>
>>>
>>> You either have to add guix.d directory manually or you can configure
>>> emacs interface that comes with Guix, which means (require 'guix-init)
>>> more or less.  See (info "(guix) Emacs Initial Setup") for details.
>>
>> Read this email. It explain existance of guix.d subdirectory, but why
>> can't we force emacs to execute following pseudo-code at start:
>>
>> (for dir in "${HOME}.guix-profile/share/emacs/site-lisp/guix.d"
>>   (push dir load-path))
>
> This is more or less what (require 'guix-init) does (among other
> things).  And it works out of the box on GuixSD.

If you install guix in the default prefix (/usr/local) you should find a
file called 'guix.el' in /usr/local/share/emacs/site-lisp/.  With that
you can include the following commands in your .emacs file and you
should be all set:

1. (setq load-path (append '("/usr/local/share/emacs/site-lisp/") load-path))
2. (require 'guix-init nil t)

On some host distros step 1. may not even be needed.

As Alex says, 'guix.el' does much more than adding the various
directories needed for proper operation of Guix's "emacs-..." packages. Take a
look at the manual.

Regards,
Fede

^ permalink raw reply	[flat|nested] 24+ messages in thread
* Multiple versions
@ 2015-12-26 23:02 Dmitry Bogatov
  2015-12-27 14:11 ` Alex Kost
  0 siblings, 1 reply; 24+ messages in thread
From: Dmitry Bogatov @ 2015-12-26 23:02 UTC (permalink / raw)
  To: guix-devel

Hello!

In my attempt to understand Guix, get used to it and use
it's advantages, I got following considerations that I would like
to discuss with more experienced users:

  * Guix provides first-class support for multiple versions of packages.
    By first class I mean, that you don't need to do anything special
    to get this support, unlike Gentoo, which for example, supports
    multiple versions of Python and Ruby, but not Guile or GHC.

    But reading 'gnu/packages/haskell.scm' I see same, single-versioned
    packaging in style of Debian. Why? If we would provide package for
    every version of library 'foo' and every version of 'ghc', Guix
    would replace `haskell-stack' tool, and, eventually became The Ring
    to rule stack,virtualenv,bundler,...

    Or am I missing the point, and libraries are packaged only as long
    they are needed for some program?

  * By default, ~/.guix-profile/share/emacs/site-lisp/guix.d is not in
    load-path. `emacs-no-x` exports no variables. So, if I install
    some emacs library, like `emacs-f`, evaluating (require 'f) in emacs
    fails. It is... unexpected. Is it intended behaviour?

-- 
Accept: text/plain, text/x-diff
Accept-Language: eo,en,ru
X-Keep-In-CC: yes
X-Web-Site: sinsekvu.github.io

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2016-01-06 16:57 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-27 22:16 Emacs load path (was: Re: Multiple versions) Federico Beffa
2015-12-28 22:15 ` Emacs load path Alex Kost
2015-12-29  0:30   ` Taylan Ulrich Bayırlı/Kammer
2015-12-30 12:16   ` Federico Beffa
2015-12-30 18:55     ` Alex Kost
2015-12-30 22:18       ` Federico Beffa
2015-12-31  9:02         ` Alex Kost
2015-12-31  9:27           ` Federico Beffa
2015-12-31 20:45             ` Alex Kost
2015-12-30 16:29 ` Ludovic Courtès
2015-12-30 16:55   ` Federico Beffa
2016-01-01 14:25     ` Federico Beffa
2016-01-01 15:22       ` Ludovic Courtès
2016-01-01 16:28         ` Alex Kost
2016-01-01 16:53           ` Federico Beffa
2016-01-02 14:13             ` Alex Kost
2016-01-04 10:18               ` Federico Beffa
2016-01-05  9:40                 ` Alex Kost
2016-01-05 13:21                   ` Federico Beffa
2016-01-06 16:56                     ` Alex Kost
2016-01-01 16:28       ` Alex Kost
2015-12-31 22:47   ` Alex Kost
2016-01-01 15:24     ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2015-12-26 23:02 Multiple versions Dmitry Bogatov
2015-12-27 14:11 ` Alex Kost
2015-12-27 16:47   ` Emacs load path (was: Re: Multiple versions) Dmitry Bogatov
2015-12-27 21:42     ` Emacs load path Alex Kost

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).