accounts: Always honor the configured user account shell.

Starting from commit 0ae735bcc8, Guix
System would preserve the user shell across reconfigure and reboot.
This was done so as to allow for the use of 'chsh'.

This proved to be a misguided decision.  This commit goes back to
considering user shells as config and not "state."

* gnu/build/accounts.scm (allocate-passwd): Do not use shell from
PREVIOUS.
This commit is contained in:
Ludovic Courtès 2019-04-26 10:19:56 +02:00
parent 9ca5ff882e
commit 504a0fc636
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -483,9 +483,12 @@ (define (group-id name)
(real-name (if previous
(password-entry-real-name previous)
real-name))
(shell (if previous
(password-entry-shell previous)
shell)))
;; Do not reuse the shell of PREVIOUS since (1)
;; that could lead to confusion, and (2) the
;; shell might have been GC'd. See
;; <https://lists.gnu.org/archive/html/guix-devel/2019-04/msg00478.html>.
(shell shell))
result)
allocation))))
'()