You could add the custom channels file as an
=extra-special-file=1 in the =os-configuration=.
It would look something like this:
#+BEGIN_SRC scheme
(define %my-installation-os
(operating-system
(inherit installation-os)
(services
(cons*
(extra-special-file
"/etc/guix/channels.scm"
(local-file "/path/to/my/channels.scm"))
(operating-system-services installation-os)))))
#+END_SRC
Plus side is you now have a global channels file from which all
you need to do is run =guix pull= to have all your channels up
to
date. You may also want to pin those channels to certain
commits
just in case. Down side is running =guix pull= will start
filling
up your disk or memory on an ISO and you can easily run out of
space. (I would advise not running =guix pull= until after
partitioning and setting up the target system), and this file
will
be added to the store (but if you're creating a channels file
in
=/etc= shouldn't matter honestly).
phodina via help-guix@gnu.org writes:
> Hello,
>
> I'm migrating to a newer machine and I'm taking my GuixSD
>
> configuration with me.
>
> So the first logical step I did was to create an ISO image
> based
>
> on this section 1. As I use my custom channel with modified
>
> packages I added them to the configuration to make them
>
> available on the new machine.
>
> Or so I thought. I booted and partitioned the new machine
> then
>
> ran
>
> guix system init /root/configurations.scm /mnt to install
> Guix
>
> there.
>
> However, after reboot turns out that the packages are not
> from
>
> my channel but from public Guix repository without
>
> modifications.
>
> Therefore my question is if it's possible to specify also
>
> channels in the configuration file so that they are used
> during
>
> installation?
>
> Reading the manual I came to a nice command guix system
> describe
>
> 2 which gives me the current configuration with the
>
> channels. Could that be used to build an ISO which would then
>
> also know about the additional channels?
>
> Kind regards
>
> Petr