Re: [bug#38015] Emacs in multiple profiles

2019-11-17 Thread Maxim Cournoyer
Hello Chris,

Chris Marusich  writes:

[...]

I've skipped your previous questions, as I believe they were well
answered by Pierre (thank you, Pierre!).

>> Subject: [PATCH 2/3] build-system: emacs: Simplify the SET-EMACS-LOAD-PATH
>>  phase.
>>
>> +(define* (add-source-to-load-path #:key dummy #:allow-other-keys)
>> +  "Augment the EMACSLOADPATH environment variable with the source 
>> directory."
>>(let* ((source-directory (getcwd))
>> - (input-elisp-directories (input-directories->el-directories
>> -   (inputs->directories inputs)))
>> - (emacs-load-path-value
>> -  (string-join
>> -   (append input-elisp-directories (list source-directory))
>> -   ":" 'suffix)))
>> + (emacs-load-path-value (string-append (getenv "EMACSLOADPATH") ":"
>> +   source-directory)))
>>  (setenv "EMACSLOADPATH" emacs-load-path-value)
>> -(format #t "environment variable `EMACSLOADPATH' set to ~a\n"
>> -emacs-load-path-value)))
>> +(format #t "source directory ~s appended to the `EMACSLOADPATH' \
>> +environment variable\n" source-directory)))
>
> It looks like the change is as follows: previously, we added multiple
> directories, including the source-directory, to the load path; after
> this change, we append just the source-directory to the EMACSLOADPATH.
> Can you remind me why we don't need to add the other elisp directories
> to the EMACSLOADPATH, too?  It seems to work, so I'm probably just
> missing something obvious.

The magic is in the set-paths phase that is inherited from the
gnu-build-system.  It uses the search path specification now specified in
the Emacs package to set the EMACSLOADPATH environment variable itself.

When building Elisp packages, it is useful to add the current source
directory to that environment variable, so that 'require' directives are
able to find the package's own modules (say, when running its test
suite).

>> Subject: [PATCH 3/3] gnu: emacs: Adapt the autoloads auxiliary code to use
>>  EMACSLOADPATH.
>
> As far as I can tell, this looks good to me, too.
>
> Finally: do you anticipate that this will cause any user-visible or
> backwards-incompatible changes that we should mention in the Guix
> channel's news file (and in the Guix NEWS file)?

Thanks for the review!  I can't anticipate any user-visible changes
except the current (incorrect) behavior.

This change is now live on master, with commit
47b3b4c2aa49e21f4cc32c97ff7bbbd069bb849c.  Thanks for testing :-).

Maxim



Re: Volatile? argument seems to be ignored for system disk images

2019-11-17 Thread Maxim Cournoyer
Jelle Licht  writes:

> I am trying to dive into some of the code that goes into generating
> system disk images for guix, and I ran into the following:
>
> It seems that commit 932e1f92404d917a91af28737d6631ec45b56875 did more
> than what the commit log said:
>
>> vm: Make sure disk image initrds load 'usb-storage.ko'.
>>
>> Reported by David Thompson .
>>
>> * gnu/system/vm.scm (system-disk-image): Add usb-storage.ko to the
>>   initrd.
>
> This commit effectively made the `#:volatile?' kwarg to
> `system-disk-image' redundant. Should we remove `#:volatile?', or should
> it be passed along instead of #t?
>
> Or am I misunderstanding something subtle here, and is everything as it
> should be?

No, my understanding is the same as yours: it looks like a bug.

Fixed with commit 67ed544212.

Thank you!

Maxim



Emacs in server mode using a Shepherd user service (Was: Re: Emacs in multiple profiles)

2019-11-17 Thread Chris Marusich
Hi Maxim,

Maxim Cournoyer  writes:

> I typically start Emacs in server mode using a shepherd user service,
> so rarely restart Emacs.

If it isn't too much to ask, could you share the configuration you use
to accomplish this?  I'd like to do something similar, and I suspect
it's probably one of those things that is "easy to do" if you already
know exactly what to do, and rather time-consuming to figure out
otherwise.  Perhaps we could make another Cook Book section about it?

-- 
Chris


signature.asc
Description: PGP signature


Re: docker

2019-11-17 Thread Efraim Flashner
I'm not sure what nixos-option is, but everything should be documented
in the manual. For Guix System that'd be mostly here: 
http://guix.gnu.org/manual/devel/en/html_node/System-Configuration.html#System-Configuration

On Sun, Nov 17, 2019 at 12:13:41PM +0100, r...@tuta.io wrote:
> do you know where find all system options (like nixos-option in NixOS)?
> 
> Nov 16, 2019, 21:18 by efr...@flashner.co.il:
> 
> > On Thu, Nov 14, 2019 at 03:54:13PM +0100, r...@tuta.io wrote:
> >
> >> how to install docker, run dockerd and use these in guix?
> >>
> >
> > We have a docker service that runs dockerd
> > http://guix.gnu.org/manual/devel/en/html_node/Miscellaneous-Services.html#Miscellaneous-Services
> >
> > Other than that, you'll want the docker-cli package for the actual
> > 'docker' command.
> >
> > -- 
> > Efraim Flashner  אפרים פלשנר
> > GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> > Confidentiality cannot be guaranteed on emails sent or received unencrypted
> >
> 

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Tutorial: Running XFCE from Guix on a foreign distribution

2019-11-17 Thread Marius Bakke
Hello Guixers,

Here is an end-to-end tutorial for running Guix XFCE on CentOS 7:

https://guix.gnu.org/blog/2019/running-a-guix-xfce-desktop-on-centos-7/

It has only been tested on a special CentOS "appliance", but should be
easily adaptable to other systemd-based distributions.

Please share your experience trying it with other operating systems or
desktop environments for an eventual cookbook entry.

Enjoy!


signature.asc
Description: PGP signature


Re: Cuirass Web interface issue

2019-11-17 Thread Christopher Baines

Reza Alizadeh Majd  writes:

> We in PantherX team, has been setup an instance of Cuirass CI to build
> a series our of custom applications based on configurations provided
> in `maintenance` repository:
>
> https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/berlin.scm
> https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/nginx/berlin.scm
>
> but during recent updates, cuirass web interface is not working as
> properly as before, and evaluation details page returns with HTTP
> status code 500:
>
> https://build.pantherx.org/eval/152
>
> could anyone help us about this issue?

Hi Reza,

The first thing to check is the log file, which by default is probably
at /var/log/cuirass-web.log. Can you see anything in there that looks
like it could relate to the problem with the evaluation page?

Chris


signature.asc
Description: PGP signature


Re: Docker image not working

2019-11-17 Thread Stephen Scheck
> This is the command I invoked to create the image:
>
>guix system init --no-bootloader --skip-checks --system=x86_64-linux 
> guix-docker.scm /tmp/guix/docker-image
Err, paste mistake, actually this:

guix system docker-image --no-bootloader --skip-checks 
--system=x86_64-linux guix-docker.scm




Docker image not working

2019-11-17 Thread Stephen Scheck
Hello,

I'm trying to use the `guix system` command to create a Docker image as
documented here:


https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html#Invoking-guix-system

However, the created image does not work:

$ docker run -it system:0qjxd5ljsh316ki7wqkk2xz9b68lynh2
/run/current-system/profile/bin/bash --login
docker: Error response from daemon: OCI runtime create failed:
container_linux.go:348: starting container process caused "exec:
\"/run/current-system/profile/bin/bash\": stat
/run/current-system/profile/bin/bash: no such file or directory": unknown.

This is the command I invoked to create the image:

guix system init --no-bootloader --skip-checks --system=x86_64-linux
guix-docker.scm /tmp/guix/docker-image

And here is the system configuration I used:

(use-modules (gnu))
(use-package-modules admin base bash less linux)

(operating-system
  (host-name "guix")
  (timezone "UTC")
  (locale "en_US.utf8")

  (bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/null")))
  (file-systems (cons (file-system
(device (file-system-label "guix-system-dummy"))
(mount-point "/")
(type "ext4"))
  %base-file-systems))

  (packages (append (list bash coreutils-minimal inetutils less procps
which) %base-packages)))

Am I missing something?