gnu: services: base: Set a home directory for the "greeter" user.

Fix a problem that caused an "unable to set working directory: no such file
or directory (os error 2)" error before every login prompt.
The reason for this is that greetd starts agreety as the "greeter" user.
The working directory for the newly created process is, by default,
"/home/greeter", which does not exist (per our instructions).

* gnu/services/base.scm (greetd-accounts)[home-directory]: Set to /var/empty
[shell]: Set to /sbin/nologin.

Change-Id: I6d971968e8b6a7825c261d4695caf0dd70127e5d
Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
This commit is contained in:
Quentin Vincent 2025-06-15 07:36:52 +02:00 committed by Danny Milosavljevic
parent 035bacebc2
commit e417692c4b
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -4015,6 +4015,8 @@ to handle."
(group "greeter") (group "greeter")
(supplementary-groups (greetd-greeter-supplementary-groups config)) (supplementary-groups (greetd-greeter-supplementary-groups config))
(system? #t) (system? #t)
(home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))
(create-home-directory? #f)))) (create-home-directory? #f))))
(define (make-greetd-pam-mount-conf-file config) (define (make-greetd-pam-mount-conf-file config)