doc: Give an example showing how to add an account in the childhurd.
* doc/guix.texi (Virtualization Services): Give an example showing how to add an account.
This commit is contained in:
parent
c3a19cc2ac
commit
990d20d4a8
1 changed files with 51 additions and 0 deletions
|
@ -35731,6 +35731,57 @@ initialize ``secrets'' inside the VM: SSH host keys, authorized
|
||||||
substitute keys, and so on---see the explanation of @code{secret-root}
|
substitute keys, and so on---see the explanation of @code{secret-root}
|
||||||
below.
|
below.
|
||||||
|
|
||||||
|
You will probably find it useful to create an account for you in the
|
||||||
|
GNU/Hurd virtual machine and to authorize logins with your SSH key. To
|
||||||
|
do that, you can define the GNU/Hurd system in the usual way
|
||||||
|
(@pxref{Using the Configuration System}), and then pass that operating
|
||||||
|
system as the @code{os} field of @code{hurd-vm-configuration}, as in
|
||||||
|
this example:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(define childhurd-os
|
||||||
|
;; Definition of my GNU/Hurd system, derived from the default one.
|
||||||
|
(operating-system
|
||||||
|
(inherit %hurd-vm-operating-system)
|
||||||
|
|
||||||
|
;; Add a user account.
|
||||||
|
(users (cons (user-account
|
||||||
|
(name "charlie")
|
||||||
|
(comment "This is me!")
|
||||||
|
(group "users")
|
||||||
|
(supplementary-groups '("wheel"))) ;for 'sudo'
|
||||||
|
%base-user-accounts))
|
||||||
|
|
||||||
|
(services
|
||||||
|
;; Modify the SSH configuration to allow login as "root"
|
||||||
|
;; and as "charlie" using public key authentication.
|
||||||
|
(modify-services (operating-system-user-services
|
||||||
|
%hurd-vm-operating-system)
|
||||||
|
(openssh-service-type
|
||||||
|
config => (openssh-configuration
|
||||||
|
(inherit config)
|
||||||
|
(authorized-keys
|
||||||
|
`(("root"
|
||||||
|
,(local-file
|
||||||
|
"/home/charlie/.ssh/id_rsa.pub"))
|
||||||
|
("charlie"
|
||||||
|
,(local-file
|
||||||
|
"/home/charlie/.ssh/id_rsa.pub"))))))))))
|
||||||
|
|
||||||
|
(operating-system
|
||||||
|
;; @dots{}
|
||||||
|
(services
|
||||||
|
;; Add the 'hurd-vm' service, configured to use the
|
||||||
|
;; operating system configuration above.
|
||||||
|
(append (list (service hurd-vm-service-type
|
||||||
|
(hurd-vm-configuration
|
||||||
|
(os %childhurd-os))))
|
||||||
|
%base-services)))
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
That's it! The remainder of this section provides the reference of the
|
||||||
|
service configuration.
|
||||||
|
|
||||||
@defvar hurd-vm-service-type
|
@defvar hurd-vm-service-type
|
||||||
This is the type of the Hurd in a Virtual Machine service. Its value
|
This is the type of the Hurd in a Virtual Machine service. Its value
|
||||||
must be a @code{hurd-vm-configuration} object, which specifies the
|
must be a @code{hurd-vm-configuration} object, which specifies the
|
||||||
|
|
Reference in a new issue