Subject: Skeleton files in sub-directories are not writable

From: Reza Alizadeh Majd <[email-masked]>
Date: Thu, 5 Nov 2020 14:14:37 +0330

Hi Guix,

trying to add a new skeleton file in a sub-directory in newly created
users home, skeleton files add in read-only mode.

since there shouldn't be any difference between adding a skeleton file
in user home directory, or in a sub-directory under user's home, I
assume this might be a bug related to skeleton file creation.

following configuration could be used to reproduce this issue:

--8<---------------cut here---------------start------------->8---
(use-modules (gnu))

(define (test-skeletons)
  (append
   `(("test" ,(computed-file
               "test"
               (with-imported-modules '((guix build utils))
                                      #~(begin
                                          (use-modules (guix build utils))
                                          (mkdir-p #$output)))))
     ("foo" ,(plain-file "foo" "foo is writable"))
     ("test/bar" ,(plain-file "bar" "bar is read-only")))
   (default-skeletons)))

(operating-system
  (host-name "guix.test")
  (timezone "Asia/Tehran")
  (locale "en_US.utf8")

  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (target "/dev/sda")))
  (file-systems (cons (file-system
                        (device (file-system-label "my-root"))
                        (mount-point "/")
                        (type "ext4"))
                      %base-file-systems))

  (skeletons (test-skeletons)))

--8<---------------cut here---------------end--------------->8---

generated skeleton files status:

--8<---------------cut here---------------start------------->8---
root@guix ~# ll
total 4
-rw-r--r-- 1 root root 15 Nov  5 14:05 foo
-rw-r--r-- 2 root root 15 Nov  5 14:05 test/

root@guix ~# ll
-r--r--r-- 1 root root 15 Nov  5 14:05 bar
--8<---------------cut here---------------end--------------->8---

Regards,
Reza

-- 
Reza Alizadeh Majd
PantherX Team
https://www.pantherx.org/