Subject: `guix system vm-image` does not produce image with btrfs

From: Jack Hill <[email-masked]>
Date: Fri, 10 Jul 2020 16:33:56 -0400 (EDT)

Hi Guix,

I'm using guix from commit: ec4c404c0575b340a04b3922fb828ac5417832dd

I want to create a vm-image with a btrfs filesystem. Following the manual 
for Invoking guix system 
<https://guix.gnu.org/manual/en/html_node/Invoking-guix-system.html>, I 
ran:

`guix system vm-image --image-size=120GB -t btrfs vm-config.scm`

with the operating system config below.

It produced a working vm image. However, the root file system was ext4.

Is this supposed to work, or did I misunderstand the documentation?

In an ideal world, I hope that this would work, but if we don't support it 
yet, I think that we should clarify the documentation, and make guix 
system vm-image error when passed a file system type it doesn't support.

Best,
Jack

(use-modules (gnu) (guix))
(use-service-modules networking ssh)
(use-package-modules bootloaders certs
                      package-management)

(operating-system
  (host-name "guix")
  (timezone "America/New_York")
  (locale "en_US.utf8")
  (initrd-modules (cons "virtio_scsi" %base-initrd-modules))

  ;; Label for the GRUB boot menu.
  (label (string-append "GNU Guix " (package-version guix)))

  (firmware '())

  ;; Below we assume /dev/vda is the VM's hard disk.
  ;; Adjust as needed.
  (bootloader (bootloader-configuration
               (bootloader grub-bootloader)
               (target "/dev/vda")
               (terminal-outputs '(console))))
  (file-systems (cons (file-system
                       (mount-point "/")
                       (device "/dev/vda1")
                       (type "btrfs")
 		      (flags '(no-atime))
 		      (options "compress=zstd"))
                      %base-file-systems))

  (users (cons (user-account
                 (name "jackhill")
                 (comment "Jack Hill")
                 (group "users")
                 (supplementary-groups '("wheel" "netdev"
                %base-user-accounts))

  ;; password-less sudo.
  (sudoers-file (plain-file "sudoers" "\
root ALL=(ALL) ALL
%wheel ALL=NOPASSWD: ALL\n"))

  (packages (append (list nss-certs)
                    %base-packages))

  (services
   (append (list (service openssh-service-type
 			 (openssh-configuration
 			  (password-authentication? #f)
 			  (authorized-keys
 			   `(("jackhill" ,(local-file
 					   "/home/jackhill/.ssh/id_ed25519.pub"))))))

                 ;; Use the DHCP client service rather than NetworkManager.
                 (service dhcp-client-service-type))
 	  %base-services)))