Hello Guix, I've spotted a bug in CUPS service “Can't create temporary file”. If I gave ‘765’ permissions to ‘/var/spool/cups/tmp/’ directory then an error is “stopped "Filter failed"”. ‘777’ for /var/spool/cups/tmp/ is required to print a test page via CUPS WEB interface. I read gnu/services/cups.scm and found that the /var/spool/cups/ directory should be owned by ‘lp’ user: --8<---------------cut here---------------start------------->8--- (define %cups-activation ;; Activation gexp. (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils)) (define (mkdir-p/perms directory owner perms) (mkdir-p directory) (chown "/var/run/cups" (passwd:uid owner) (passwd:gid owner)) ;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (chmod directory perms)) ;; … (let ((user (getpwnam "lp"))) ;; … (mkdir-p/perms "/var/spool/cups/tmp" user #o755) ; <---------- ;; … )))) --8<---------------cut here---------------end--------------->8--- Maybe we should make /var/spool/cups/tmp directory owned by ‘lp’ user, too? WDYT? Test page was printed successfully with: --8<---------------cut here---------------start------------->8--- $ sudo ls -ld /var/spool/cups/tmp drwxr-xr-x 2 lp lp 4096 Oct 20 21:20 /var/spool/cups/tmp --8<---------------cut here---------------end--------------->8--- From cups-files.conf(5) man page: TempDir directory Specifies the directory where short-term temporary files are stored. The default is "/var/spool/cups/tmp". User username Specifies the user name or ID that is used when running external programs. The default is "lp". Oleg.