[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Guix Deploy Hacking

From: Kurt I
Subject: Guix Deploy Hacking
Date: Mon, 12 Oct 2020 20:08:44 -0600
User-agent: Evolution 3.34.2


I am attempting to use "Guix Deploy" as a replacement for Norton
Ghost/SCCM, imaging type software.

There are 2 tasks I'm working on:

1) Using deploy to update a machine
        - I don't understand the point of pushing packages to a system
that disappear if you do a "guix system reconfigure" on that machine.

To deal with this I have this code in my deploy file:

;; This will locate where the system config file is
(define this-file
  (local-file (basename (assoc-ref (current-source-location) 'filename)

;; This replaces or creates a new system config file
        (simple-service 'config-file etc-service-type
                `(("lr.scm" ,this-file)))

Perhaps an argument to "Guix Deploy" to optionally save the file you
are pushing on the remote machine could be added?

2) I am trying to deploy a machine that is running the guix installer
in cli mode off the USB key. I have done the following steps:

1) ifconfig <interface> up
2) passwd root <passwd>
3) guix install guile-ssh
4) herd start ssh-daemon
5) I then have a script I run on the target machine:

umount -a
parted /dev/sda set 1 esp on
mkfs.fat -F32 -n GUIX-BOOT /dev/sda1
mkswap --label=guix-swap /dev/sda2
swapon LABEL=guix-swap
mkfs.ext4 -L guix-root /dev/sda3 

mount --label=guix-root /mnt
mkdir -p /mnt/etc
mkdir -p /mnt/etc/guix/
mkdir -p /mnt/boot/efi
mount --label=GUIX-BOOT /mnt/boot/efi

sudo guix archive --authorize <
mkdir -p ~/.ssh/
cat > ~/.ssh/authorized_keys

herd start cow-store /mnt
echo "Ready for deploy!"

6) I then start the deploy process with "Guix Deploy" and it works for
some of the process:

guix deploy: deploying to lr...
guix deploy: sending 9 store items (5 MiB) to ''...
guix deploy: sending 805 store items (4,269 MiB) to ''...

once it's done the big file transfer, I run into this:

guix deploy: error: failed to deploy lr: build daemon handshake failed

Is this an error I can get around or fix? or is "Guix Deploy" not meant
for using on a machine that hasn't done "Guix System Init" yet?

Thank you,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]