Fail to do home configuration of the root user: Git error repository path is not owned by user

I’m trying to set up my root user’s home configuration because I prefer having my shell aliases for my root user too. I used the default generated guix-home-config.scm file just to be sure I did not make some coding error in there.

Yet, it still won’t work.

# guix home reconfigure ./guix-home-config.scm 
...
guix/ui.scm:1033:18: Git error: repository path '/home/folaht/.cache/guix/checkouts/7x37p6bub2newlthjx5kk2mco2aq44vxbqp5gwa3sifqxzfb3aqq' is not owned by current user

/root/guix-home-config.scm

;; This is a sample Guix Home configuration which can help setup your
;; home directory in the same declarative manner as Guix System.
;; For more information, see the Home Configuration section of the manual.
(define-module (guix-home-config)
  #:use-module (gnu home)
  #:use-module (gnu home services)
  #:use-module (gnu home services shells)
  #:use-module (gnu services)
  #:use-module (gnu system shadow))

(define home-config
  (home-environment
    (services
      (append
        (list
          ;; Uncomment the shell you wish to use for your user:
          ;(service home-bash-service-type)
          ;(service home-fish-service-type)
          ;(service home-zsh-service-type)

          (service home-files-service-type
           `((".guile" ,%default-dotguile)
             (".Xdefaults" ,%default-xdefaults)))

          (service home-xdg-configuration-files-service-type
           `(("gdb/gdbinit" ,%default-gdbinit)
             ("nano/nanorc" ,%default-nanorc))))

        %base-home-services))))

From this line, it seems like the guix home process is trying to use a cached checkout of the guix repository which is located in a directory owned by fohlat instead of root. I’m not sure what the official guidance for a multi-user use case of guix is here. My best guess (granted, I haven’t looked at the documentation, and don’t really have time at the moment) is that each user keeps their own copy of the guix repo and each one must be independently updated through a guix pull executed by that user.

If it is for root, you may need log in as root, and use the environment of root.

That works, although when I try to login as root, I get:

Via GDM

Unable to contact server configuration.
Unable to connect: File or directory not found

Via terminal:

This is the GNU system. Welcome!
Login: 
Password:
This is the GNU operating system, Welcome!

shepherd: error: shepherd instance already listening on `/var/run/shepherd/socket`.
# guix home -L ~/.dotfiles reconfigure ~/.dotfiles/config/home/root/my-home-config.scm --allow-downgrade
...
shepherd: error: shepherd instance already listening on `/var/run/shepherd/socket`.
...

Despite that, it worked?
I guess I’ll put this one down as solved.