Re: Build image for USB with custom kernel and packages

2018-03-23 Thread Leo Famulari
On Fri, Mar 23, 2018 at 05:47:46PM +0530, Pierre Neidhardt wrote:
> 
> Damn!  Been stuck on this issue for days and it's right after sending
> the last e-mail that I realized that install.scm was not inside
> GUIX_PACKAGE_PATH...
> 
> Problem solved.

I'm glad you figured it out :)


signature.asc
Description: PGP signature


Re: Emacs in multiple profiles

2018-03-23 Thread Alex Kost
Konrad Hinsen (2018-03-23 08:57 +0100) wrote:

> Hi Alex,
>
> Alex Kost  writes:
>
>>> Since nothing runs before site-start.el, I don't see how I could
>>> override this definition. My only choice is to use the -Q option on the
>>> Emacs command line to bypass site-start.el altogether. But then I don't
>>> get the packages from my new profile either.
>>
>> It's not the only choice.  You can also use "--no-site-file".  It is
>> also mentioned at:
>>
>> https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html#Emacs-Packages
>
> Right, but that's not very different from -Q:

It is completely different: with "-Q", your .emacs file is not loaded at
all, and with "--no-site-file", only the emacs packages from the guix
profile are not autoloaded.  Isn't that what you wanted?

> I get no start-site at all
> and thus none of the Guix-installed packages. What I am looking for is a
> way to get the packages that I put into the profile from which I started
> Emacs.
>
> I suspect that this could only be done via some environment variable,
> analogous $PATH and others. Emacs doesn't consult any such variable, and
> it seems that Guix didn't introduce one either. At least I didn't find
> any.

If you want to autoload emacs packages from a guix environment (or
similarly from any non-standard guix profile), you can do it like this:

(let ((guix-env (getenv "GUIX_ENVIRONMENT")))
  (when (and guix-env
 (require 'guix-emacs nil t))
(guix-emacs-autoload-packages guix-env)))

> Is this a decision made for a good reason, or just something "to be
> done"?

Sorry, I don't understand your use case (I think I just didn't read your
message carefully enough), but if you think there is something to be
done, please tell.

-- 
Alex



Re: Installation: Load non-free wifi firmware (iwlwifi)

2018-03-23 Thread Pierre Neidhardt

Clément Lassieur  writes:

> Guix allows one to customize their packages through inheritance.  You
> could create a custom linux package that inherits Guix's linux-libre,
> with, say a differente source.  When linux-libre is updated, my-linux
> would be updated as well, since it inherits linux-libre.  Thus, you
> would have no maintainance to do.
>
> (define-public my-linux
>   (package
> (inherit linux-libre)
> (name "my-linux")
> (source ...)))
>
> This custom package's definition needs to be within GUIX_PACKAGE_PATH.
> See
> https://www.gnu.org/software/guix/manual/html_node/Package-Modules.html#Package-Modules
> for more information.

Thanks for the tip, it seems to be working perfectly so far!

-- 
Pierre Neidhardt

No matter what other nations may say about the United States,
immigration is still the sincerest form of flattery.


signature.asc
Description: PGP signature


Re: Build image for USB with custom kernel and packages

2018-03-23 Thread Pierre Neidhardt

Damn!  Been stuck on this issue for days and it's right after sending
the last e-mail that I realized that install.scm was not inside
GUIX_PACKAGE_PATH...

Problem solved.

-- 
Pierre Neidhardt

She always believed in the old adage -- leave them while you're looking good.
-- Anita Loos, "Gentlemen Prefer Blondes"


signature.asc
Description: PGP signature


Build image for USB with custom kernel and packages

2018-03-23 Thread Pierre Neidhardt

Starting from /gnu/system/install.scm, I can run

> guix system disk-image install.scm

and it works.

Now if I add a custom kernel and a custom package to install.scm:

(define-public my-linux
  (package
(inherit linux-libre)
(name "my-linux")
(source ...

(define-public 
  (package
(name "foo")
(version version)
(source ...)
(build-system trivial-build-system)
(arguments
 `(#:modules ((guix build utils))
   #:builder ...))
(home-page "")
(synopsis "Blah blah")
(description "More blah blah")
(license #f

And in the `operating-system` form:

(operating-system
(kernel my-linux)
;; Rest is untouched.

I have to use more modules for this to work:

  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system trivial)

This fails to run:

> guix system disk-image install.scm
guile: warning: failed to install locale
warning: failed to install locale: Invalid argument
guix system: error: failed to load 'install.scm': No such file or 
directory

Am I missing something or is it a bug?

-- 
Pierre Neidhardt

Chemist who falls in acid is absorbed in work.


signature.asc
Description: PGP signature


Re: Emacs in multiple profiles

2018-03-23 Thread Konrad Hinsen
Hi Alex,

Alex Kost  writes:

>> Since nothing runs before site-start.el, I don't see how I could
>> override this definition. My only choice is to use the -Q option on the
>> Emacs command line to bypass site-start.el altogether. But then I don't
>> get the packages from my new profile either.
>
> It's not the only choice.  You can also use "--no-site-file".  It is
> also mentioned at:
>
> https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html#Emacs-Packages

Right, but that's not very different from -Q: I get no start-site at all
and thus none of the Guix-installed packages. What I am looking for is a
way to get the packages that I put into the profile from which I started
Emacs.

I suspect that this could only be done via some environment variable,
analogous $PATH and others. Emacs doesn't consult any such variable, and
it seems that Guix didn't introduce one either. At least I didn't find
any.

Is this a decision made for a good reason, or just something "to be
done"? I could image guix-emacs.el consult a Guix-specific "Emacs path"
for constructing the internal load-path.

Konrad.