all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Multiple versions
@ 2015-12-26 23:02 Dmitry Bogatov
  2015-12-27  5:26 ` Pjotr Prins
  2015-12-27 14:11 ` Alex Kost
  0 siblings, 2 replies; 16+ 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] 16+ messages in thread
* Emacs load path (was: Re: Multiple versions)
@ 2015-12-27 22:16 Federico Beffa
  0 siblings, 0 replies; 16+ 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] 16+ messages in thread

end of thread, other threads:[~2015-12-29 15:21 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-26 23:02 Multiple versions Dmitry Bogatov
2015-12-27  5:26 ` Pjotr Prins
2015-12-27  9:20   ` Dmitry Bogatov
2015-12-27  9:48     ` Andreas Enge
2015-12-27 10:41       ` Dmitry Bogatov
2015-12-27 12:28         ` Ricardo Wurmus
2015-12-27 12:41     ` Pjotr Prins
2015-12-27 14:40       ` Dmitry Bogatov
2015-12-27 15:41         ` Ricardo Wurmus
2015-12-27 16:41           ` Dmitry Bogatov
2015-12-27 15:58         ` Pjotr Prins
2015-12-29 15:21     ` Ludovic Courtès
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
  -- strict thread matches above, loose matches on Subject: below --
2015-12-27 22:16 Emacs load path (was: Re: Multiple versions) Federico Beffa

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.