guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 4d1966c37526a94e5d5e73fa7f772d9d5edd8bfb
Author: Hilton Chain <[email protected]>
AuthorDate: Thu Feb 5 22:49:10 2026 +0800

    activation: copy-account-skeletons: Make all copied skeletons writable.
    
    Previously, copying skeleton ‘.config/nano/nanorc’ to user home won't make
    ‘~/.config/nano/nanorc’ writable.
    
    * gnu/build/activation.scm (copy-account-skeletons)
    [set-owner]: Make all copied skeleton writable.
    Rename procedure to ‘set-permission’.
    
    Change-Id: I24a2bda42bc5af803857dc090e487b6a040b58be
    Signed-off-by: Hilton Chain <[email protected]>
    Merges: #6149
---
 gnu/build/activation.scm | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index e2d1734367..53844c0990 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -141,12 +141,13 @@ and bits are set according to the default behaviour of 
'mkdir'."
                                  #:key
                                  (directory %skeleton-directory)
                                  uid gid)
-  "Copy the account skeletons from DIRECTORY to HOME.  When UID is an integer,
-make it the owner of all the files created except the home directory; likewise
-for GID."
-  (define (set-owner file)
+  "Copy the account skeletons from DIRECTORY to HOME and make them writable.
+When UID is an integer, make it the owner of all the files created except the
+home directory; likewise for GID."
+  (define (set-permission file)
     (when (or uid gid)
-      (chown file (or uid -1) (or gid -1))))
+      (chown file (or uid -1) (or gid -1)))
+    (make-file-writable file))
 
   (let ((files (scandir directory (negate dot-or-dot-dot?)
                         string<?)))
@@ -156,10 +157,9 @@ for GID."
                   (copy-recursively (string-append directory "/" file)
                                     target
                                     #:log (%make-void-port "w"))
-                  (for-each set-owner
+                  (for-each set-permission
                             (find-files target (const #t)
-                                        #:directories? #t))
-                  (make-file-writable target)))
+                                        #:directories? #t))))
               files)))
 
 (define* (make-skeletons-writable home

Reply via email to