While the Guix manual explains auto-login one user to all TTYs (
see auto-login to TTY in GNU Guix Reference Manual), some
might prefer a situation, in which one user is logged into one TTY with
the other TTYs either configured to login different users or no one at
all. Note that one can auto-login one user to any TTY, but it is
usually advisable to avoid
tty1, which, by default, is used to
log warnings and errors.
Here is how one might set up auto login for one user to one tty:
(define (auto-login-to-tty config tty user) (if (string=? tty (mingetty-configuration-tty config)) (mingetty-configuration (inherit config) (auto-login user)) config)) (define %my-services (modify-services %base-services ;; … (mingetty-service-type config => (auto-login-to-tty config "tty3" "alice")))) (operating-system ;; … (services %my-services))
One could also
compose (see Higher-Order Functions in The Guile Reference Manual)
auto-login-to-tty to login multiple
users to multiple ttys.
Finally, here is a note of caution. Setting up auto login to a TTY, means that anyone can turn on your computer and run commands as your regular user. However, if you have an encrypted root partition, and thus already need to enter a passphrase when the system boots, auto-login might be a convenient option.