I have put together a reproducer in a VM: 1. Install Guix system using 1.4.0 installer --> Include sshd, openbox
2. Reboot 3. Copy the /run/current-system/configuration.scm out of the VM 4. Adjust the configuration.scm (full file attached) 4.1 Allow NOPASSWD sudo (sudoers-file (plain-file "sudoers" (string-append (plain-file-content %sudoers-specification) (format #f "x ALL = NOPASSWD: ALL~%")))) 4.2 Use %base-services, delete set-xorg-configuration service 4.3 Add dhcp-client-service-type service. 4.4 Authorize your key (simple-service 'extra-authorized-keys guix-service-type (guix-extension (authorized-keys (list (local-file "/etc/guix/signing-key.pub"))))) 5. Manually tweak /etc/sudoers to support NOPASSWD for user x 6. Create machine configuration (full file attached) 7. Guix deploy the machine using b99df83c591104655a6b387817d8f7bb3c50204c 8. Reboot 9. Guix deploy the machine using 1afbf48b250f667ce45de40a6c275e3e42ade67c --> See the following error: --8<---------------cut here---------------start------------->8--- building path(s) `/gnu/store/zdknxv3knkkxx52nwfbz120p32z4j2aa-upgrade-shepherd-services.scm' building path(s) `/gnu/store/x7bzglpc0vvr5ak24k3i33ikq5ph8sfx-remote-exp.scm' guix deploy: warning: an error occurred while upgrading services on 'localhost': %exception #<inferior-object #<&service-not-found-error service: system-log>> --8<---------------cut here---------------end--------------->8--- A. Reboot --> The system does not come up (I gave it ~10 minutes).
;; This is an operating system configuration generated ;; by the graphical installer. ;; ;; Once installation is complete, you can learn and modify ;; this file to tweak the system configuration, and pass it ;; to the 'guix system reconfigure' command to effect your ;; changes. ;; Indicate which modules to import to access the variables ;; used in this configuration. (use-modules (gnu)) (use-service-modules cups desktop networking ssh xorg) (operating-system (locale "en_US.utf8") (timezone "Europe/Prague") (keyboard-layout (keyboard-layout "us")) (host-name "x") ;; The list of user accounts ('root' is implicit). (users (cons* (user-account (name "x") (comment "X") (group "users") (home-directory "/home/x") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) ;; Packages installed system-wide. Users can also install packages ;; under their own account: use 'guix search KEYWORD' to search ;; for packages and 'guix install PACKAGE' to install a package. (packages (append (list (specification->package "openbox") (specification->package "nss-certs")) %base-packages)) (sudoers-file (plain-file "sudoers" (string-append (plain-file-content %sudoers-specification) (format #f "x ALL = NOPASSWD: ALL~%")))) ;; Below is the list of system services. To search for available ;; services, run 'guix system search KEYWORD' in a terminal. (services (append (list (service dhcp-client-service-type) ;; To configure OpenSSH, pass an 'openssh-configuration' ;; record as a second argument to 'service' below. (service openssh-service-type) (simple-service 'extra-authorized-keys guix-service-type (guix-extension (authorized-keys (list (local-file "/etc/guix/signing-key.pub")))))) ;; This is the default list of services we ;; are appending to. %base-services)) (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (targets (list "/boot/efi")) (keyboard-layout keyboard-layout))) (swap-devices (list (swap-space (target (uuid "aa8dee07-5bf4-4ad2-8db7-8ee6139d6fc5"))))) ;; The list of file systems that get "mounted". The unique ;; file system identifiers there ("UUIDs") can be obtained ;; by running 'blkid' in a terminal. (file-systems (cons* (file-system (mount-point "/boot/efi") (device (uuid "79EB-4D57" 'fat32)) (type "vfat")) (file-system (mount-point "/") (device (uuid "11d0a98d-7200-4a9b-ae0a-0cb4db3e808d" 'ext4)) (type "ext4")) %base-file-systems)))
(use-modules (gnu)) (use-service-modules networking ssh) (use-package-modules bootloaders) (list (machine (operating-system (primitive-load "config.scm")) (environment managed-host-environment-type) (configuration (machine-ssh-configuration (build-locally? #f) (host-name "localhost") (system "x86_64-linux") (user "x") (port 8888)))))
signature.asc
Description: PGP signature