> The system where I was installing the foreign distro showed a big list > of packages to build. However, after I run the following command, that > list was greatly reduced
Ooops, it seems that I didn't include the command in my previous message. This is the command I was referring to ,---- | guix archive --authorize < key.pub `---- On Fri, 19 May 2023 at 20:55, Rodrigo Morales <[email protected]> wrote: > > With regards to the pending question which I mentioned in my previous > message, I think I have found the answer. > > The system where I was installing the foreign distro showed a big list > of packages to build. However, after I run the following command, that > list was greatly reduced, so I suppose that the following command allows > retrieving built derivations from other systems which makes it > unnecessary to build those derivations again. > > ,---- > | guix archive --authorize < key.pub > `---- > > On Fri, 19 May 2023 at 20:18, Rodrigo Morales > <[email protected]> wrote: > > > > Table of Contents > > _________________ > > > > 1. The solution > > 2. Pending question > > > > > > 1 The solution > > ============== > > > > I managed to do it. I'll share some relevant information for those > > interested. > > > > [This section] in the Info manual helped me do what I was looking > > for. As specified in that part of the manual, I need to edit > > guix-daemon.service. In my system, there were 4 files with that name > > (see code block below) > > > > ,---- > > | rdrg@desktop:~$ locate -r 'guix-daemon.service$' > > | /etc/systemd/system/multi-user.target.wants/guix-daemon.service > > | /run/systemd/units/invocation:guix-daemon.service > > | /usr/lib/systemd/system/guix-daemon.service > > | > > /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service > > `---- > > > > The file `/run/systemd/units/invocation:guix-daemon.service' was a > > broken symbolic link (see code block below), so I knew that I > > shouldn't edit this file. > > > > ,---- > > | rdrg@desktop:~$ file /run/systemd/units/invocation:guix-daemon.service > > | /run/systemd/units/invocation:guix-daemon.service: broken symbolic > > link to 8dbd9f7458e74f979a2b8d214ed47d42 > > `---- > > > > The file > > > > `/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service' > > wsa empty (see code block below), so I knew that I shouldn't edit this > > file. > > > > ,---- > > | rdrg@desktop:~$ file > > /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service > > | > > /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/guix-daemon.service: > > empty > > `---- > > > > The file > > `/etc/systemd/system/multi-user.target.wants/guix-daemon.service' was > > a symbolic link to `/usr/lib/systemd/system/guix-daemon.service' and, > > for that reason, I ended up editing > > `/usr/lib/systemd/system/guix-daemon.service'. I edited the line > > containing `ExecStart' and added the IP address of my system from > > which I wanted to retrieve the packages. > > > > ,---- > > | rdrg@desktop:~$ cat /usr/lib/systemd/system/guix-daemon.service > > | # This is a "service unit file" for the systemd init system to launch > > | # 'guix-daemon'. Drop it in /etc/systemd/system or similar to have > > | # 'guix-daemon' automatically started. > > | > > | [Unit] > > | Description=Build daemon for GNU Guix > > | > > | [Service] > > | ExecStart=/usr/bin/guix-daemon --build-users-group=_guixbuild > > --substitute-urls='http://192.168.1.39:8080 https://ci.guix.gnu.org > > https://bordeaux.guix.gnu.org' > > | Environment=LC_ALL=C.UTF-8 > > | StandardOutput=syslog > > | StandardError=syslog > > | > > | # Work around a nasty systemd ‘feature’ that kills the entire process > > tree > > | # (including the daemon!) if any child, such as cc1plus, runs out of > > memory. > > | OOMPolicy=continue > > | > > | # Despite the name, this is rate-limited: a broken daemon will > > eventually fail. > > | Restart=always > > | > > | # See > > <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00608.html>. > > | # Some package builds (for example, [email protected]) may require even more than > > | # 1024 tasks. > > | TasksMax=8192 > > | > > | [Install] > > | WantedBy=multi-user.target > > `---- > > > > Finally, I executed the following two commands. > > > > ,---- > > | systemctl daemon-reload > > | systemctl restart guix-daemon.service > > `---- > > > > When I executed `guix home', the packages were retrieved from my other > > system (see line below `substitute: updating substitutes from > > 'http://192.168.1.39:8080'... 100.0%'). > > > > ,---- > > | rdrg@desktop:~$ guix home -L ~/guix-packages reconfigure > > ~/guix-config/home-configuration.scm > > | hint: Consider installing the `glibc-locales' package and defining > > `GUIX_LOCPATH', along these lines: > > | > > | guix install glibc-locales > > | export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" > > | > > | See the "Application Setup" section in the manual, for more info. > > | > > | guix home: warning: cannot determine provenance for current system > > | substitute: updating substitutes from 'http://192.168.1.39:8080'... > > 100.0% > > | substitute: updating substitutes from 'https://ci.guix.gnu.org'... > > 100.0% > > | substitute: updating substitutes from > > 'https://bordeaux.guix.gnu.org'... 100.0% > > | The following derivations will be built: > > | /gnu/store/kdlm30fl3cv6r0ww2njm0d7w8cipjpyj-home.drv > > | /gnu/store/76835anafmiz8ngx2aqwynps72m0wmgd-setup-environment.drv > > | (... some omitted lines ...) > > `---- > > > > > > [This section] > > <https://guix.gnu.org/manual/en/html_node/Getting-Substitutes-from-Other-Servers.html> > > > > > > 2 Pending question > > ================== > > > > I was able to download packages from my other system without having > > to perform the following step which is mentioned in [the > > aforementioned part of the manual]. > > > > ,---- > > | guix archive --authorize < key.pub > > `---- > > > > I wonder whether this command is relevant in this context or not. Any > > information is appreciated. > > > > > > [the aforementioned part of the manual] > > <https://guix.gnu.org/manual/en/html_node/Getting-Substitutes-from-Other-Servers.html>
