Subject: Editing pulseaudio config file fails with "No such file or directory"
From: Nathan Dehnel <[email-masked]>
To: [email-masked]
Date: Mon, 29 Jun 2020 02:34:46 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Relevant snippet:
(define %my-services
  ;; My very own list of services.
  (modify-services %desktop-services
    (pulseaudio-service-type config =>
                       (pulseaudio-configuration
                        (inherit config)
                        (script-file
"/home/nathan/.config/pulse/default.pa")))))

/home/nathan/guix/config.scm:
;; This is an operating system configuration generated
;; by the graphical installer.

(use-modules (gnu))
(use-service-modules desktop networking ssh xorg)
;; Import nonfree linux module.
(use-modules (nongnu packages linux)
     (nongnu system linux-initrd))
(use-modules (gnu services sound))
(use-modules (gnu packages pulseaudio))

(define %my-services
  ;; My very own list of services.
  (modify-services %desktop-services
    (pulseaudio-service-type config =>
                       (pulseaudio-configuration
                        (inherit config)
                        (script-file
"/home/nathan/.config/pulse/default.pa")))))

(operating-system
  (kernel linux)
  (initrd microcode-initrd)
  (firmware (list linux-firmware))
  (locale "en_US.utf8")
  (timezone "America/Chicago")
  (keyboard-layout
    (keyboard-layout "us" "altgr-intl"))
  (bootloader
    (bootloader-configuration
      (bootloader grub-efi-bootloader)
      (target "/boot/efi")
      (keyboard-layout keyboard-layout)))
  (mapped-devices
    (list (mapped-device
            (source
              (uuid "d9ca0501-1dd4-4085-905a-9f0aa1bbd5a1"))
            (target "cryptroot")
            (type luks-device-mapping))))
  (file-systems
    (cons* (file-system
             (mount-point "/boot/efi")
             (device (uuid "EB48-BC12" 'fat32))
             (type "vfat"))
           (file-system
             (mount-point "/")
             (device "/dev/mapper/cryptroot")
             (type "btrfs")
             (dependencies mapped-devices))
           (file-system
             (mount-point "/media/store")
             (device "gentooserver:/")
             (type "nfs4")
             (mount? #f)
             (create-mount-point? #t)
             (options "rw,_netdev,noauto,user,lazytime,exec,tcp"))
           %base-file-systems))
  (host-name "guixlaptop")
  (users (cons* (user-account
                  (name "nathan")
                  (comment "Nathan Dehnel")
                  (group "users")
                  (home-directory "/home/nathan")
                  (supplementary-groups
                    '("wheel" "netdev" "audio" "video" "kvm")))
                %base-user-accounts))
  (packages
    (append
      (list (specification->package "openbox")
            (specification->package "nss-certs"))
      %base-packages))
  (services
    (append
      (list (service gnome-desktop-service-type)
            (service xfce-desktop-service-type)
            (service tor-service-type)
            (pam-limits-service
                (list
                    (pam-limits-entry "@audio" 'both 'rtprio 99)
                    (pam-limits-entry "@audio" 'both 'memlock 'unlimited)
                    (pam-limits-entry "@realtime" 'both 'rtprio 99)
                    (pam-limits-entry "@realtime" 'both 'memlock 'unlimited)))
"/home/nathan/.config/pulse/default.pa"))))
            (set-xorg-configuration
              (xorg-configuration
                (keyboard-layout keyboard-layout))))
      %my-services)))

Relevant manual page:
https://guix.gnu.org/manual/en/html_node/Sound-Services.html

Command:
bash-5.0$ sudo guix system reconfigure '/home/nathan/guix/config.scm'
Password:
guix system: warning: Your Guix installation is 26 days old.
guix system: warning: Consider running 'guix pull' followed by
'guix system reconfigure' to get up-to-date packages and security updates.

The following derivations will be built:
   /gnu/store/acq4drfdn27m7ii7bcmzkpixfg9ilzcz-system.drv
   /gnu/store/86p3i23a8pydllh30wwlg20nh5js52m7-boot.drv
   /gnu/store/dpkf322d0j98lcwy1ily0d763684ypla-activate.scm.drv
   /gnu/store/76z6jjyahkivnb0423cpvj6asv7yr4gg-activate-service.scm.drv
   /gnu/store/j0ma4b6j8ah123sf7pk97c9axh461s1c-etc.drv
   /gnu/store/3ybxvw8rmn4q7r2zlcrv28qimmk1619v-pulse.drv
   /gnu/store/715xzqa8cg29p498bsf4c1k27mlpjd4k-grub.cfg.drv
building /gnu/store/3ybxvw8rmn4q7r2zlcrv28qimmk1619v-pulse.drv...
\builder for `/gnu/store/3ybxvw8rmn4q7r2zlcrv28qimmk1619v-pulse.drv'
failed with exit code 1
build of /gnu/store/3ybxvw8rmn4q7r2zlcrv28qimmk1619v-pulse.drv failed
View build log at
'/var/log/guix/drvs/3y/bxvw8rmn4q7r2zlcrv28qimmk1619v-pulse.drv.bz2'.
cannot build derivation
`/gnu/store/j0ma4b6j8ah123sf7pk97c9axh461s1c-etc.drv': 1 dependencies
couldn't be built
cannot build derivation
`/gnu/store/acq4drfdn27m7ii7bcmzkpixfg9ilzcz-system.drv': 1
dependencies couldn't be built
guix system: error: build of
`/gnu/store/acq4drfdn27m7ii7bcmzkpixfg9ilzcz-system.drv' failed

Log:
bash-5.0$ bzip2 -dkc
/var/log/guix/drvs/3y/bxvw8rmn4q7r2zlcrv28qimmk1619v-pulse.drv.bz2
Backtrace:
           2 (primitive-load "/gnu/store/sr5criapbpr4xk168wk3daxd0w4?")
In ice-9/eval.scm:
    619:8  1 (_ #f)
In unknown file:
           0 (stat "/home/nathan/.config/pulse/default.pa" #<undefin?>)

ERROR: In procedure stat:
In procedure stat: No such file or directory:
"/home/nathan/.config/pulse/default.pa"

FIle:
bash-5.0$ ls -l /home/nathan/.config/pulse/default.pa
-rw-r--r-- 1 nathan users 4811 Jun 26 00:15
/home/nathan/.config/pulse/default.pa