summary refs log tree commit diff
path: root/gnu/installer/final.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-24 21:54:28 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-25 00:45:35 +0200
commit91a7c4998fe4f5a2a63f2ddb4bfeeef81c68b6d7 (patch)
treeb74d2da50fa8cf33a87f9db9be645f593a7e57ec /gnu/installer/final.scm
parent399c31d40a918343c5513c3c4a0351f60ec5797b (diff)
downloadguix-91a7c4998fe4f5a2a63f2ddb4bfeeef81c68b6d7.tar.gz
installer: Ask for the root account password.
Fixes <https://bugs.gnu.org/35399>.

* gnu/installer/newt/user.scm (run-root-password-page): New procedure.
* gnu/installer/user.scm (users->configuration): Filter out the "root"
account.
* gnu/installer/final.scm (create-user-database): Set 'uid' field in
'user-account' form.
Diffstat (limited to 'gnu/installer/final.scm')
-rw-r--r--gnu/installer/final.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm
index 4cf34d0457..bf68a5aa2c 100644
--- a/gnu/installer/final.scm
+++ b/gnu/installer/final.scm
@@ -67,8 +67,12 @@ USERS."
 
   (define users*
     (map (lambda (user)
+           (define root?
+             (string=? "root" (user-name user)))
+
            (sys:user-account (name (user-name user))
                              (group "users")
+                             (uid (if root? 0 #f))
                              (home-directory
                               (user-home-directory user))
                              (password (crypt (user-password user)