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